#include <iostream>
using namespace std ;
bool a[1001][1001] , flag[1001] ;
int n , m , x , y , maxn ;
void dfs ( int s ) {
flag[s] = 1 ;
if ( s > maxn ) maxn = s ;
for ( int i = s ; i <= n ; i ++ ) {
if ( a[s][i] && flag[i] != 1 ) dfs(i) ;
}
}
int main () {
cin >> n >> m ;
for ( int i = 1 ; i <= m ; i ++ ) {
cin >> x >> y ;
a[x][y] = true ;
}
for ( int i = 1 ; i <= n ; i ++ ) {
memset ( flag , 0 , sizeof flag ) ;
maxn = 0 ;
dfs(i) ;
cout << maxn << ' ' ;
}
return 0 ;
}