#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int n;
vector<int> edge[100010];
int a[100010];
int b[100010];
queue<int> q;
int main()
{
	cin >>n;
	for (int i=0;i<n-1;i++)
	{
		int x,y;
		cin >>x>>y;
		edge[x].push_back(y);
		edge[y].push_back(x);
	}
	fill(a+1,a+n+1,-1);
	fill(b+1,b+n+1,-1);
	a[1]=0;
	q.push(1);
	while (!q.empty())
	{
		int x=q.front(); q.pop();
		int t=a[x];
		for (int i=0;i<edge[x].size();i++)
		{
			int xi=edge[x][i];
			if (a[xi]==-1) q.push(xi),a[xi]=t+1;
		}
	}
	b[n]=0;
	q.push(n);
	while (!q.empty())
	{
		int x=q.front(); q.pop();
		int t=b[x];
		for (int i=0;i<edge[x].size();i++)
		{
			int xi=edge[x][i];
			if (b[xi]==-1) q.push(xi),b[xi]=t+1;
		}
	}
	int r1=0,r2=0;
	for (int i=1;i<=n;i++)
	{
		//cout <<a[i]<<" "<<b[i]<<"\n";
		if (a[i]<=b[i]) r1++;
		else r2++;
	}
	if (r1>r2) cout <<"Fennec";
	else cout <<"Snuke";
	return 0;
}