#include<iostream>
#include<cstdio>
#include<vector>
#include<map>
#include<climits>
#include<algorithm>
#include<string>
#include<cstring>
#include<cmath>
#include<set>
#include<stack>
#include<functional>
#include<queue>
using namespace std;

vector<int> e[20];
bool used[20];

void dfs(int n){
    if(used[n]) return;
    used[n] = true;
    for(int i=0;i<e[n].size();i++){
        dfs(e[n][i]);
    }
    printf("%d\n",n+1);
}

int main(){
    int M,N,X,Y;
    cin>>M>>N;
    for(int i=0;i<N;i++){
        cin>>X>>Y; X--; Y--;
        e[Y].push_back(X);
    }
    for(int i=0;i<M;i++) dfs(i);
    return 0;
}