import collections N,K = map(int,input().split()) lsg = [[] for i in range(N)] for i in range(N-1): a,b = map(int,input().split()) a -= 1 b -= 1 lsg[a].append(b) lsg[b].append(a) #できるかどうかの判定が必要 depth = [-1]*(N) depth[0] = 0 d = collections.deque() d.append(0) while d: v = d.pop() for j in lsg[v]: if depth[j] >= 0: continue depth[j] = depth[v]+1 d.append(j) lsc = [-1]*(N) def dfs(k): cnt = 1 for j in lsg[k]: if depth[j] < depth[k]: continue cnt += dfs(j) lsc[k] = cnt return cnt dfs(0) print(-1 if N < K else K-1)