#include <iostream>
#include <vector>
#include <cstring>
using namespace std;

bool t[102][102];

int main(){
  int n, m;
  cin >> n >> m;

  memset(t, 0, sizeof(t));

  for(int i = 0; i < m; i++){
    int x, y;
    cin >> x >> y;
    t[y][x] = true;
  }

  bool used[102];
  memset(used, 0, sizeof(used));

  vector<int> v;

  for(int i = 0; i < n - 1; i++){
    for(int j = 1; j <= n; j++){
      if(j == 2) continue;
      if(used[j]) continue;

      bool flg = true;

      for(int k = 1; k <= n; k++){
        if(j == k) continue;
        if(used[k]) continue;

        if(t[j][k]){
          flg = false;
          break;
        }
      }

      if(flg){
        used[j] = true;
        v.push_back(j);
        break;
      }
    }
  }
  v.push_back(2);

  for(int i = 0; i < v.size(); i++){
    cout << v[i] << endl;
  }
}