#include<bits/stdc++.h>
using namespace std;
int a;
int main(){
int n,m,k,t,l;queue<int>q;
cin>>n>>m>>k;
for(int i=1;i<=n;i++){
cin>>a;
q.push(a);
}
for(int i=1;i<=m;i++){
cin>>t;
if(t==1){
cin>>l;
for(int j=1;j<=q.size();j++){
if(abs(q.front()+l)>k){
q.pop();
continue;
}
q.push(q.front());
q.pop();
}
}else if(t==2){
cin>>l;
for(int j=1;j<=q.size();j++){
if(abs(q.front()-l)>k){
q.pop();
continue;
}
q.push(q.front());
q.pop();
}
}else if(t==3){
cout<<q.size()<<"\n";
}
}
return 0;
}