from collections import defaultdict, deque from typing import List def build_graph(edges): graph = defaultdict(list) for edge in edges: u, v = edge graph[u].append(v) graph[v].append(u) return graph def bfs(graph, start): visited = set() queue = deque([(start, 0)]) map_level = defaultdict(int) map_level[0] += 1 while queue: node, level = queue.popleft() print(node, level) visited.add(node) map_level[level] += 1 for neighbor in graph[node]: if neighbor not in visited: queue.append((neighbor, level + 1)) return map_level n = int(input()) edges = [] for _ in range(n - 1): u, v = map(int, input().split()) edges.append([u, v]) target_level = int(input()) graph = build_graph(edges) map_level = bfs(graph, 1) print(map_level[target_level - 1])