#include <stdio.h>
#include <vector>
#include <stack>
using namespace std;
int main(){
    int n,m,x,y;
    bool went[100],f;
    vector<int> a[100];
    stack<int>ans;
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)went[i]=false;
    for(int i=0;i<m;i++){
        scanf("%d%d",&x,&y);
        a[x].push_back(y);
    }
    for(int i=0;i<n;i++){
        f=true;
        for(int j=1;j<=n&&f;j++){
            if(a[j].size()==0&&!went[j]){
                ans.push(j);
                went[j]=true;
                for(int k=1;k<=n;k++){
                    f=true;
                    for(int c=0;c<a[k].size()&&f;c++){
                        if(a[k][c]==j){
                            a[k][c]=a[k][a[k].size()-1];
                            a[k].pop_back();
                            f=false;
                        }
                    }
                }
                f=false;
            }
        }
    }
    while(!ans.empty()){
        printf("%d\n",ans.top());
        ans.pop();
    }
}