# include <bits/stdc++.h>
using namespace std;
ifstream fi("oz.in");
ofstream fo("oz.out");
const int nmax =100005;
int s[nmax];
int x[nmax],y[nmax],z[nmax];
int cmmdc(int x,int y)
{
return (!y ? x : cmmdc(y,x%y));
}
int main(void)
{
int n,m;
fi>>n>>m;
for (int i=1;i<=n;++i) s[i]=1;
for (int i=1;i<=m;++i)
{
fi >> x[i] >> y[i] >> z[i];
s[x[i]]=(s[x[i]]*z[i])/cmmdc(s[x[i]],z[i]);
s[y[i]]=(s[y[i]]*z[i])/cmmdc(s[y[i]],z[i]);
}
for (int i=1;i<=m;++i) if (cmmdc(s[x[i]],s[y[i]]) != z[i]) return fo << "-1\n",0;
for (int i=1;i<=n;++i) fo << s[i] << ' ';
return fo << '\n',0;
}