from collections import deque import sys N, M = map(int, input().split()) d = [set() for _ in range(N+1)] for _ in range(N-1): a, b = map(int, input().split()) d[a].add(b) d[b].add(a) queue=deque([1]) vs = set([1]) vs_bfs = list() parents = [0] * (N+1) dist = [0] * (N+1) while queue: v = queue.popleft() vs_bfs.append(v) for u in d[v]: if u in vs: continue parents[u] = v vs.add(u) queue.append(u) dist[u] = dist[v] + 1 if N < M: print(-1) else: print(M-1)