N,K = [int(i) for i in input().split()] if N < K: print(-1) exit() graph = {i:set() for i in range(1,N+1)} for _ in range(N-1): a,b = [int(i) for i in input().split()] graph[a].add(b) graph[b].add(a) que = [1] seen = {1} move = 0 while que: node = que.pop() for n in graph[node]: if n not in seen: seen.add(n) que.append(n) K -= 1 if K != 0: move += 1 break seen.add(node) if K == 0: break print(move)