#include<iostream>
int num,zu;
int a[50][2]={0};
int visit[11]={0};
int data[11][11]={0};
int tou=0;
int wei=1;
int last;
int flag=0;
int k=0;
int d[11][11]={0};
int r=0;
typedef struct node
{
    int x;
    int pre;

}node;
node point[10000]={0};
int l=0;
int b[1000]={0};
void prin(int i)
{
     if(i==-1)
      return;
     //printf("(%d,%d)\n",dui[i].x ,dui[i].y );
	prin(point[i].pre);
	b[l]=point[i].x;
	l++;
    //printf("%d",point[i].x);     
}
void p(int i)
{
	if(i==-1)
      return;
	p(point[i].pre);
    printf("%d",point[i].x);     
}

int panduan()
{   
	int m=-1;
	for(int i=0;i<1000;i++)
	{
		if(b[i]!=0)
		{

			m++;
		}else
		{
			break;
			}

	}
	for(int i=m-1;i>=0;i--)
	{
		if(b[i]==b[m])
		{   
			r=i;
			return 1;
		}

	}
	return 0;
}
void bfs()
{	 
	int tou=0;
	int wei=1;
    while(tou<wei)
    {       
		last=tou;
		prin(tou);
		  if(panduan())
		  { 
			  flag=1;
			  for(int i=r;i<1000;i++)
			  {
				  if(b[i]!=0)
					  printf("%d",b[i]);

			  }
		  }
		l=0;
	
		for(int i=0;i<10;i++)
			b[i]=0;
            
        for(int k=1;k<=num;k++)
        {
            if(data[point[tou].x][k]==1)
             {      
                data[point[tou].x][k]=0;
                point[wei].x=k;
                //printf("%d",point[wei].x);
                point[wei].pre=tou;
                wei++;      
             }      
        }
        tou++;
	}
}

int main()

{     freopen("input.txt","r",stdin);
      scanf("%d%d",&num,&zu);
       for(int i=0;i<zu;i++)
         {
             for(int j=0;j<2;j++)
            {  scanf("%d",&a[i][j]);}
         }
       for(int i=0;i<=zu;i++)
        {
        data[a[i][0]][a[i][1]]=1;
        }
       for(int i=1;i<=num;i++)
       {
           for(int j=1;j<=num;j++)
           {
               d[i][j]=data[i][j];
           }
      }
       for(int i=1;i<=num;i++)
           for(int j=1;j<=num;j++)
           {   
               if(flag==0){
                        if(data[i][j]==1)
                            {    
                               //data[i][j]=0;
										 for(int u=1;u<=num;u++)
			                                  {
				                              for(int t=1;t<=num;t++)
				                              {
					                              d[u][t]=data[u][t];
				                               }
				                               
			                                   }
								int tou=0;
                            point[tou].x=i;
                            point[tou].pre=-1;		 
                           bfs();
						  
                            }
                           }
           } 

}