Pagini recente » Cod sursa (job #872686) | Cod sursa (job #2824458) | Cod sursa (job #2754922) | Cod sursa (job #525166) | Cod sursa (job #3135036)
#include <fstream>
#include <vector>
#define ll long long
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
vector<ll> v[10001];
ll a[10001],st[10001],dr[10001],d[10001];
ll cmmdc(ll a, ll b)
{
while (b)
{
ll r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
int n, k;
cin >> n >> k;
for (int i = 1; i <= k; i++)
{
cin >> st[i] >> dr[i] >> d[i];
v[st[i]].push_back(d[i]);
v[dr[i]].push_back(d[i]);
}
for (int i = 1; i <= n; i++)
{
a[i] = 1;
for (int j = 0; j < v[i].size(); j++)
{
a[i] *= v[i][j];
if (a[i] > 2e9)
{
cout << -1;
return 0;
}
}
}
for (int i = 1; i <= k; i++)
{
if (cmmdc(a[st[i]], a[dr[i]]) != d[i])
{
cout << -1;
return 0;
}
}
for(int i = 1; i <= n; i++)
cout << a[i] << ' ';
}