#include using namespace std; struct P { int value; int dad; int num; } a[10005]; int Find(int x) { while (a[x].dad != -1) x = a[x].dad; return x; } int main() { // freopen("monkey.in","r",stdin); // freopen("monkey.out","w",stdout); int n, m; cin >> n >> m; for (int i = 1; i <= n; ++i) { a[i].value = i; a[i].dad = -1; a[i].num = 0; } for (int i = 1; i <= m; ++i) { int p, q; cin >> p >> q; p = Find(p); q = Find(q); if (p == q) continue; if (a[p].num > a[q].num) { a[q].dad = p; a[p].num += a[q].num + 1; } else if (a[p].num < a[q].num) { a[p].dad = q; a[q].num += a[p].num + 1; } else { if (p > q) { a[q].num += a[p].num + 1; a[p].dad = q; } else { a[p].num += a[q].num + 1; a[q].dad = p; } } } for (int i = 1; i <= n; ++i) { if (a[i].dad == -1) cout << i; else cout << Find(i); cout << endl; } return 0; }