#include <bits/stdc++.h>
 
#define ll long long
#define el cout << '\n'
 
using namespace std;
 
const int maxn = 1e5;
 
int n, s, q;
ll val[maxn + 10], lazy[maxn + 10];
vector<int> adj[maxn + 10], heavy[maxn + 10];
bool heavyNode[maxn + 10];
 
int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    if (fopen("TQUERY.INP", "r"))
    {
        freopen("TQUERY.INP", "r", stdin);
        freopen("TQUERY.OUT", "w", stdout);
    }
    cin >> n >> q;
    for (int i = 1; i < n; i++)
    {
        int x, y;
        cin >> x >> y;
        adj[x].push_back(y);
        adj[y].push_back(x);
    }
    s = sqrt(n);
    for (int i = 1; i <= n; i++)
        heavyNode[i] = adj[i].size() > s;
    for (int i = 1; i <= n; i++)
        for (int x : adj[i])
            if (heavyNode[x])
                heavy[i].push_back(x);
    while (q--)
    {
        int t;
        cin >> t;
        if (t == 1)
        {
            int u, d;
            cin >> u >> d;
            if (heavyNode[u]) lazy[u] += d;
            else
            {
                for (int v : adj[u])
                    val[v] += d;
            }
        }
        else
        {
            int u;
            cin >> u;
            ll ans = val[u];
            for (int x : heavy[u])
                ans += lazy[x];
            cout << ans, el;
        }
    }
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBtYXhuID0gMWU1OwoKaW50IG4sIHMsIHE7CmxsIHZhbFttYXhuICsgMTBdLCBsYXp5W21heG4gKyAxMF07CnZlY3RvcjxpbnQ+IGFkalttYXhuICsgMTBdLCBoZWF2eVttYXhuICsgMTBdOwpib29sIGhlYXZ5Tm9kZVttYXhuICsgMTBdOwoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGlmIChmb3BlbigiVFFVRVJZLklOUCIsICJyIikpCiAgICB7CiAgICAgICAgZnJlb3BlbigiVFFVRVJZLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIlRRVUVSWS5PVVQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICBjaW4gPj4gbiA+PiBxOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgaW50IHgsIHk7CiAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICBhZGpbeF0ucHVzaF9iYWNrKHkpOwogICAgICAgIGFkalt5XS5wdXNoX2JhY2soeCk7CiAgICB9CiAgICBzID0gc3FydChuKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBoZWF2eU5vZGVbaV0gPSBhZGpbaV0uc2l6ZSgpID4gczsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBmb3IgKGludCB4IDogYWRqW2ldKQogICAgICAgICAgICBpZiAoaGVhdnlOb2RlW3hdKQogICAgICAgICAgICAgICAgaGVhdnlbaV0ucHVzaF9iYWNrKHgpOwogICAgd2hpbGUgKHEtLSkKICAgIHsKICAgICAgICBpbnQgdDsKICAgICAgICBjaW4gPj4gdDsKICAgICAgICBpZiAodCA9PSAxKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHUsIGQ7CiAgICAgICAgICAgIGNpbiA+PiB1ID4+IGQ7CiAgICAgICAgICAgIGlmIChoZWF2eU5vZGVbdV0pIGxhenlbdV0gKz0gZDsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3IgKGludCB2IDogYWRqW3VdKQogICAgICAgICAgICAgICAgICAgIHZhbFt2XSArPSBkOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGludCB1OwogICAgICAgICAgICBjaW4gPj4gdTsKICAgICAgICAgICAgbGwgYW5zID0gdmFsW3VdOwogICAgICAgICAgICBmb3IgKGludCB4IDogaGVhdnlbdV0pCiAgICAgICAgICAgICAgICBhbnMgKz0gbGF6eVt4XTsKICAgICAgICAgICAgY291dCA8PCBhbnMsIGVsOwogICAgICAgIH0KICAgIH0KfQ==