#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <set>

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,j) FOR(i,0,j)
#define mp std::make_pair

const int INF = 1 << 24;
const int dx[8] = {0, 0, 1, -1, 1, 1, -1, -1}, dy[8] = {1, -1, 0, 0, 1, -1, 1, -1};

typedef unsigned long long ull;
typedef std::pair<int,int> P;

std::vector<int> G[20];
std::vector<int> order;
int used[20];

void dfs(int from){
    used[from] = 1;

    REP(i, G[from].size()){
        if(!used[G[from][i]]){
            dfs(G[from][i]);
        }
    }

    order.push_back(from+1);
}

int main(){
    int M, N;
    std::cin >> M >> N;
    
    REP(i, N){
        int x, y;
        std::cin >> x >> y;
        x--; y--;

        G[x].push_back(y);
    }

    REP(i, M){
        if(!used[i]){
            dfs(i);
        }
    }

    std::reverse(order.begin(), order.end());

    REP(i, M){
        std::cout << order[i] << std::endl;
    }
}