1 #include<iostream>
2 #include<algorithm>
3 #include<cstring>
4 #include<vector>
5 using namespace std;
6 vector<int> v[100010];
7 bool vis[100010];
8 int maxn;
9 void dfs(int x){
10
11 if(maxn<x)
12 break;
13 else
14 maxn=max(maxn,x);
15 vis[x]=1;
16 for(int i=0;i<v[x].size();i++){
17 if(vis[v[x][i]]==0) dfs(v[x][i]);
18 }
19 }
20 int main()
21 {
22 int n,m;
23 int x,y;
24 cin>>n>>m;
25 for(int i=1;i<=m;i++)
26 {
27 cin>>x>>y;
28 v[x].push_back(y);
29 }
30 for(int i=1;i<=n;i++)
31 {
32 memset(vis,0,sizeof(vis));
33 maxn=i;
34 dfs(i);
35 cout<<maxn<<' ';
36 }
37 }