// Original C++ solution (slower):
/*****************

 *   I<3   C++   *

 *  IWANT ANYAC  *

 * ILOVEPROGRAM! *

 *IT'SINTERESTING*

 * ILOVEPROGRAM! *

 *  INCONTESTS   *

 *   GETSCORE    *

 *    ACCODE     *

 *     LETS      *

 *      GO       *

 *****************/

#include <algorithm>

#include <bitset>

#include <cassert>

#include <cctype>

#include <cmath>

#include <complex>

#include <cstdio>

#include <cstdlib>

#include <cstring>

#include <ctime>

#include <deque>

#include <fstream>

#include <functional>

#include <iomanip>

#include <iostream>

#include <list>

#include <map>

#include <numeric>

#include <queue>

#include <set>

#include <sstream>

#include <stack>

#include <string>

#include <utility>

#include <vector>

#define LL long long

#define pb push_back

#define pob pop_back

#define mp make_pair

#define FILL(a,v) memset((void*)a,v,sizeof(a))

#define FILL0(a) FILL(a,0)

#define FILL1(a) FILL(a,-1)

#define ALL(a) (a).begin(),(a).end()

#define Inf 1e9

#define Mod 1000000007

#define foreach(it,x) for(typeof(x.begin()) it=x.begin();it!=x.end();it++)

#define FOR(i,x) for(int i=0;i<x;i++)

#define RFOR(i,x) for(int i=x-1;i>=0;i--)

#define FFOR(i,a,b) for(int i=a;i<b;i++)

#define FRFOR(i,a,b) for(int i=a-1;i>=b;i--)

#define SZ(a) ((int)(a).size())

#define FI first

#define SE second

#define OVER(a) return puts(a),0

#define fastio ios::sync_with_stdio(0)

#define filei(f) freopen(f,"r",stdin)

#define fileo(f) freopen(f,"w",stdout)

#define MASK(a) (1<<(a))

#define MASKX(x,a) ((x)<<(a))

#define BIT(a,b) ((a>>b)&1)

using namespace std;

typedef pair<int,int> pii;

typedef unsigned long long UINT;

typedef unsigned int Uint;

typedef long long INT;

typedef pair<INT,INT> PII;

typedef stringstream sst;

typedef istringstream iss;

typedef vector<int> vint;

typedef vector<INT> VINT;

typedef vector<pii> vpii;

typedef vector<PII> VPII;

typedef priority_queue<int> pqi;

typedef priority_queue<INT> PQI;

typedef priority_queue<pii> pqp;

typedef priority_queue<PII> PQP;

typedef priority_queue<int,vint,greater<int> > xqi;

typedef priority_queue<INT,VINT,greater<INT> > XQI;

typedef priority_queue<pii,vpii,greater<pii> > xqp;

typedef priority_queue<PII,VPII,greater<PII> > XQP;



int n;

int a,b;

int cnt1,cnt2;



vint bfs(int b,vector<vint> nei)

{

	vint bss(n);

	queue<int> q,bs;

	set<int> lgl;

	q.push(b);

	bs.push(0);

	lgl.insert(b);

	bss[b]=0;

	while(!q.empty())

	{

		int qq=q.front(),bb=bs.front();

		q.pop();bs.pop();

		for(int i=0;i<SZ(nei[qq]);i++)

		{

			int ii=nei[qq][i];

			if(!lgl.count(ii))

			{

				lgl.insert(ii);

				q.push(ii);

				bs.push(bb+1);

				bss[ii]=bb+1;

			}

		}

	}

	return bss;

}



int main()

{

	scanf("%d",&n);

	vector<vint> nei(n);

	for(int i=0;i<n-1;i++)

	{

		scanf("%d%d",&a,&b);

		nei[a-1].push_back(b-1);

		nei[b-1].push_back(a-1);

	}

	vint v1=bfs(0,nei);

	vint v2=bfs(n-1,nei);

	for(int i=0;i<n;i++)

		if(v1[i]<=v2[i])cnt1++;

		else cnt2++;

	if(cnt1>cnt2)OVER("Fennec");

	else OVER("Snuke");

}

// Optimized solution to the same problem (faster):
#include<cstdio>

#include<cctype>

#include<cstring>

#include<algorithm>

#define min(a,b) ((a)<(b)?(a):(b))

#define max(a,b) ((a)>(b)?(a):(b))

#define reg register

typedef long long ll;

inline int read(){

	int x=0,f=1;char c=getchar();

	for(;c<'0'||c>'9';f=c=='-'?-1:1,c=getchar());

	for(;c>='0'&&c<='9';x=(x<<3)+(x<<1)+c-'0',c=getchar());

	return x*f;

}

const int MN=1e5+5;

struct edge{int t,nxt;}es[MN<<1]; 

int h[MN],cnt;

inline void ins(int s,int t){

	es[++cnt]=(edge){t,h[s]};h[s]=cnt;es[++cnt]=(edge){s,h[t]};h[t]=cnt;

}

int n,fa[MN],siz[MN],dep[MN]={-1};

inline void dfs(int st,int f){

	dep[st]=dep[f]+1;siz[st]=1;

	for(reg int i=h[st];i;i=es[i].nxt){

		if(es[i].t==f)continue;fa[es[i].t]=st;

		dfs(es[i].t,st);siz[st]+=siz[es[i].t];

	}

}

int main(){

	n=read();

	for(reg int i=1;i<n;i++)ins(read(),read());

	dfs(1,0);reg int pos=n;

	for(reg int i=1;i<=(dep[n]-1>>1);i++)pos=fa[pos];

	dfs(pos,0);reg int ans=siz[fa[pos]];

	if(ans>(n>>1))puts("Fennec");

	else puts("Snuke");

	return 0;

}

// Fastest known solution for this problem: