#include <cstdio>
#include <fstream>
#define NR 100005
using namespace std;
int n,m,i,A[NR],B[NR],a,b;
long long V[NR],D[NR],d;
long long cmmdc(long long x, long long y) {
long long r;
while(y) {
r=x%y;
x=y;
y=r;
}
return x;
}
long long cmmmc(long long x, long long y) {
long long p=x*y;
p=p/cmmdc(x,y);
return p;
}
int main() {
ofstream g("oz.out");
FILE *f = fopen("oz.in","r");
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++)
V[i]=1;
for(i=1;i<=m;i++) {
fscanf(f,"%d %d %lld", &a,&b,&d);
A[i]=a;B[i]=b;D[i]=d;
V[a] = cmmmc(V[a],d);
V[b] = cmmmc(V[b],d);
}
bool ok=1;
for(i=1;i<=m && ok;i++)
if(cmmdc(V[A[i]],V[B[i]]) != D[i])
ok=0;
if(ok)
for(i=1;i<=n;i++)
g<<V[i]<<" ";
else
g<<"-1\n";
return 0;
}