// ROOT : DRAGON3012009
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define el "\n"
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define __ROOT__ int main()
#pragma GCC optimize("O2")
#define FOR(i,l,r) for(int i = l ; i <= r ; i ++)
#define FORD(i,r,l) for(int i = r ; i >= l ; i --)
#define REP(i, a ) for(int i = 0 ; i < a ; i ++ )
#define fi first
#define se second
#define M 1000000007
#define MAXN 1000001
#define INF (1ll<<30)
#define BLOCK_SIZE 425
#define MAX_NODE 1001001
#define LOG 19
#define ALPHA_SIZE 26
#define BASE 311
#define NAME "file"
#define compare(v) sort((v).begin(), (v).end()); (v).erase(unique((v).begin(), (v).end()), (v).end());
using namespace std;
const ll MOD[] = {(ll)1e9 + 2277, (ll)1e9 + 5277, (ll)1e9 + 8277, (ll)1e9 + 9277, (ll) 1e9 + 7 };
const ll NMOD = 1;
const int dx[] = {-1, 0, 1,0};
const int dy[] = {0, 1, 0, -1};
//**Variable**//
ll n , q ;
ll Nodeval[MAXN];
vector<ll> adj[MAXN] ;
vector<ll> heavy[MAXN] ;
ll lazy[MAXN] ;
ll deg[MAXN] ;
//**Struct**//
//**Function**//
template<class X, class Y >
bool minimize(X & x, const Y &y ) {
return x > y ? x = y, 1:0 ;
}
template<class X, class Y >
bool maximize(X &x, const Y &y ) {
return x < y ? x = y, 1:0 ;
}
void init() {
cin>>n>> q ;
FOR(i , 1 , n - 1) {
ll x, y ; cin >> x >> y ;
adj[x].push_back(y) ;
adj[y].push_back(x) ;
deg[x] ++ ;
deg[y] ++ ;
}
FOR(u , 1 , n) {
for(ll v : adj[u]) {
if(deg[u] > BLOCK_SIZE || deg[v] > BLOCK_SIZE ) {
heavy[u].push_back(v) ;
}
}
}
}
void solve() {
FOR(i , 1 , q) {
ll t, u , x ; cin >> t >> u ;
if(t == 1 ) {
cin >> x ;
if(deg[u] > BLOCK_SIZE) lazy[u] += x ;
else {
for(ll v : adj[u]) Nodeval[v] += x ;
}
}else {
ll res = Nodeval[u] ;
for(ll v : heavy[u]) res += lazy[v] ;
cout<< res <<el;
}
}
}
__ROOT__ {
// freopen(NAME".inp" , "r" , stdin);
// freopen(NAME".out" , "w", stdout) ;
fast;
int t =1 ;// cin >> t;
while(t-- ) {
init();
solve();
}
}
Ly8gUk9PVCA6IERSQUdPTjMwMTIwMDkKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBlbCAiXG4iCiNkZWZpbmUgZmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBfX1JPT1RfXyBpbnQgbWFpbigpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJPMiIpCiNkZWZpbmUgRk9SKGksbCxyKSBmb3IoaW50IGkgPSBsIDsgaSA8PSByIDsgaSArKykKI2RlZmluZSBGT1JEKGkscixsKSBmb3IoaW50IGkgPSByIDsgaSA+PSBsIDsgaSAtLSkKI2RlZmluZSBSRVAoaSwgYSApIGZvcihpbnQgaSA9IDAgOyBpIDwgYSA7IGkgKysgKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgTSAxMDAwMDAwMDA3CiNkZWZpbmUgTUFYTiAxMDAwMDAxCiNkZWZpbmUgSU5GICgxbGw8PDMwKQojZGVmaW5lIEJMT0NLX1NJWkUgNDI1CiNkZWZpbmUgTUFYX05PREUgMTAwMTAwMQojZGVmaW5lIExPRyAxOQojZGVmaW5lIEFMUEhBX1NJWkUgMjYKI2RlZmluZSBCQVNFIDMxMQojZGVmaW5lIE5BTUUgImZpbGUiCiNkZWZpbmUgY29tcGFyZSh2KSBzb3J0KCh2KS5iZWdpbigpLCAodikuZW5kKCkpOyAodikuZXJhc2UodW5pcXVlKCh2KS5iZWdpbigpLCAodikuZW5kKCkpLCAodikuZW5kKCkpOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBsbCBNT0RbXSA9IHsobGwpMWU5ICsgMjI3NywgKGxsKTFlOSArIDUyNzcsIChsbCkxZTkgKyA4Mjc3LCAobGwpMWU5ICsgOTI3NywgKGxsKSAxZTkgKyA3IH07CmNvbnN0IGxsIE5NT0QgPSAxOwpjb25zdCBpbnQgZHhbXSA9IHstMSwgMCwgMSwwfTsKY29uc3QgaW50IGR5W10gPSB7MCwgMSwgMCwgLTF9OwovLyoqVmFyaWFibGUqKi8vCmxsIG4gLCBxICA7CmxsIE5vZGV2YWxbTUFYTl07CnZlY3RvcjxsbD4gYWRqW01BWE5dIDsKdmVjdG9yPGxsPiBoZWF2eVtNQVhOXSA7CmxsIGxhenlbTUFYTl0gOwpsbCBkZWdbTUFYTl0gOwovLyoqU3RydWN0KiovLwoKLy8qKkZ1bmN0aW9uKiovLwp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZID4KYm9vbCBtaW5pbWl6ZShYICYgeCwgY29uc3QgWSAmeSApIHsKICAgIHJldHVybiB4ID4geSA/IHggPSB5LCAxOjAgOwp9CnRlbXBsYXRlPGNsYXNzIFgsIGNsYXNzIFkgPgpib29sIG1heGltaXplKFggJngsIGNvbnN0IFkgJnkgKSB7CiAgICByZXR1cm4geCA8IHkgPyB4ID0geSwgMTowIDsKfQoKdm9pZCBpbml0KCkgewogICAgY2luPj5uPj4gcSA7CiAgICBGT1IoaSAsIDEgLCBuIC0gMSkgewogICAgbGwgeCwgeSA7IGNpbiA+PiB4ID4+IHkgOwogICAgYWRqW3hdLnB1c2hfYmFjayh5KSA7CiAgICBhZGpbeV0ucHVzaF9iYWNrKHgpIDsKICAgIGRlZ1t4XSArKyA7CiAgICBkZWdbeV0gKysgOwogICAgfQogICAgRk9SKHUgLCAxICwgbikgIHsKICAgIGZvcihsbCB2IDogYWRqW3VdKSB7CiAgICAgICAgaWYoZGVnW3VdID4gQkxPQ0tfU0laRSB8fCBkZWdbdl0gPiBCTE9DS19TSVpFICkgewogICAgICAgICAgICBoZWF2eVt1XS5wdXNoX2JhY2sodikgOwogICAgICAgIH0KICAgIH0KICAgIH0KfQoKdm9pZCBzb2x2ZSgpIHsKICAgIEZPUihpICwgMSAsIHEpIHsKICAgIGxsIHQsIHUgLCB4IDsgY2luID4+IHQgPj4gdSA7CiAgICBpZih0ID09IDEgKSB7CiAgICAgICAgY2luID4+IHggOwogICAgICAgIGlmKGRlZ1t1XSA+IEJMT0NLX1NJWkUpIGxhenlbdV0gKz0geCA7CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGZvcihsbCB2IDogYWRqW3VdKSBOb2RldmFsW3ZdICs9IHggOwogICAgICAgIH0KICAgIH1lbHNlIHsKICAgIGxsIHJlcyA9IE5vZGV2YWxbdV0gIDsKICAgIGZvcihsbCB2IDogaGVhdnlbdV0pIHJlcyArPSBsYXp5W3ZdIDsKICAgIGNvdXQ8PCByZXMgPDxlbDsKICAgIH0KICAgIH0KfQoKX19ST09UX18gewovLyAgICAgZnJlb3BlbihOQU1FIi5pbnAiICwgInIiICwgc3RkaW4pOwovLyAgICAgZnJlb3BlbihOQU1FIi5vdXQiICwgInciLCBzdGRvdXQpIDsKICAgIGZhc3Q7CiAgICBpbnQgdCA9MSA7Ly8gICAgY2luID4+IHQ7CiAgICB3aGlsZSh0LS0gKSB7CiAgICAgICAgaW5pdCgpOwogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=