바실은 생물정보학 기말 시험을 통과하려고 완전 이진 트리를 키우고 있다. 여기서 완전 이진 트리는 잎이 아닌 모든 정점이 정확히 두 개의 자식을 가지고, 모든 잎이 루트에서 같은 거리에 있는 루트 있는 트리를 말한다.
루트 있는 트리는 정점 하나를 루트로 정한 사이클 없는 연결 무향 그래프이다. 정점 u의 부모는 u의 이웃 중 루트에 가장 가까운 정점이고, 루트에는 부모가 없다. 정점의 나머지 이웃은 그 정점의 자식이다. 자식이 없는 정점을 잎이라고 한다.
바실은 한 학기 내내 프로그래밍 대회에만 매달렸다. 시험을 며칠 앞두고 확인해 보니 트리는 자라 있었지만 모양이 원하던 것과 달랐고, 루트조차 정해지지 않은 상태였다. 이제 바실은 정점 하나를 루트로 정한 다음 정점을 추가해 원하는 트리로 만들어야 한다. 하루에 정점 하나를 추가할 수 있고, 추가한 정점은 이미 있는 정점 하나의 자식이 된다. 이미 있는 정점을 지우거나 간선을 다시 잇는 것은 허용하지 않는다.
바실은 작업을 끝낼 수 있는지, 끝낼 수 있다면 어떤 정점을 루트로 정해야 하는지, 그리고 며칠이 걸리는지 알고 싶다. 최소 일수로 끝낼 수 있는 정점이 여러 개라면 번호가 가장 작은 정점을 고른다.
일수는 매우 커질 수 있으므로 109+7로 나눈 나머지를 출력한다. 최소화하는 대상은 실제 일수이지 나머지가 아니다. 나머지는 출력 직전에 한 번만 구한다.