Pagini recente » Cod sursa (job #1521823) | Cod sursa (job #2606771) | Cod sursa (job #3268893) | Cod sursa (job #2089169) | Cod sursa (job #1789160)
#include <cstdio>
#include <iostream>
#include <queue>
#include <vector>
#include <fstream>
#include <algorithm>
#include <string>
#include <iomanip>
#include <cstring>
#include <map>
#include <iomanip>
#include <unordered_map>
#include <stack>
#include <bitset>
#define MOD 8192
#define pb push_back
#define INF 0x3f3f3f3f
#define ll long long
#define NMAX 100005
#define MMAX 2000000005
using namespace std;
typedef pair<int, int> pii;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long v[NMAX];
int a[NMAX],b[NMAX],d[NMAX];
int main() {
int n,m,i;
long long cmmdc;
fin>>n>>m;
for(i=1;i<=n;++i) v[i]=1;
for(i=1;i<=m;++i) {
fin>>a[i]>>b[i]>>d[i];
cmmdc=__gcd(v[a[i]],v[b[i]]);
if(d[i]%cmmdc != 0) {
fout<<-1;
return 0;
}
else {
cmmdc=d[i]/cmmdc;
v[a[i]]*=cmmdc;
v[b[i]]*=cmmdc;
}
if(v[a[i]]>MMAX || v[b[i]]>MMAX) {
fout<<-1;
return 0;
}
}
for(i=1;i<=m;++i) {
if(__gcd(v[a[i]],v[b[i]]) != d[i]) {
fout<<-1;
return 0;
}
}
for(i=1;i<=n;++i) fout<<v[i]<<' ';
return 0;
}