Pagini recente » Cod sursa (job #1613411) | Cod sursa (job #2307423) | Cod sursa (job #3186862) | Cod sursa (job #1195565) | Cod sursa (job #1841096)
#include <fstream>
using namespace std;
ifstream fin ("oz.in");
ofstream fout("oz.out");
long long a, b, i, v[10003], d, n, m, c[100003][4], x;
int cmmdc(int a, int b){
int r;
while(b!=0){
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>a>>b>>d;
c[i][0]=a;
c[i][1]=b;
c[i][2]=d;
if(v[a]==0)
v[a]=d;
else{
v[a]=v[a]*(d/cmmdc(v[a], d));
if(v[a]>2000000000){
fout<<-1;
return 0;
}
}
if(v[b]==0)
v[b]=d;
else{
v[b]=v[b]*(d/cmmdc(v[b], d));
if(v[b]>2000000000){
fout<<-1;
return 0;
}
}
}
for(i=1;i<=m;i++){
a=v[c[i][0]];
b=v[c[i][1]];
x=cmmdc(a, b);
if(x!=c[i][2]){
fout<<-1;
return 0;
}
}
for(i=1;i<=n;i++){
if(v[i]==0)
v[i]=1;
fout<<v[i]<<" ";
}
return 0;
}