#include <bits/stdc++.h>
#define int long long
using namespace std;
int read(int x=0,int f=1){char ch=getchar();while(ch<48||ch>57){if(ch==45)f=-1;ch=getchar();}while(ch>=48&&ch<=57){x=x*10+(ch^48);ch=getchar();}return x*f;}
void write(int x){if(x<0){putchar(45);write(-x);return;}if(x>9)write(x/10); putchar(x % 10 ^ 48);}
const int N=100005;
int n,k,t,cnt,dp[N];
vector<int>e[N];
void dfs(int u,int fa){
int x=0x3f3f3f3f,y=-0x3f3f3f3f;
for(int v:e[u]){
if(v==fa)continue;
dfs(v,u);
x=min(x,dp[v]),y=max(y,dp[v]);
}
x=-x;
if(y==-0x3f3f3f3f)dp[u]=1;
else if(y+1<=x)dp[u]=-x+1;
else dp[u]=y+1;
if(dp[u]==k+1){
cnt++;
dp[u]=-k;
}
return;
}
signed main(){
n=read(),k=read(),t=read();
if(k==0){write(n);return 0;}
for(int i=1,u,v;i<n;i++){
u=read(),v=read();
e[u].push_back(v),e[v].push_back(u);
}
dfs(1,0);
write(cnt);
}
WA on #5