#include <bits/stdc++.h>
const long long N = 1e12;
struct SegmentTree {
    std::vector<long long> seg_data{0}, mx{N};
    std::vector<int> L{0}, R{0};
 
    void check(int &x, long long rx){
        if(x) return;
        x = (int)seg_data.size();
        seg_data.push_back(0);
        mx.push_back(rx-1);
        L.push_back(0);
        R.push_back(0);
    }
 
    long long get(long long i, long long ni=0, long long lx=-N, long long rx=N+1){
        if(rx - lx == 1)
            return seg_data[ni]+lx;
 
        long long mid = (lx + rx) / 2;
        if(i < mid) {
            check(L[ni], mid);
            return get(i, L[ni], lx, mid) + seg_data[ni];
        }
        check(R[ni], rx);
        return get(i, R[ni], mid, rx)+seg_data[ni];
    }
 
    void add(long long l, long long r, int v, long long ni=0, long long lx=-N, long long rx=N+1) {
 
        if(lx >= l && rx <= r) {
            seg_data[ni] += v;
            mx[ni] += v;
            return;
        }
        if(rx <= l || lx >= r)
            return;
 
        long long mid = (lx + rx) / 2;
        check(L[ni], mid);
        add(l, r, v, L[ni], lx, mid);
        check(R[ni], rx);
        add(l, r, v, R[ni], mid, rx);
 
        mx[ni] = mx[R[ni]]+seg_data[ni];
    }
 
