/*
TASK:platka
LANG:C++
*/
#include<iostream>
#include<queue>
using namespace std;
bool a[1502][1502];
bool used[1502];
int n,m,g;
bool isused()
{
     for(int i=0;i<n;i++)
      if(used[i]==0)
        return false;
     return true;
}

int main()
{
    int q,w,i,min=-1,c;
    cin>>n>>m;
    for(i=0;i<m;i++)
    {
       cin>>q>>w;
       a[q][w]=a[w][q]=true;
    }
    queue <int> qu;
     while(!isused())
     {
       for(int s=0;s<n;s++)
       {
         if(used[s]==0)
         {
           qu.push(s);
           break;
         }
       }
       c=0;
       used[qu.front()]=1;
       while(!qu.empty())
       {
         g=qu.front();
         qu.pop();
         c++;
         for(i=0;i<n;i++)
          if(a[g][i]&&!used[i])
          {
            qu.push(i);
            used[i]=1;
          }
       }
       if(c<min||min==-1)
         min=c;
     }
     cout<<"Sorry, Pesho "<<min+1<<endl;
    return false;
}
