import java.util.*

fun main(args: Array<String>) {
    val N = readLine()!!.toInt()

    val graph = Array(N, { mutableListOf<Int>()})
    (1..N-1).forEach {
        val (a, b) = readLine()!!.split(" ").map { it.toInt() }
        graph[a-1].add(b-1)
        graph[b-1].add(a-1)
    }

    fun dFrom(source: Int) : IntArray {
        val default = -1
        val d = IntArray(N, { default })
        val queue : Queue<Int> = ArrayDeque()
        queue.add(source)
        d[source] = 0
        while (!queue.isEmpty()) {
            val current = queue.poll()
            graph[current].forEach {
                if (d[it] == default) {
                    d[it] = d[current] + 1
                    queue.add(it)
                }
            }
        }
        return d
    }
    val dFromS = dFrom(0)
    val dFromT = dFrom(N -1)

    var fennec = 0
    var snuke = 0
    for (i in 0 until N) {
        if (dFromS[i] <= dFromT[i]) {
            fennec++
        } else {
            snuke++
        }
    }
    if (fennec > snuke) {
        println("Fennec")
    } else {
        println("Snuke")
    }
}