#include <fstream>
#include <vector>
using namespace std;
fstream cin("sortaret.in");
ofstream cout("sortaret.out");
int n, m;
vector<int> g[50001];
vector<int> res;
bool viz[50001];
void dfs(int nod) {
viz[nod] = 1;
for (auto i : g[nod])
if (!viz[i])
dfs(i);
res.push_back(nod);
}
int main() {
cin >> n >> m;
for (int i = 1; i <= m; ++i) {
int a, b;
cin >> a >> b;
g[a].push_back(b);
}
for (int i = 1; i <= n; ++i)
if (!viz[i])
dfs(i);
for (int i = res.size() - 1; i >= 0; --i)
cout << res[i] << ' ';
return 0;
}