let dfs g n =
  let que = Queue.create () in
  Queue.push 1 que;
  let reached_p = Array.make (n + 1) false in
  reached_p.(1) <- true;
  let rec doit depth n_p =
    if n_p || Queue.is_empty que then depth
    else begin
      let x = Queue.pop que in
      let n_p = ref false in
      List.iter (fun e ->
        if not reached_p.(e) then begin
          reached_p.(e) <- true;
          Queue.push e que;
          if e = n then n_p := true;
        end)
        g.(x);
      doit (depth + 1) !n_p
    end in
  doit 0 false

let () =
  let n = Scanf.scanf "%d " (fun i -> i) in
  let g = Array.make (n + 1) [] in
  for _ = 1 to n - 1 do
    let (x, y) = Scanf.scanf "%d %d " (fun x y -> (x, y)) in
    g.(x) <- y :: g.(x);
    g.(y) <- x :: g.(y);
  done;
  let x = dfs g n in
  print_endline (if x = 1 then "Snuke" else "Fennec")