    long long upper_bound(long long x, long long ni=0, long long lx=-N, long long rx=N){
        x -= seg_data[ni];
        if(rx-lx==1)
            return lx > x ? lx : rx;
        long long mid = (lx+rx)/2;
        check(L[ni], mid);
        if(mx[L[ni]] > x)
            return upper_bound(x, L[ni], lx, mid);
        check(R[ni], rx);
        return upper_bound(x, R[ni], mid, rx);
    }
};
int main() {
    std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr);
    int n, q;
    std::cin >> n >> q;
    SegmentTree st;
    auto add = [&]()->void{
        long long p;
        int a, b;
        std::cin >> p >> a >> b;
        long long l = st.upper_bound(p);
        st.add(-N, l, -b);
        st.add(l, N+1, a);
    };
    while(n--)
        add();
    while(q--){
        int op;
        std::cin >> op;
        if(op == 1)
            add();
        else {
            long long x;
            std::cin >> x;
            std::cout << st.get(x) << '\n';
        }
    }
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CmNvbnN0IGxvbmcgbG9uZyBOID0gMWUxMjsKc3RydWN0IFNlZ21lbnRUcmVlIHsKICAgIHN0ZDo6dmVjdG9yPGxvbmcgbG9uZz4gc2VnX2RhdGF7MH0sIG14e059OwogICAgc3RkOjp2ZWN0b3I8aW50PiBMezB9LCBSezB9OwoKICAgIHZvaWQgY2hlY2soaW50ICZ4LCBsb25nIGxvbmcgcngpewogICAgICAgIGlmKHgpIHJldHVybjsKICAgICAgICB4ID0gKGludClzZWdfZGF0YS5zaXplKCk7CiAgICAgICAgc2VnX2RhdGEucHVzaF9iYWNrKDApOwogICAgICAgIG14LnB1c2hfYmFjayhyeC0xKTsKICAgICAgICBMLnB1c2hfYmFjaygwKTsKICAgICAgICBSLnB1c2hfYmFjaygwKTsKICAgIH0KCiAgICBsb25nIGxvbmcgZ2V0KGxvbmcgbG9uZyBpLCBsb25nIGxvbmcgbmk9MCwgbG9uZyBsb25nIGx4PS1OLCBsb25nIGxvbmcgcng9TisxKXsKICAgICAgICBpZihyeCAtIGx4ID09IDEpCiAgICAgICAgICAgIHJldHVybiBzZWdfZGF0YVtuaV0rbHg7CgogICAgICAgIGxvbmcgbG9uZyBtaWQgPSAobHggKyByeCkgLyAyOwogICAgICAgIGlmKGkgPCBtaWQpIHsKICAgICAgICAgICAgY2hlY2soTFtuaV0sIG1pZCk7CiAgICAgICAgICAgIHJldHVybiBnZXQoaSwgTFtuaV0sIGx4LCBtaWQpICsgc2VnX2RhdGFbbmldOwogICAgICAgIH0KICAgICAgICBjaGVjayhSW25pXSwgcngpOwogICAgICAgIHJldHVybiBnZXQoaSwgUltuaV0sIG1pZCwgcngpK3NlZ19kYXRhW25pXTsKICAgIH0KCiAgICB2b2lkIGFkZChsb25nIGxvbmcgbCwgbG9uZyBsb25nIHIsIGludCB2LCBsb25nIGxvbmcgbmk9MCwgbG9uZyBsb25nIGx4PS1OLCBsb25nIGxvbmcgcng9TisxKSB7CgogICAgICAgIGlmKGx4ID49IGwgJiYgcnggPD0gcikgewogICAgICAgICAgICBzZWdfZGF0YVtuaV0gKz0gdjsKICAgICAgICAgICAgbXhbbmldICs9IHY7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYocnggPD0gbCB8fCBseCA+PSByKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGxvbmcgbG9uZyBtaWQgPSAobHggKyByeCkgLyAyOwogICAgICAgIGNoZWNrKExbbmldLCBtaWQpOwogICAgICAgIGFkZChsLCByLCB2LCBMW25pXSwgbHgsIG1pZCk7CiAgICAgICAgY2hlY2soUltuaV0sIHJ4KTsKICAgICAgICBhZGQobCwgciwgdiwgUltuaV0sIG1pZCwgcngpOwoKICAgICAgICBteFtuaV0gPSBteFtSW25pXV0rc2VnX2RhdGFbbmldOwogICAgfQoKICAgIGxvbmcgbG9uZyB1cHBlcl9ib3VuZChsb25nIGxvbmcgeCwgbG9uZyBsb25nIG5pPTAsIGxvbmcgbG9uZyBseD0tTiwgbG9uZyBsb25nIHJ4PU4pewogICAgICAgIHggLT0gc2VnX2RhdGFbbmldOwogICAgICAgIGlmKHJ4LWx4PT0xKQogICAgICAgICAgICByZXR1cm4gbHggPiB4ID8gbHggOiByeDsKICAgICAgICBsb25nIGxvbmcgbWlkID0gKGx4K3J4KS8yOwogICAgICAgIGNoZWNrKExbbmldLCBtaWQpOwogICAgICAgIGlmKG14W0xbbmldXSA+IHgpCiAgICAgICAgICAgIHJldHVybiB1cHBlcl9ib3VuZCh4LCBMW25pXSwgbHgsIG1pZCk7CiAgICAgICAgY2hlY2soUltuaV0sIHJ4KTsKICAgICAgICByZXR1cm4gdXBwZXJfYm91bmQoeCwgUltuaV0sIG1pZCwgcngpOwogICAgfQp9OwppbnQgbWFpbigpIHsKICAgIHN0ZDo6aW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IHN0ZDo6Y2luLnRpZShudWxscHRyKTsKICAgIGludCBuLCBxOwogICAgc3RkOjpjaW4gPj4gbiA+PiBxOwogICAgU2VnbWVudFRyZWUgc3Q7CiAgICBhdXRvIGFkZCA9IFsmXSgpLT52b2lkewogICAgICAgIGxvbmcgbG9uZyBwOwogICAgICAgIGludCBhLCBiOwogICAgICAgIHN0ZDo6Y2luID4+IHAgPj4gYSA+PiBiOwogICAgICAgIGxvbmcgbG9uZyBsID0gc3QudXBwZXJfYm91bmQocCk7CiAgICAgICAgc3QuYWRkKC1OLCBsLCAtYik7CiAgICAgICAgc3QuYWRkKGwsIE4rMSwgYSk7CiAgICB9OwogICAgd2hpbGUobi0tKQogICAgICAgIGFkZCgpOwogICAgd2hpbGUocS0tKXsKICAgICAgICBpbnQgb3A7CiAgICAgICAgc3RkOjpjaW4gPj4gb3A7CiAgICAgICAgaWYob3AgPT0gMSkKICAgICAgICAgICAgYWRkKCk7CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGxvbmcgbG9uZyB4OwogICAgICAgICAgICBzdGQ6OmNpbiA+PiB4OwogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgc3QuZ2V0KHgpIDw8ICdcbic7CiAgICAgICAgfQogICAgfQp9