#include<iostream>
#include<vector>

using namespace std;
#define repeat(i, n) for(int i=0;i<(n);i++)
vector<int> g[100005];
int dep[100005];
int sz[100005]; // subtree
int par[100005];

void dfs(int j, int i=-1){
   par[j]=i;
   sz[j]=1;
   for(int k: g[j])if(i!=k){
      dep[k]=dep[j]+1;
      dfs(k, j);
      sz[j]+=sz[k];
   }
}

int main(){
   
   int N;
   cin>> N;
   repeat(i, N-1){
      int a, b;
      cin>> a>> b;
      g[a-1].push_back(b-1);
      g[b-1].push_back(a-1);
   }

   dfs(0);
   int d=dep[N-1];
   int n=N-1;
   repeat(i, (d-1)/2) n=par[n];
   int snu=sz[n];
   int fen=N-sz[n];

   cout<< (fen>snu? "Fennec": "Snuke")<< endl;

   return 0;
}
