/*
TASK:platka
LANG:C++
*/
#include<iostream>
using namespace std;
int a[1510][1510];
int way[1510];
int br=0,is,worst=1520;
int e[1510];
int n,m,used;
void print()
{
     for(int i=0;i<br;i++)
     cout<<way[i]+1<<" ";
     cout<<"sfda"<<endl;
     //system("pause");
     exit(0);
}
void go(int x)
{
if(br==m+1) print();     
for(int i=0;i<n;i++)
if(a[x][i])
{
if(!e[i]) used--;
e[i]=1;
a[x][i]=0;
a[i][x]=0;
way[br++]=i;
e[i]=0;
go(i);
if(worst>used) worst=used;
used++; 
a[x][i]=1;
a[i][x]=1;
br--;
}
}
int main()
{
    int q,w;
    cin>>n>>m;
    used=n;
    for(int i=0;i<m;i++)
    {
            cin>>q>>w;
            a[q-1][w-1]=1;
            a[w-1][q-1]=1;
            
    }
    for(int i=0;i<n;i++)
    {
    br=0;
    way[br++]=i;
    go(i);
    }
    cout<<"Sorry, Peshoadfs "<<worst+1<<endl;
    //system("pause");
    return 0;
}

