Pagini recente » Cod sursa (job #1844713) | Cod sursa (job #277636) | Cod sursa (job #2284887) | Cod sursa (job #2372987) | Cod sursa (job #164298)
Cod sursa(job #164298)
#include <cstdio>
#define maxn 100001
int n, m;
long long a[maxn],b[maxn],d[maxn];
long long x[maxn];
inline int gcd(int a, int b)
{
if(!b) return a;
return gcd(b, a%b);
}
void solve()
{
int i,j;
for(i=1;i<=n;++i) x[i]=1;
for(i=1;i<=m;++i)
{
if(x[a[i]]*d[i]>2000000000) { printf("-1\n"); return;}
if(x[b[i]]*d[i]>2000000000) { printf("-1\n"); return ;}
x[a[i]]*=d[i];
x[b[i]]*=d[i];
}
for(i=1;i<=m;++i)
if(gcd(x[a[i]], x[b[i]])!=d[i]) {printf("-1\n"); return;}
for(i=1;i<=n;++i)printf("%lld ", x[i]);
printf("\n");
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d %d\n", &n, &m);
int i;
for(i=1;i<=m;++i)scanf("%lld %lld %lld\n", a+i, b+i, d+i);
solve();
return 0;
}