n,k=map(int,input().split()) if k>n: print(-1);exit() elif k==1: print(0);exit() edges=[[] for _ in range(n)] for _ in range(n-1): a,b=map(int,input().split()) a-=1;b-=1 edges[a].append(b);edges[b].append(a) q=[0] visited=[False]*n k-=1;cnt=0 while q: v=q.pop(0) for e in edges[v]: if visited[e]: continue visited[e]=True k-=1;cnt+=1 if k==0: print(cnt);exit() q.append(e) print(-1)