#include <bits/stdc++.h>
#define Maxn 5007
using namespace std;
int n,k,cnt=0;
int last[Maxn],pre[Maxn],other[Maxn];
void insert(int u,int v)
{
	other[++cnt]=v,pre[cnt]=last[u],last[u]=cnt;
}
int dfs(int u,int fa,int now)
{
	int res=1;
	if (now<k/2)
	{
		for (int q=last[u];q;q=pre[q])
		{
			int v=other[q];
			if (v!=fa) res+=dfs(v,u,now+1);
		}
	}
	return res;
}
int main()
{
	scanf("%d%d",&n,&k);
	for (int i=1;i<n;i++)
	{
		int u,v;
		scanf("%d%d",&u,&v);
		insert(u,v),insert(v,u);
	}
	int ans=0;
	if (k%2==0)
	{
		for (int i=1;i<=n;i++)
			ans=max(ans,dfs(i,-1,0));
	} else
	{
		for (int i=1;i<=n;i++)
			for (int q=last[i];q;q=pre[q])
			{
				int v=other[q];
				ans=max(ans,dfs(v,i,0)+dfs(i,v,0));
			}
	}
	printf("%d\n",n-ans);
	return 0;
}
