/*
TASK: bands
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;

#define MAXN 5000
#define MAXM 5000

int mas[MAXN][MAXM];
int f[MAXN];

int n,m;

int main() {
    cin>>n>>m;
    int command;
    int i,j;
    for(j=0;j<m;j++) {
        cin>>command;
        if(command==1) {
             int spos,epos,col;
             cin>>spos>>epos>>col;
             for(i=spos;i<epos;i++)mas[i][++f[i]]=col;          
        }
        else if(command==2) {
             int spos,epos;
             cin>>spos>>epos;
             for(i=spos;i<epos;i++)f[i]--;
        }
        else {
             int pos;
             cin>>pos;
             cout<<mas[pos][f[pos]];     
             //for(i=0;i<n;i++)cout<<f[i]<<" "<<endl;
        }                    
    }
    //cin>>i;
    return 0;   
}
