Pagini recente » Cod sursa (job #1943361) | Cod sursa (job #769152) | Cod sursa (job #1505412) | Cod sursa (job #2067119) | Cod sursa (job #2656664)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long n,m,d,ok,q,i;
long long v[10005],nr1[100005],nr2[100005],dd[100005];
long long cmmdc( int a, int b ) {
int r;
while ( b > 0 ) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
fin>>n>>m;
int a,b;
for ( i=1; i <=n; i++ )
v[i] = 1;
for(i=1; i<=m; i++)
{
fin>>nr1[i]>>nr2[i]>>dd[i];
a=nr1[i];
b=nr2[i];
d=dd[i];
q=cmmdc(d,v[a]);
if(v[a]%d) v[a]=1LL*(d*v[a])/q;
q=cmmdc(d,v[b]);
if(v[b]%d) v[b]=1LL*(v[b]*d)/q;
}
for(i=1; i<=n; i++)
{
if(v[i]>2000000000||v[i]<=0)break;
}
if(i>n)
{
for(i=1; i<=m; i++)
{
if(cmmdc(v[nr1[i]],v[nr2[i]])!=dd[i])break;
}
}
else fout<<-1;
if(i>m)
{
for(i=1; i<=n; i++)
fout<<v[i]<< " ";
}
else fout<<-1;
return 0;
}