def main(): N, K = (int(i) for i in input().split()) G = [[] for _ in range(N)] for _ in range(N-1): a, b = (int(i)-1 for i in input().split()) G[a].append(b) G[b].append(a) from collections import deque def bfs(s, K): dist = [-1 for _ in range(len(G))] que = deque() dist[s] = 0 K -= 1 ans = 0 que.append(s) while que and K > 0: u = que.popleft() for v in G[u]: if dist[v] != -1: continue dist[v] = dist[u] + 1 K -= 1 ans += 1 que.append(v) if K == 0: break return ans if N < K: return print(-1) ans = bfs(0, K) print(ans) if __name__ == '__main__': main()