#include #include #ifdef LOCAL #include #define debug(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else #define debug(...) (static_cast(0)) #endif using namespace atcoder; using mint=modint998244353; using namespace std; using ll=long long; using ul=unsigned long long; int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1}; int dy[8] = {0, 0, -1, 1, -1, 1, -1, 1}; using Graph=vector>; ll op(ll a,ll b){return min(a,b);} ll e(){return 2e9;} int main(){ int N,Q; cin>>N>>Q; vector>G(N); for(int i=0;i>a>>b; a--,b--; G[a].push_back(b),G[b].push_back(a); } vectordp(N,1); vectorvi(N); auto dfs=[&](auto dfs,int i)->void { vi[i]=true; for(auto ni:G[i]){ if(vi[ni])continue; dfs(dfs,ni); dp[i]+=dp[ni]; } }; dfs(dfs,0); ll ans=0; while(Q--){ int a;ll c; cin>>a>>c; a--; ans+=dp[a]*c; cout<