from collections import *

from heapq import*

import sys

input=lambda:sys.stdin.readline()





def BFS(point,d):

    cost=[1e7]*(n+1)

    cost[point]=0

    Q=[]

    Q.append((0,point))

    

    while Q:

        c,p=Q.pop()

        for np in d[p]:

            if cost[np]==1e7:

                cost[np]=c+1

                Q.append((c+1,np))

    return cost



n=int(eval(input()))

d=[deque()for i in range(n+1)]

for i in range(n-1):

    a,b=list(map(int,input().split()))

    d[a].append(b)

    d[b].append(a)

        

x=BFS(1,d)[1:]

y=BFS(n,d)[1:]



#print(x,y)



F=0

S=0



for s,t in zip(x,y):

    if s<=t:

        F+=1

    else:

        S+=1



if F<=S:

    print("Snuke")

else:

    print("Fennec")

from collections import *

from heapq import*

import sys

input=lambda:sys.stdin.readline()





def BFS(point,d):

    cost=[1e7]*(n+1)

    cost[point]=0

    Q=deque()

    Q.appendleft((0,point))

    

    while Q:

        c,p=Q.pop()

        for np in d[p]:

            if cost[np]==1e7:

                cost[np]=c+1

                Q.appendleft((c+1,np))

    return cost



n=int(eval(input()))

d=[[]for i in range(n+1)]

for i in range(n-1):

    a,b=list(map(int,input().split()))

    d[a].append(b)

    d[b].append(a)

        

x=BFS(1,d)[1:]

y=BFS(n,d)[1:]



#print(x,y)



F=0

S=0



for s,t in zip(x,y):

    if s<=t:

        F+=1

    else:

        S+=1



if F<=S:

    print("Snuke")

else:

    print("Fennec")
from collections import *
from heapq import *
import sys

input = lambda: sys.stdin.readline()


def BFS(point, d):
    cost = [1e7] * (n + 1)
    cost[point] = 0
    Q = []
    Q.append((0, point))
    while Q:
        c, p = Q.pop()
        for np in d[p]:
            if cost[np] == 1e7:
                cost[np] = c + 1
                Q.append((c + 1, np))
    return cost


n = int(eval(input()))
d = [deque() for i in range(n + 1)]
for i in range(n - 1):
    a, b = list(map(int, input().split()))
    d[a].append(b)
    d[b].append(a)
x = BFS(1, d)[1:]
y = BFS(n, d)[1:]
# print(x,y)
F = 0
S = 0
for s, t in zip(x, y):
    if s <= t:
        F += 1
    else:
        S += 1
if F <= S:
    print("Snuke")
else:
    print("Fennec")

from collections import *
from heapq import *
import sys

input = lambda: sys.stdin.readline()


def BFS(point, d):
    cost = [1e7] * (n + 1)
    cost[point] = 0
    Q = deque()
    Q.appendleft((0, point))
    while Q:
        c, p = Q.pop()
        for np in d[p]:
            if cost[np] == 1e7:
                cost[np] = c + 1
                Q.appendleft((c + 1, np))
    return cost


n = int(eval(input()))
d = [[] for i in range(n + 1)]
for i in range(n - 1):
    a, b = list(map(int, input().split()))
    d[a].append(b)
    d[b].append(a)
x = BFS(1, d)[1:]
y = BFS(n, d)[1:]
# print(x,y)
F = 0
S = 0
for s, t in zip(x, y):
    if s <= t:
        F += 1
    else:
        S += 1
if F <= S:
    print("Snuke")
else:
    print("Fennec")

-    Q = [] -    Q.append((0, point)) +    Q = deque() +    Q.appendleft((0, point)) -                Q.append((c + 1, np)) +                Q.appendleft((c + 1, np)) -d = [deque() for i in range(n + 1)] +d = [[] for i in range(n + 1)]