#include <iostream>
#define IOS ios::sync_with_stdio(0); cin.tie(0);
using namespace std;
int fa[10005], msgSize[10005], val[10005], nowI[10005], n, m, op, a, b;
int find(int now) {
if (fa[now] != now) fa[now] = find(fa[now]);
return fa[now];
}
void merge(int x, int y) {
x = find(x), y = find(y);
for (int i = 1; i <= n; i++) nowI[i] = find(i), msgSize[i] += val[nowI[i]];
for (int i = 1; i <= n; i++) val[nowI[i]] = 0;
fa[x] = y;
}
int main() {
IOS;
cin >> n >> m;
for (int i = 1; i <= n; i++) fa[i] = i;
for (int i = 1; i <= m; i++) {
cin >> op >> a >> b;
if (op == 1) merge(a, b);
else val[find(a)] += b;
}
for (int i = 1; i <= n; i++) printf("%d ", msgSize[i] + val[find(i)]);
return 0;
}