Pagini recente » Cod sursa (job #1149464) | Cod sursa (job #2432989) | Cod sursa (job #22914) | Cod sursa (job #1656479) | Cod sursa (job #181479)
Cod sursa(job #181479)
program oz;
var i: longint;
n,x,y: int64;
m,d: int64;
a: array[1..100000] of int64;
f: text;
t: 0..1;
function cmmdc(x,y: int64):int64;
begin
if y=0 then cmmdc:=x else
cmmdc:=cmmdc(y, x mod y);
end;
function at(k,h:int64):int64;
begin
if k=1 then at:=h else
if k mod h=0 then at:=k else
at:=k*h div cmmdc(k,h);
end;
begin
t:=1;
assign(f,'oz.in');
reset(f);
readln(f,n,m);
for i:=1 to n do
a[i]:=1;
for i:=1 to m do
begin
readln(f,x,y,d);
if d<>1 then begin
a[x]:=at(a[x],d);
a[y]:=at(a[y],d); end;
if cmmdc(a[x],a[y])=1 then
begin t:=0; break; end;
end;
close(f);
if t=1 then
begin
assign(f,'oz.in');
reset(f);
readln(f,n,m);
for i:=1 to m do
begin
readln(f,x,y,d);
if cmmdc(a[x],a[y])<>d then
begin t:=0; break; end; end;
close(f); end;
assign(f,'oz.out'); rewrite(f);
if t=0 then write(f,-1) else
for i:=1 to n do
write(f,a[i],' ');
close(f);
end.