#include<iostream>#include<algorithm>#include<vector>constint MAXN =100000;constlonglong LIM =1000000000000000000ll;int n, m, deg[MAXN];
std::vector<int> E[MAXN];longlong k, f[MAXN];intnext(std::vector<int>cand,longlong&k){std::sort(cand.begin(), cand.end());for(int u : cand){if(①)return u;
k -= f[u];}return-1;}intmain(){
std::cin >> n >> m >> k;for(int i =0; i < m;++i){int u, v;
std::cin >> u >> v;// 一条从u到v的边
E[u].push_back(v);++deg[v];}
std::vector<int> Q;for(int i =0; i < n;++i)if(!deg[i]) Q.push_back(i);for(int i =0; i < n;++i){int u = Q[i];for(int v : E[u]){if(②)
Q.push_back(v);--deg[v];}}std::reverse(Q.begin(), Q.end());for(int u : Q){
f[u]=1;for(int v : E[u])
f[u]= ③;}int u =next(Q, k);
std::cout << u << std::endl;while(④){
⑤;
u =next(E[u], k);
std::cout << u << std::endl;}return0;}