Cod sursa(job #718737)
#include <fstream>
using namespace std;
int n, m, x[100005], y[100005], d[100005];
long long a[10005];
inline long long cmmdc (long long p, long long q)
{
long long r;
while (q)
{
r = p%q;
p = q;
q = r;
}
return p;
}
inline long long cmmmc(long long p, long long q)
{
return (p*q)/cmmdc(p, q);
}
int main()
{
ifstream f("oz.in");
ofstream g("oz.out");
f>>n>>m;
int i;
for (i=1; i<=n; i++)
a[i] = 1;
for (i=1; i<=m; i++)
{
f>>x[i]>>y[i]>>d[i];
a[x[i]] = cmmmc(a[x[i]], d[i]);
a[y[i]] = cmmmc(a[y[i]], d[i]);
}
for (i=1; i<=m; i++)
if (cmmdc(a[x[i]], a[y[i]]) != d[i])
{
g<<-1<<"\n";
g.close();
return 0;
}
for (i=1; i<=n; i++)
g<<a[i]<<" ";
g<<" ";
g.close();
return 0;
}