#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,q,timer=0,tin[200005],tout[200005],arr[400005],st[2000006],lz[2000006];
vector <int> ve[200005];
void DFS(int u, int p)
{
tin[u]=++timer,arr[tin[u]]=u;
for (int v : ve[u]) if (v!=p) DFS(v,u);
tout[u]=++timer,arr[tout[u]]=u;
}
void UPDATE(int id, int l, int r, int u, int v, int x)
{
if (l>v || r<u) return;
else if (l>=u && r<=v)
{
st[id]+=x,lz[id]+=x;
return;
}
int mid=(l+r)/2;
st[id*2]+=lz[id],lz[id*2]+=lz[id],st[id*2+1]+=lz[id],lz[id*2+1]+=lz[id],lz[id]=0;
UPDATE(id*2,l,mid,u,v,x),UPDATE(id*2+1,mid+1,r,u,v,x);
st[id]=max(st[id*2],st[id*2+1]);
}
int GET(int id, int l, int r, int u, int v)
{
if (l>v || r<u) return -1e18;
else if (l>=u && r<=v) return st[id];
int mid=(l+r)/2;
st[id*2]+=lz[id],lz[id*2]+=lz[id],st[id*2+1]+=lz[id],lz[id*2+1]+=lz[id],lz[id]=0;
return max(GET(id*2,l,mid,u,v),GET(id*2+1,mid+1,r,u,v));
}
signed main()
{
ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
cin>>n;
for (int i=1;i<n;i++)
{
int u,v;
cin>>u>>v;
ve[u].push_back(v),ve[v].push_back(u);
}
DFS(1,0);
cin>>q;
for (int i=1;i<=q;i++)
{
int t;
cin>>t;
if (t==1)
{
int x,v;
cin>>x>>v;
UPDATE(1,1,2*n,tin[x],tout[x],v);
}
else
{
int x;
cin>>x;
cout<<GET(1,1,2*n,tin[x],tout[x])<<'\n';
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixxLHRpbWVyPTAsdGluWzIwMDAwNV0sdG91dFsyMDAwMDVdLGFycls0MDAwMDVdLHN0WzIwMDAwMDZdLGx6WzIwMDAwMDZdOwp2ZWN0b3IgPGludD4gdmVbMjAwMDA1XTsKdm9pZCBERlMoaW50IHUsIGludCBwKQp7CiAgICB0aW5bdV09Kyt0aW1lcixhcnJbdGluW3VdXT11OwogICAgZm9yIChpbnQgdiA6IHZlW3VdKSBpZiAodiE9cCkgREZTKHYsdSk7CiAgICB0b3V0W3VdPSsrdGltZXIsYXJyW3RvdXRbdV1dPXU7Cn0Kdm9pZCBVUERBVEUoaW50IGlkLCBpbnQgbCwgaW50IHIsIGludCB1LCBpbnQgdiwgaW50IHgpCnsKICAgIGlmIChsPnYgfHwgcjx1KSByZXR1cm47CiAgICBlbHNlIGlmIChsPj11ICYmIHI8PXYpCiAgICB7CiAgICAgICAgc3RbaWRdKz14LGx6W2lkXSs9eDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpbnQgbWlkPShsK3IpLzI7CiAgICBzdFtpZCoyXSs9bHpbaWRdLGx6W2lkKjJdKz1seltpZF0sc3RbaWQqMisxXSs9bHpbaWRdLGx6W2lkKjIrMV0rPWx6W2lkXSxseltpZF09MDsKICAgIFVQREFURShpZCoyLGwsbWlkLHUsdix4KSxVUERBVEUoaWQqMisxLG1pZCsxLHIsdSx2LHgpOwogICAgc3RbaWRdPW1heChzdFtpZCoyXSxzdFtpZCoyKzFdKTsKfQppbnQgR0VUKGludCBpZCwgaW50IGwsIGludCByLCBpbnQgdSwgaW50IHYpCnsKICAgIGlmIChsPnYgfHwgcjx1KSByZXR1cm4gLTFlMTg7CiAgICBlbHNlIGlmIChsPj11ICYmIHI8PXYpIHJldHVybiBzdFtpZF07CiAgICBpbnQgbWlkPShsK3IpLzI7CiAgICBzdFtpZCoyXSs9bHpbaWRdLGx6W2lkKjJdKz1seltpZF0sc3RbaWQqMisxXSs9bHpbaWRdLGx6W2lkKjIrMV0rPWx6W2lkXSxseltpZF09MDsKICAgIHJldHVybiBtYXgoR0VUKGlkKjIsbCxtaWQsdSx2KSxHRVQoaWQqMisxLG1pZCsxLHIsdSx2KSk7Cn0Kc2lnbmVkIG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSxjaW4udGllKDApLGNvdXQudGllKDApOwogICAgY2luPj5uOwogICAgZm9yIChpbnQgaT0xO2k8bjtpKyspCiAgICB7CiAgICAgICAgaW50IHUsdjsKICAgICAgICBjaW4+PnU+PnY7CiAgICAgICAgdmVbdV0ucHVzaF9iYWNrKHYpLHZlW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KICAgIERGUygxLDApOwogICAgY2luPj5xOwogICAgZm9yIChpbnQgaT0xO2k8PXE7aSsrKQogICAgewogICAgICAgIGludCB0OwogICAgICAgIGNpbj4+dDsKICAgICAgICBpZiAodD09MSkKICAgICAgICB7CiAgICAgICAgICAgIGludCB4LHY7CiAgICAgICAgICAgIGNpbj4+eD4+djsKICAgICAgICAgICAgVVBEQVRFKDEsMSwyKm4sdGluW3hdLHRvdXRbeF0sdik7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGludCB4OwogICAgICAgICAgICBjaW4+Png7CiAgICAgICAgICAgIGNvdXQ8PEdFVCgxLDEsMipuLHRpblt4XSx0b3V0W3hdKTw8J1xuJzsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQ==