#include<iostream> 
#define MAX 1024
using namespace std;
int g[MAX][MAX]={0};
int d[MAX]={0};
int r[MAX]={0};
int n=0,e,a,b,m=0;
void in();
void find(int i);
void out();
int main()
{
	in();
	for(int i=1;i<n+1;i++)
	{
		if(d[i]%2==1)
		{
			find(i);
			out();
			return 0;
		}
	}
	find(1);
	out();
	return 0;
}
void in() {
	cin>>e;
	for(int i=1;i<e+1;i++)
	{
		cin>>a>>b;
		m=max(a,b);
		n=max(n,m);
		g[a][b]++;
		g[b][a]++;
		d[a]++;
		d[b]++;
	}
}
void find(int i) {
	for(int j=1;j<n+1;j++)
	{
		if(g[i][j]>0)
		{
			g[i][j]--;
			g[j][i]--;
			find(j);
		}
	}
	r[++r[0]]=i;
}
void out() {
	for(int i=r[0];i>0;i--)
	{
		cout<<r[i]<<endl;
	}
}
/**************************************************************
	Problem: 2054
	User: admin
	Language: C++
	Result: Accepted
	Time:34 ms
	Memory:6176 kb
****************************************************************/