#include <bits/stdc++.h>
using namespace std;
int n,q;
vector<int>g[200005];
int sz[200005];
void dfs(int u,int pa) {
sz[u]=1;
for(auto v:g[u])if(v!=pa) {
dfs(v,u);
sz[u]+=sz[v];
}
}
vector<pair<int,int>>vec[200005];
int tree[200005];
void upd(int id,int val) {
while(id<=n)tree[id]+=val,id+=(id&(-id));
}
int get(int id) {
int sum=0;
while(id>0)sum+=tree[id],id-=(id&(-id));
return sum;
}
int ans[200005];
void dfs_ans(int u,int pa) {
for(auto[k,id]:vec[u]) {
ans[id]=get(k);
}
for(auto v:g[u])if(v!=pa) {
upd(sz[v],-1);
upd(n-sz[v],1);
dfs_ans(v,u);
upd(sz[v],1);
upd(n-sz[v],-1);
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>q;
for(int i=1; i<n; i++) {
int u,v;
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
dfs(1,0);
for(int i=1; i<=q; i++) {
int u,k;
cin>>u>>k;
vec[u].push_back({k,i});
}
for(int i=1;i<=n;i++)upd(sz[i],1);
dfs_ans(1,0);
for(int i=1;i<=q;i++)cout<<ans[i]<<'\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixxOwp2ZWN0b3I8aW50PmdbMjAwMDA1XTsKaW50IHN6WzIwMDAwNV07CnZvaWQgZGZzKGludCB1LGludCBwYSkgewogICAgc3pbdV09MTsKICAgIGZvcihhdXRvIHY6Z1t1XSlpZih2IT1wYSkgewogICAgICAgICAgICBkZnModix1KTsKICAgICAgICAgICAgc3pbdV0rPXN6W3ZdOwogICAgICAgIH0KfQp2ZWN0b3I8cGFpcjxpbnQsaW50Pj52ZWNbMjAwMDA1XTsKaW50IHRyZWVbMjAwMDA1XTsKdm9pZCB1cGQoaW50IGlkLGludCB2YWwpIHsKICAgIHdoaWxlKGlkPD1uKXRyZWVbaWRdKz12YWwsaWQrPShpZCYoLWlkKSk7Cn0KaW50IGdldChpbnQgaWQpIHsKICAgIGludCBzdW09MDsKICAgIHdoaWxlKGlkPjApc3VtKz10cmVlW2lkXSxpZC09KGlkJigtaWQpKTsKICAgIHJldHVybiBzdW07Cn0KaW50IGFuc1syMDAwMDVdOwp2b2lkIGRmc19hbnMoaW50IHUsaW50IHBhKSB7CiAgICBmb3IoYXV0b1trLGlkXTp2ZWNbdV0pIHsKICAgICAgICBhbnNbaWRdPWdldChrKTsKICAgIH0KICAgIGZvcihhdXRvIHY6Z1t1XSlpZih2IT1wYSkgewogICAgICAgICAgICB1cGQoc3pbdl0sLTEpOwogICAgICAgICAgICB1cGQobi1zelt2XSwxKTsKICAgICAgICAgICAgZGZzX2Fucyh2LHUpOwogICAgICAgICAgICB1cGQoc3pbdl0sMSk7CiAgICAgICAgICAgIHVwZChuLXN6W3ZdLC0xKTsKICAgICAgICB9Cn0KaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgY2luPj5uPj5xOwogICAgZm9yKGludCBpPTE7IGk8bjsgaSsrKSB7CiAgICAgICAgaW50IHUsdjsKICAgICAgICBjaW4+PnU+PnY7CiAgICAgICAgZ1t1XS5wdXNoX2JhY2sodik7CiAgICAgICAgZ1t2XS5wdXNoX2JhY2sodSk7CiAgICB9CiAgICBkZnMoMSwwKTsKICAgIGZvcihpbnQgaT0xOyBpPD1xOyBpKyspIHsKICAgICAgICBpbnQgdSxrOwogICAgICAgIGNpbj4+dT4+azsKICAgICAgICB2ZWNbdV0ucHVzaF9iYWNrKHtrLGl9KTsKICAgIH0KICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXVwZChzeltpXSwxKTsKICAgIGRmc19hbnMoMSwwKTsKICAgIGZvcihpbnQgaT0xO2k8PXE7aSsrKWNvdXQ8PGFuc1tpXTw8J1xuJzsKICAgIHJldHVybiAwOwp9Cg==