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

using namespace std;

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

int main(){
    cin>>n>>m;
    int a,b,c,d;
    for(int k=0;k<m;k++){
        cin>>a;
        if(a==1){
           cin>>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;
                if(b>c) swap(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;
                bool tf=0;
                for(int i=intervals.size()-1;i>-1;i--)
                    if(b>=intervals[i].first && b+1<=intervals[i].second){
                       cout<<color[i]<<"\n";
                       tf=1;
                       break;
                    }
                if(!tf) cout<<0<<"\n";
        }
    }
    return 0;
}
