#include using namespace std; int dp[100005]; vectorki[100005]; int dfs(int n,int p) { int res = 0; for(int i = 0; i < ki[n].size(); i++) { if(ki[n][i] == p) { continue; } res += dfs(ki[n][i],n); } res++; return dp[n] = res; } int main() { int N,Q; cin >> N >> Q; for(int i = 0; i < N-1; i++) { int a,b; cin >> a >> b; a--; b--; ki[a].push_back(b); ki[b].push_back(a); } dfs(0,-1); long long sum = 0; for(int i = 0; i < Q; i++) { int p,x; cin >> p >> x; p--; sum += (long long)(x)*dp[p]; cout << sum << endl; } }