Pagini recente » Cod sursa (job #3128406) | Cod sursa (job #1222573) | Cod sursa (job #2840707) | Cod sursa (job #298250) | Cod sursa (job #165151)
Cod sursa(job #165151)
program oz;
var f,g:text;
v:array[1..10000]of int64;
p1,p2,p3:array[1..100000]of longint;
n,m,a,b,k,i,ok,c3:longint;
ko,x,cx,cv,h,c1,c2:int64;
begin
assign(f,'oz.in');
assign(g,'oz.out');
reset(f);
rewrite(g);
read(f,n,m);
for i:=1 to m do
begin
read(f,p1[i],p2[i],p3[i]);
a:=p1[i];
b:=p2[i];
x:=p3[i];
cx:=x;
if (v[a]=0)then v[a]:=x else
begin
cv:=v[a];
k:=v[a] mod x;
while (k<>0)do
begin
v[a]:=x;
x:=k;
k:=v[a] mod x;
end;
ko:=cv*cx;
h:=ko div x;
v[a]:=h;
end;
x:=cx;
if (v[b]=0)then v[b]:=x else
begin
cv:=v[b];
k:=v[b] mod x;
while (k<>0)do
begin
v[b]:=x;
x:=k;
k:=v[b] mod x;
end;
ko:=cv*cx;
h:=ko div x;
v[b]:=h;
end;
end;
for i:=1 to m do
begin
c1:=v[p1[i]];
c2:=v[p2[i]];
k:=c1 mod c2;
while (k<>0)do
begin
c1:=c2;
c2:=k;
k:=c1 mod c2;
end;
if (c2<>p3[i])then
begin
ok:=1;
break;
end;
end;
if (ok=1)then write(G,'-1')else
for i:=1 to n do write(g,v[i],' ');
close(f);
close(g);
end.