#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>

#define MAX_N 100005

int N;
std::vector<int> G[MAX_N];

int father[MAX_N], siz[MAX_N], dis[MAX_N];

void dfs(int u, int p) {
	dis[u] = dis[p] + 1;
	father[u] = p;
	siz[u]++;
	for (auto v : G[u]) 
		if (v != p) { 
			dfs(v, u);
			siz[u] += siz[v];
		}
}

int main() {
	scanf("%d", &N);
	for (int i = 1; i < N; i++) {
		int a, b;
		scanf("%d%d", &a, &b);
		G[a].push_back(b);
		G[b].push_back(a);
	}
	dfs(1, 0);

	int d = (dis[N] - 2) / 2;

	int u = N;

	for (int i = 1; i <= d; i++)
		u = father[u];

	if (N - siz[u] > siz[u]) printf("Fennec\n");
	else printf("Snuke\n");
	return 0;
}