#include <stdio.h>
FILE *fin=fopen("oz.in","r");
FILE *fout=fopen("oz.out","w");
int n,m,i,j,t;
int v[10001],d,r,x,aux;
struct ijd
{
int I;
int J;
int D;
}w[100001];
int cmmdc(int a,int b)
{
if(b==0) return a;
return cmmdc(b,a%b);
}
int main()
{
// fprintf(fout,"%d",cmmdc(32,17));
fscanf(fin,"%d%d",&n,&m);
/*if(m<n/2)
{
fprintf(fout,"-1");
return 0;
}*/
for(t=1;t<=n;t++)
v[t]=1;
for(t=1;t<=m;t++)
{
fscanf(fin,"%d%d%d",&w[t].I,&w[t].J,&w[t].D);
// fprintf(fout,"%d %d %d\n",w[t].I,w[t].J,w[t].D);
v[w[t].I]=(v[w[t].I]*w[t].D)/cmmdc(v[w[t].I],w[t].D);
v[w[t].J]=(v[w[t].J]*w[t].D)/cmmdc(v[w[t].J],w[t].D);
// fprintf(fout,"%d %d\n\n",v[w[t].I],v[w[t].J]);
}
for(t=1;t<=m;t++)
{if(w[t].D != cmmdc(v[w[t].I],v[w[t].J])){fprintf(fout,"-1");return 0;}
// aux=cmmdc(v[w[t].I],v[w[t].J]);
//fprintf(fout,"%d %d au cmmdc %d verificam daca e egal cu %d\n",v[w[t].I],v[w[t].J],aux,w[t].D);
}
for(t=1;t<=n;t++)
fprintf(fout,"%d ",v[t]);
return 0;
}