Pagini recente » Cod sursa (job #2271998) | Cod sursa (job #1068508) | Cod sursa (job #135837) | Cod sursa (job #1012697) | Cod sursa (job #3239592)
#include <fstream>
#define nmax 10001
#define inf 2000000000
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
int n,m,a,b,d;
unsigned long long v[nmax];
bool ok;
unsigned long long cmmdc(int a,int b){
int r;
while(b!=0){
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
cin>>n>>m;
ok=1;
for(int i=1;i<=n;i++)
v[i]=1;
for(int i=1;i<=m&&ok;i++){
cin>>a>>b>>d;
v[a]=1ULL*v[a]*d/cmmdc(v[a],d);
v[b]=1ULL*v[b]*d/cmmdc(v[b],d);
if(v[a]>inf||v[b]>inf||cmmdc(v[a],v[b])!=d)
ok=0;
}
if(!ok){
cout<<-1;
return 0;
}
for(int i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0;
}