#include <fstream>
#define DIM 10010
using namespace std;
ifstream fin ("oz.in" );
ofstream fout("oz.out");
int N, M, i, j, K, x, y, z;
int Q, V[DIM], ok;
void SetUp(){
fin >> N >> Q;
for(i = 1; i <= N; i ++)
V[i] = 1;
return;
}
int cmmdc(int a, int b){
while(b != 0){
int c = a % b;
a = b; b = c;
}
return a;
}
void CodeExpert(){
ok = 1;
for(i = 1; i <= Q; i ++){
fin >> x >> y >> z;
if(cmmdc(V[x], V[y]) == 1){
V[x] *= z;
V[y] *= z;
}
else
if(cmmdc(V[x], V[y]) != z){
ok = 0;
break;
}
}
return;
}
void Finish(){
if(ok == 0){
fout << -1;
return;
}
for(i = 1; i <= N; i ++)
fout << V[i] << " ";
return;
}
int main(){
SetUp();
CodeExpert();
Finish();
return 0;
}