This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define pb push_back
#define LL long long
#define Kultivator ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define int LL
using namespace std;
const LL Mxn = 1e6 + 7;
const LL Mod = 1e9 + 7;
const LL Inf = 1e14 + 7;
bool Used[Mxn];
int N, t, Dup, lastans, Cnt;
vector <pair <int, int>> g;
int Check(int L, int R, int K){
    int Ans = 0;
    for(int i = 0; i < Cnt; i++){
        if(Used[i]) continue;
        int U = min(R, g[i].second) - max(L, g[i].first) + 1;
        if(U >= K) Ans++;
    }
    return Ans;
}
signed main(){
    Kultivator;
    cin >> N >> t;
    Dup += N;
    while(Dup--){
        int T;
        cin >> T;
        if(T == 1){
            int L, R;
            cin >> L >> R;
            L = (L ^ (t * lastans));
            R = (R ^ (t * lastans));
            Cnt++;
            if(L > R) swap(L, R);
            g.pb({L, R});
        } else if(T == 2){
            int Id;
            cin >> Id;
            Used[Id - 1] = true;
        } else {
            int L, R, K;
            cin >> L >> R >> K;
            L = (L ^ (t * lastans));
            R = (R ^ (t * lastans));
            if(L > R) swap(L, R);
            lastans = Check(L, R, K);
            cout << lastans << '\n';
        }
    }
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |