local mfl = math.floor
local n = io.read("*n")
local edge = {}
for i = 1, n do edge[i] = {} end
for i = 1, n - 1 do
  local a, b = io.read("*n", "*n")
  table.insert(edge[a], b)
  table.insert(edge[b], a)
end

local tasks = {1}
local asked = {false}
local len = {0}
for i = 2, n do
  asked[i] = false
  len[i] = 0
end
local done = false
while not done do
  local src = tasks[#tasks]
  if asked[src] then
    table.remove(tasks)
  else
    asked[src] = true
    for i = 1, #edge[src] do
      local dst = edge[src][i]
      if not asked[dst] then
        len[dst] = len[src] + 1
        table.insert(tasks, dst)
        if dst == n then
          done = true
          break
        end
      end
    end
  end
end
local halflen = mfl(len[n] / 2)
local pos1, pos2 = 1, n
for i = 1, #tasks do
  local pos = tasks[i]
  local l = len[pos]
  if l == halflen then pos1 = pos
  elseif l == halflen + 1 then pos2 = pos end
end
tasks = {pos1, pos2}
for i = 1, n do asked[i] = 0 end
asked[pos1], asked[pos2] = 1, 2
while 0 ~= #tasks do
  local src = tasks[#tasks]
  table.remove(tasks)
  for i = 1, #edge[src] do
    local dst = edge[src][i]
    if 0 == asked[dst] then
      asked[dst] = asked[src]
      table.insert(tasks, dst)
    end
  end
end
local cnt = {0, 0}
for i = 1, n do
  cnt[asked[i]] = cnt[asked[i]] + 1
end
print(cnt[1] > cnt[2] and "Fennec" or "Snuke")
