#include<iostream>
#include<cstdio>
#include<ctime>
#include<cstdlib>
#include<fstream>
#include<cmath>
#include<algorithm>
#include<queue>
#include<iomanip>
#include<cstring>
#include<stack>
#include<vector>
using namespace std;
int maxl [100010];
int n,m,a[100001];
vector<int> g[100001];
void dfs(int x, int d) {
if(a[x]) return;
a[x] = d;
for(int i=0; i<g[x].size(); i++)
dfs(g[x][i], d);
}
int main() {
int u, v;
cin>>n,m;
for(int i=1; i<=m;i++) {
cin>>u,v;
g[v].push_back(u);
}
for(int i=n; i; i--) dfs(i,i);
for(int i=1;i<=n;i++){
cout<<a[i];
}
cout<<n;
return 0;
}