#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;

vector<int> nei[maxn];
int pre[maxn];
int num[maxn];

int dfs(int v, int fa) {
	int nn = nei[v].size();
	pre[v] = fa;
	num[v] = 1;
	for(int i=0; i<nn; i++) {
		int u = nei[v][i];
		if(fa != u) {
			num[v] += dfs(u, v); 
		}
	}
	return num[v];
}

int main() {
	int n, x, y;
	scanf("%d", &n);
	memset(pre, 0, sizeof(pre));
	memset(num, 0, sizeof(num));
	for(int i=0; i<n-1; i++) 
		scanf("%d%d", &x, &y),
		nei[x].push_back(y),
		nei[y].push_back(x);
	
	dfs(1, -1);
	
	int f = 1, s = n;
	int cnt = 0;
	vector<int> path;
	while(s != f) {
		cnt ++;
		path.push_back(s);
		s = pre[s];
	}
	int nod = path[(path.size()-1)/2];
	puts((n-2*num[nod])>0?"Fennec":"Snuke");
}