#include #define rep(i,n) for(int i = 0; i < (n); i++) using namespace std; typedef long long ll; int main(){ cin.tie(0); ios::sync_with_stdio(0); int N,Q; cin >> N >> Q; vector> G(N); rep(i,N-1) { int u,v; cin >> u >> v; u--; v--; G[u].push_back(v); G[v].push_back(u); } vector sz(N, 1); function dfs = [&](int v, int p) -> void { for(int to : G[v]) { if(to != p) { dfs(to, v); sz[v] += sz[to]; } } }; dfs(0, -1); ll ans = 0; rep(_,Q) { int p,x; cin >> p >> x; p--; ans += 1LL * x * sz[p]; cout << ans << "\n"; } }