from collections import deque n=int(input()) v=[[] for i in range(n+1)] x=[] for i in range(n-1): a,b=map(int,input().split());x.append((a,b)) v[a].append(b);v[b].append(a) c=[0]*(n+1) f=deque([(1,0,0,1)]) while f: q,w,e,r=f.pop() c[q]=r if len(v[q])>e: f.append((q,w,e+1,r)) if v[q][e]!=w: f.append((v[q][e],q,0,r^1)) a=[] for i,j in x: if c[i]: a.append(i) else: a.append(j) print("?"," ".join(map(str,a))) s=1 if input()=="Yes" else 0 a=set() for i in range(1,n+1): if c[i]==s: a.add(i) for i in range(14): if len(a)==1: break b=set(list(a)[:len(a)//2]) k=[] for j,l in x: if j in b: k.append(j) elif l in b: k.append(l) else: k.append(j) print("?"," ".join(map(str,k))) s=1 if input()=="Yes" else 0 if s: a=b else: c=set() for j in list(a): if j in b: continue c.add(j) a=c print("!",a.pop())