#include<iostream>
#include<map>
#include<vector>
using namespace std;
vector<int> quota[21];
bool flg[21]={0};
int ans[20];
int m,n;
bool fend;
void check(int x){
    //for(int i=1;i<=m;i++)cout<<"flg["<<i<<"] = "<<flg[i]<<endl;
    if(x == m){
        fend = true;
        return;
    }
    for(int i=1;i<=m;i++){
        if(!flg[i]){
            bool a=true;

            for(int j=0;j<quota[i].size();j++){
                if(!flg[quota[i][j]])a=false;
                //cout<<"x = "<<x<<",i = "<<i<<",j = "<<j<<endl;
            }
            if(a){
                flg[i] = true;
                ans[x] = i;
                //cout<<"---"<<i<<endl;
                check(x+1);
                flg[i] = false;
            }
            if(fend)return;
        }
    }
}
int main(void){
    while(cin>>m>>n){
        int x,y;
        fend = 0;
        for(int i=0;i<20;i++)ans[i] = 0;
        for(int i=0;i<21;i++)quota[i].clear();
        for(int i=0;i<n;i++){
            cin>>x>>y;
            quota[y].push_back(x);
        }
/*
        for(int i=1;i<=m;i++){
            for(int j=0;j<quota[i].size();j++){
                cout<<i<<"-"<<quota[i][j]<<" ";
            }
            cout<<endl;
        }*/
        check(0);

        for(int i=0;i<m;i++){
            cout<<ans[i]<<endl;
        }


    }
    return 0;
}