Pagini recente » Cod sursa (job #2043546) | Cod sursa (job #2904029) | Cod sursa (job #1486134) | Cod sursa (job #760645) | Cod sursa (job #187741)
Cod sursa(job #187741)
const inf=2000000001;
var i,j,d : array[0..100010] of longint;
v : array[0..10010] of longint;
f,g : text;
ii,n,m,k,cmmdc : longint;
p : int64;
function euclid(a,b : longint):longint;
var c : longint;
begin
while b<>0 do
begin
c:=a mod b;
a:=b;
b:=c;
end;
euclid:=a;
end;
procedure nu;
begin
writeln(g,'-1');close(g);
halt;
end;
begin
assign(f,'oz.in');reset(f);
assign(g,'oz.out');rewrite(g);
read(f,n,m);
for ii:=1 to m do
read(f,i[ii],j[ii],d[ii]);
for ii:=1 to n do v[ii]:=1;
for k:=1 to m do
begin
p:=v[i[k]]*d[k];
cmmdc:=euclid(v[i[k]],d[k]);
if p div cmmdc<inf then v[i[k]]:=p div cmmdc
else nu;
p:=v[j[k]]*d[k];
cmmdc:=euclid(v[j[k]],d[k]);
if p div cmmdc<inf then v[j[k]]:=p div cmmdc
else nu;
end;
for k:=1 to m do
if d[k]<>euclid(v[i[k]],v[j[k]]) then nu;
for ii:=1 to n do write(g,v[ii],' ');
writeln(g);
close(g);
end.