#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define fi first
#define se second
#define FOR(x, y, z) for (int z = x; z < y; z++)
#define FORD(x, y, z) for (int z = x; z > y; z--)
const int MAXN = 10;
vector<vector<int>> graph(MAXN);
vector<int> ways_to_get(MAXN, 0);
vector<int> stacker;
vector<bool> visited(MAXN, false);
void topological_sort_with_DFS(int idx){
if (visited[idx] == false){
visited[idx] = true;
for (auto child : graph[idx])
topological_sort_with_DFS(child);
stacker.push_back(idx);
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(nullptr); cout.tie(nullptr);
int n, m, from, to;
cin >> n >> m;
FOR(0, m, i){
cin >> from >> to;
graph[from].push_back(to);
}
FOR(1, n+1, i)
topological_sort_with_DFS(i);
if ((int)stacker.size() == n)
FORD(n-1, -1, i)
cout << stacker[i] << " ";
else
cout << "Jest cykl, smutek, zal i zgrzytanie zebow :(\n";
return 0;
}
/*
Graf bez cyklu
5 6
1 2
1 3
3 2
2 4
2 5
4 5
Graf z cyklem
5 6
1 3
3 2
2 4
2 5
4 5
2 1
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAgICAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgIAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsb25nIGxvbmcKICAgIAojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiAgICAKI2RlZmluZSBGT1IoeCwgeSwgeikgZm9yIChpbnQgeiA9IHg7IHogPCB5OyB6KyspCiNkZWZpbmUgRk9SRCh4LCB5LCB6KSBmb3IgKGludCB6ID0geDsgeiA+IHk7IHotLSkKCmNvbnN0IGludCBNQVhOID0gMTA7Cgp2ZWN0b3I8dmVjdG9yPGludD4+IGdyYXBoKE1BWE4pOwp2ZWN0b3I8aW50PiB3YXlzX3RvX2dldChNQVhOLCAwKTsKCnZlY3RvcjxpbnQ+IHN0YWNrZXI7CnZlY3Rvcjxib29sPiB2aXNpdGVkKE1BWE4sIGZhbHNlKTsKdm9pZCB0b3BvbG9naWNhbF9zb3J0X3dpdGhfREZTKGludCBpZHgpewogICAgaWYgKHZpc2l0ZWRbaWR4XSA9PSBmYWxzZSl7CiAgICAgICAgdmlzaXRlZFtpZHhdID0gdHJ1ZTsKICAgICAgICBmb3IgKGF1dG8gY2hpbGQgOiBncmFwaFtpZHhdKQogICAgICAgICAgICB0b3BvbG9naWNhbF9zb3J0X3dpdGhfREZTKGNoaWxkKTsKICAgICAgICBzdGFja2VyLnB1c2hfYmFjayhpZHgpOwogICAgfQp9CiAgICAKaW50IG1haW4oKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZShudWxscHRyKTsgY291dC50aWUobnVsbHB0cik7CiAgICAKICAgIGludCBuLCBtLCBmcm9tLCB0bzsKICAgIGNpbiA+PiBuID4+IG07CiAgICAKICAgIEZPUigwLCBtLCBpKXsKICAgICAgICBjaW4gPj4gZnJvbSA+PiB0bzsKICAgICAgICBncmFwaFtmcm9tXS5wdXNoX2JhY2sodG8pOwogICAgfQoKICAgIEZPUigxLCBuKzEsIGkpCiAgICAgICAgdG9wb2xvZ2ljYWxfc29ydF93aXRoX0RGUyhpKTsKICAgIAogICAgaWYgKChpbnQpc3RhY2tlci5zaXplKCkgPT0gbikKICAgICAgICBGT1JEKG4tMSwgLTEsIGkpCiAgICAgICAgICAgIGNvdXQgPDwgc3RhY2tlcltpXSA8PCAiICI7IAogICAgZWxzZSAKICAgICAgICBjb3V0IDw8ICJKZXN0IGN5a2wsIHNtdXRlaywgemFsIGkgemdyenl0YW5pZSB6ZWJvdyA6KFxuIjsKICAgIAogICAgcmV0dXJuIDA7Cn0KICAgIAovKgpHcmFmIGJleiBjeWtsdQo1IDYKMSAyCjEgMwozIDIKMiA0CjIgNQo0IDUKCkdyYWYgeiBjeWtsZW0KNSA2CjEgMwozIDIKMiA0CjIgNQo0IDUKMiAxCiov