Pagini recente » Cod sursa (job #2004997) | Cod sursa (job #782606) | Cod sursa (job #351385) | Cod sursa (job #2567549) | Cod sursa (job #163774)
Cod sursa(job #163774)
type op=record
i,j,d:longint;
end;
var a:array[1..10001] of longint;
b:array[1..100001] of op;
f,g,q:text;
k,i,j,d,n,m:longint;
x,y:int64;
ok:boolean;
function cmmdc(x,y:longint):longint;
var r:longint;
begin
while (y<>0) do begin
r:=x mod y;
x:=y;
y:=r;
end;
cmmdc:=x;
end;
begin
assign(f,'oz.in'); reset(f);
assign(g,'oz.out'); rewrite(g);
read(f,n,m);
for i:=1 to n do
a[i]:=1;
ok:=true;
for k:=1 to m do begin
read(f,i,j,d);
b[k].i:=i;
b[k].j:=j;
b[k].d:=d;
x:=cmmdc(a[i],a[j]);
if (d mod x<>0) then begin
ok:=false;
break;
end
else begin
x:=a[i];
x:=x*d;
y:=cmmdc(a[i],d);
x:=x div y;
a[i]:=x;
x:=a[j];
x:=x*d;
y:=cmmdc(a[j],d);
x:=x div y;
a[j]:=x;
end;
end;
close(f);
for k:=1 to m do begin
if cmmdc(a[b[k].i],a[b[k].j])<>b[k].d then
ok:=false;
end;
if ok=false then
writeln(g,-1)
else begin
for i:=1 to n-1 do
write(g,a[i],' ');
writeln(g,a[n]);
end;
close(g);
end.