#include using namespace std; int main(){ int N, Q; cin >> N >> Q; vector> G(N); for(int i = 0; i < N - 1; i++){ int a, b; cin >> a >> b; a--; b--; G[a].push_back(b); G[b].push_back(a); } vector cnt(N); auto dfs = [&](auto dfs, int now, int par) -> void{ for(int t: G[now]){ if(t == par) continue; dfs(dfs, t, now); cnt[now] += cnt[t]; } cnt[now]++; }; dfs(dfs, 0, -1); long long ans = 0; while(Q--){ int p; cin >> p; long long x; cin >> x; p--; ans += cnt[p] * x; cout << ans << endl; } }