#include<bits/stdc++.h>
using namespace std;
queue<int> c;
vector<int> a[200002];
int n, m;
int v[200002];
int main() {
scanf("%d %d", &n, &m);
for (int i = 0; i < m; i++) {
int x, y;
scanf("%d %d", &x, &y);
a[x].push_back(y);
}
for (int i = 1; i <= n; i++) {
int s=i;
c.push(i);
memset(v, 0, sizeof(v));
v[i] = 1;
while (!c.empty()) {
int f = c.front();
for (int i = 0; i < a[f].size(); i++) {
if (v[a[f][i]] == 0) {
v[a[f][i]] = 1;
s=max(s,a[f][i]);
c.push(a[f][i]);
}
}
c.pop();
}
printf("%d ",s);
}
return 0;
}