#include <bits/stdc++.h> using namespace std; int n, m; vector<int> to[10001]; int input_cnt[10001]; int main(){ scanf("%d", &n); for (int i = 1; i <= n;i++){ int tmp; while(1){ scanf("%d", &tmp); if(tmp==0) break; int u = i; int v = tmp; input_cnt[v]++; to[u].push_back(v); } } queue<int> que; for (int i = 1;i<=n;i++){ if(input_cnt[i]==0) que.push(i); }//假如某个点没有前辈就放进队列等待处理 while(!que.empty()){ int u = que.front(); que.pop(); printf("%d ", u); for(int v:to[u]){ input_cnt[v]--; if(input_cnt[v]==0) que.push(v); } } }