#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,f[50001],d[50001];
int timp,v[50001];
vector<int> G[50001];
deque<int> L;
void dfs(int x)
{
v[x]=1;
timp++,d[x]=timp;
for(vector<int>::iterator it=G[x].begin();it<G[x].end();it++ )
if(v[*it]==0)
dfs(*it);
timp++,f[x]=timp;
L.push_front(x);
}
int main()
{
int x,y;
while(fin>>x>>y)
{
G[x].push_back(y);
n=max(n,max(x,y));
}
for(int i=1;i<=n;i++)
if(v[i]==0)
{
dfs(i);
}
for(deque<int>::iterator it=L.begin();it<L.end();it++)
fout<<*it<<" ";
return 0;
}