/*
TASK:bands
LANG:C++
*/
#include <iostream>
#include <vector>

#define debln(a) cout<<#a<<" : "<<a<<endl

using namespace std;

int n,m;
vector< pair<int ,int > > intervals;
vector<int> color;

int main(){
    cin>>n>>m;
   // scanf("%d %d\n",n,m);
    int a,b,c,d;
    for(int k=0;k<m;k++){
        cin>>a;
     //   scanf("%d",a);
        if(a==1){
           cin>>b>>c>>d;
           //scanf("%d%d%d\n",b,c,d);      
           pair<int ,int > p;
           p=make_pair(min(b,c),max(b,c));
           intervals.push_back(p);
           color.push_back(d);
        }
        else if( a==2){
                cin>>b>>c;
             //   scanf("%d%d\n",b,c);
                for(int i=intervals.size()-1;i>-1;i--)
                    if(intervals[i].first==b && intervals[i].second==c){
                       intervals[i].first=0;
                       intervals[i].second=0;
                       color[i]=0;
                       break;
                    }
        }
        else if(a==3){
                cin>>b;
                //scanf("%d\n",b);
                bool tf=0;
                for(int i=intervals.size()-1;i>-1;i--)
                    if(b>=intervals[i].first && b+1<=intervals[i].second){
                    //   printf("%d\n",color[i]);
                       cout<<color[i]<<"\n";
                       tf=1;
                       break;
                    }
                if(!tf) cout<<0<<"\n";//printf("%d\n",0);
        }
    }
   // system("pause");
    return 0;
}
