#include <iostream>
#include <algorithm>
using namespace std;

const int MAXN = 20;
int m, n;
int bit[MAXN];
bool dp[1<<MAXN];
int path[1<<MAXN];

int main() {
  cin >> m;
  cin >> n;
  for(int i = 0; i < n; ++i) {
    int x, y;
    cin >> x >> y;
    --x; --y;
    bit[x] |= 1<<y;
  }
  dp[1<<1] = true;
  path[1<<1] = 1;
  for(int i = 0; i < (1<<m); ++i) {
    if(!dp[i]) continue;
    for(int j = 0; j < m; ++j) {
      if(i&(1<<j)) continue;
      if(bit[j] & ~i) continue;
      dp[i|(1<<j)] = true;
      path[i|(1<<j)] = j;
    }
  }
  int b = (1<<m)-1;
  while(b) {
    int p = path[b];
    cout << p+1 << endl;
    b &= ~(1<<p);
  }
  return 0;
}