from heapq import heapify, heappush, heappop def prufer_encode(edeges:list[tuple[int,int]]) -> list[int]: # 0-indexed # O(NlogN) n = len(edeges)+1 g = [[] for _ in range(n)] deg = [0]*n for a, b in edeges: g[a].append(b) g[b].append(a) deg[a] += 1 deg[b] += 1 q = [] for v in range(n): if deg[v] == 1: q.append(v) heapify(q) ret = [] for _ in range(n-2): v = heappop(q) assert deg[v] == 1 deg[v] -= 1 for nv in g[v]: if deg[nv] > 0: ret.append(nv) deg[nv] -= 1 if deg[nv] == 1: heappush(q,nv) return ret def prufer_decode(code: list[int]) -> list[tuple[int,int]]: # 0-indexed # O(NlogN) n = len(code)+2 cnt = [0]*n for v in code: cnt[v] += 1 q = [] for v in range(n): if cnt[v] == 0: q.append(v) heapify(q) ret = [] for a in code: b = heappop(q) assert cnt[b] == 0 ret.append((a,b)) cnt[a] -= 1 if cnt[a] == 0: heappush(q,a) ret.append((q.pop(), q.pop())) return ret p = input() n = int(input()) print(n-2) if p == "Alice": ee = [] for _ in range(n-1): a, b = [int(x)-1 for x in input().split()] ee.append((a,b)) res = prufer_encode(ee) print(*[v+1 for v in res]) else: cc = [int(x)-1 for x in input().split()] res = prufer_decode(cc) for a, b in res: print(a+1, b+1)