Pagini recente » Cod sursa (job #2398775) | Cod sursa (job #1798127) | Cod sursa (job #2032727) | Cod sursa (job #1977665) | Cod sursa (job #1413008)
#include <cstdio>
using namespace std;
int i,j,n,m,y[100004],x[100004],d[100004],b,c,r;
long long a[10004];
bool ok;
int main()
{
freopen ("oz.in","r",stdin);
freopen ("oz.out","w",stdout);
scanf ("%d %d", &n, &m);
for (i=1;i<=n;i++)
a[i]=1LL;
for (i=1;i<=m;i++)
{
scanf ("%d %d %d", &x[i], &y[i], &d[i]);
if (a[x[i]]>d[i])
{
b=a[x[i]];
c=d[i];
}
else
{
b=d[i];
c=a[x[i]];
}
r=b%c;
while (r!=0)
{
b=c;
c=r;
r=b%c;
}
a[x[i]]=(1LL)*a[x[i]]*d[i]/c;
if (a[x[i]]>2000000000)
{
ok=true;
break;
}
if (a[y[i]]>d[i])
{
b=a[y[i]];
c=d[i];
}
else
{
b=d[i];
c=a[y[i]];
}
r=b%c;
while (r!=0)
{
b=c;
c=r;
r=b%c;
}
a[y[i]]=(1LL)*a[y[i]]*d[i]/c;
if (a[y[i]]>2000000000)
{
ok=true;
break;
}
}
if (ok==false)
{
for (i=1;i<=m;i++)
{
if (a[x[i]]>a[y[i]])
{
b=a[x[i]];
c=a[y[i]];
}
else
{
b=a[y[i]];
c=a[x[i]];
}
r=b%c;
while (r!=0)
{
b=c;
c=r;
r=b%c;
}
if (c!=d[i])
{
ok=true;
break;
}
}
}
if (ok==true)
printf ("%d", -1);
else
{
for (i=1;i<=n;i++)
printf ("%lld ", a[i]);
}
return 0;
}