Pagini recente » Cod sursa (job #1839910) | Cod sursa (job #3007938) | Cod sursa (job #287808) | Cod sursa (job #2347611) | Cod sursa (job #237106)
Cod sursa(job #237106)
var v,vj,vi,vd:array[1..100005] of int64;
i,j,n,k:longint;
ok,stop:boolean;
m,d,g,r,dd,a,b:int64;
f:text;
begin
assign(f,'oz.in');reset(f);
readln(f,n,m);
for i:=1 to n do v[i]:=1;
stop:=true;
ok:=true;
for k:=1 to m do
begin
readln(f,i,j,d);
vi[i]:=i; vj[i]:=j; vd[i]:=d;
dd:=d;
g:=v[i];
repeat
r:=g mod d;
g:=d;
d:=r;
until d=0;
v[i]:=v[i]*dd div g;
if v[i]>2000000000 then
begin
stop:=false;
break;
end;
g:=v[j];
d:=dd;
repeat
r:=g mod d;
g:=d;
d:=r;
until d=0;
v[j]:=v[j]*dd div g;
if v[j]>2000000000 then
begin
stop:=false;
break;
end;
end;
close(f);
for i:=1 to m do
begin
a:=v[vi[i]]; b:=v[vj[j]];
repeat
r:=a mod b;
a:=b;
b:=r;
until b=0;
if r<>vd[i] then
begin
ok:=false;
break;
end;
assign(f,'oz.out');rewrite(f);
if stop then
begin
if ok then
begin
for i:=1 to n do write(f,v[i],' ');
writeln(f);
end
else writeln(f,'-1');
end
else writeln(f,-1);
close(f);
end.