import java.util.*

fun main(args: Array<String>) {
    val n = readLine()!!.toInt()
    val graph = Array(n) { emptyList<Int>().toMutableList() }
    for (i in 1 until n) {
        val (a, b) = readLine()!!.split(' ').map(String::toInt)
        graph[a - 1].add(b - 1)
        graph[b - 1].add(a - 1)
    }

    fun namazu(first: Int): Array<Int> {
        val score = Array(n) { 0 }
        val visited = Array(n) { false }
        val queue = ArrayDeque<Int>()
        visited[first] = true
        queue.add(first)
        while(queue.isNotEmpty()) {
            val po = queue.remove()
            graph[po].forEach {
                if (!visited[it]) {
                    queue.add(it)
                    visited[it] = true
                    score[it] = score[po] + 1
                }
            }
        }

        return score
    }

    val score1 = namazu(0)
    val score2 = namazu(n-1)
    var fenekku = 0
    for (i in 0 until n) {
        if (score1[i] <= score2[i]) {
            fenekku += 1
        }
    }
    println(if (fenekku > n - fenekku) "Fennec" else "Snuke")
}