#include<bits/stdc++.h>
using namespace std;
typedef struct {
int num;
}ar;
int n, m;
ar q[150000];
int findx(int x) {
int flag=0;
int ii = q[x].num;
if( ii !=x)
{
flag = max(flag, findx(q[x].num));
}else
{
flag = x;
return flag;
}
}
void ppr() {
for (int i = 1; i <= n; i++) {
q[i].num = i;
}
}
int main() {
cin >> n >> m;
ppr();
int a,b;
for (int i = 1; i <= m; i++) {
cin >> a;
cin >> b;
q[a].num = max(findx(q[a].num),findx(b) );
}
for (int i = 1; i <= n; i++) {
cout << findx(q[i].num) << " ";
}
return 0;
}