Pagini recente » Cod sursa (job #1288435) | Cod sursa (job #3210244) | Rezultatele filtrării | Cod sursa (job #1282291) | Cod sursa (job #237089)
Cod sursa(job #237089)
var v:array[1..100005] of int64;
i,j,n,k:longint;
ok,stop:boolean;
m,d,g,r,dd: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;
for k:=1 to m do
begin
readln(f,i,j,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);
ok:=true;
for i:=1 to n do
if v[i]>2000000000 then
begin
ok:=false;
break;
end;
if stop then
begin
assign(f,'oz.out');rewrite(f);
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.