Pagini recente » Cod sursa (job #2430178) | Cod sursa (job #1599182) | Cod sursa (job #2666762) | Cod sursa (job #1759911) | Cod sursa (job #2660206)
#include <bits/stdc++.h>
#define DimMax 10001
#define ll long long
#define MMax 100001
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n, m;
ll a[MMax], b[MMax], d[MMax];
long long v[DimMax];
ll CMMDC(ll a, ll b)
{
ll r;
while ( b > 0 )
{
r = a % b;
a = b;
b = r;
}
return a;
}
ll CMMMC(ll a, ll b)
{
return a * b / CMMDC(a, b);
}
void solve(int poz, int d)
{
if ( v[poz] == 0 ) v[poz] = d;
else
v[poz] = CMMMC(v[poz], d);
}
int main()
{
fin>>n>>m;
for(int i = 1;i <= m;i++)
{
fin>>a[i]>>b[i]>>d[i];
solve(a[i], d[i]);
solve(b[i], d[i]);
}
for(int i = 1;i <= m;i++)
{
if(CMMDC(v[a[i]], v[b[i]]) != d[i])
{
fout<<-1;
return 0;
}
}
for(int i = 1;i <= n;i++)
fout<<v[i]<<" ";
return 0;
}