Pagini recente » Cod sursa (job #1056404) | Cod sursa (job #2901122) | Cod sursa (job #2665439) | Cod sursa (job #1075495) | Cod sursa (job #163773)
Cod sursa(job #163773)
var f1,f2:text;
i,n,m,x,y:longint;
d,lim:int64;
ok:boolean;
v:array[0..10010] of int64;
function cmmdc(a,b:int64):int64;
var c:longint;
begin
while b>0 do
begin
c:=a mod b;
a:=b;
b:=c;
end;
cmmdc:=a;
end;
begin
assign(f1,'oz.in');
reset(f1);
assign(f2,'oz.out');
rewrite(f2);
read(f1,n,m);
ok:=true;
lim:=2000000000;
for i:=1 to n do
v[i]:=1;
for i:=1 to m do
begin
read(f1,x,y,d);
v[x]:=v[x]*(d div cmmdc(v[x],d));
v[y]:=v[y]*(d div cmmdc(v[y],d));
if (v[x]>lim)or(v[y]>lim) then
begin
ok:=false;
break;
end;
end;
if ok=false then
begin
writeln(f2,-1);
close(f1);
close(f2);
halt;
end;
close(f1);
assign(f1,'oz.in');
reset(f1);
read(f1,n,m);
for i:=1 to m do
begin
read(f1,x,y,d);
if cmmdc(v[x],v[y])<>d then
ok:=false;
end;
if ok=false then
begin
writeln(f2,-1);
close(f1);
close(f2);
halt;
end;
for i:=1 to n-1 do
write(f2,v[i],' ');
writeln(f2,v[n]);
close(f1);
close(f2);
end.