#include <bits/stdc++.h>
using namespace std;
const int N = 10010;
int n, m;
int p[N], Max[N];
int find(int x) {
if (x != p[x]) find(p[x]);
return p[x];
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) p[i] = i, Max[i] = i;
for (int i = 0; i < m; i++) {
int a, b;
cin >> a >> b;
p[b] = a;
if (b > a&&Max[a]<b) Max[a] = b;
if (b > find(a)&&Max[find(a)]<b) Max[find(a)] = b;
}
for (int i = 1; i <= n; i++)
cout << Max[i] << " ";
return 0;
}