/*
TASK:bands
LANG:C++
*/
#include<iostream>
#include<vector>
using namespace std;
struct lenta
{ int a;int b;int c;int av;};
int main()
{ int n;long long m;
cin>>n>>m;
int i;vector <lenta> l; 


for(i=0;i<m;i++)
 { int h;
  cin>>h;
  if(h==1)
  { lenta g;
    cin>>g.a>>g.b>>g.c;
    g.av=1;
    l.push_back(g);
    continue;
  }
  if(h==2)
   { int f;int k;
     cin>>f>>k;
     int j;
     for(j=l.size()-1;j>=0;j--)
       if(l[j].a==f&&l[j].b==k&&l[j].av==1)
          {l[j].av=0;break;}
     continue;
   }
   if(h==3)
    { int g;
      cin>>g;
      int j;int l1=0;
      for(j=l.size()-1;j>=0;j--)
        if(l[j].a<=g&&l[j].b>=(g+1)&&l[j].av==1)
       {  l1=1;cout<<l[j].c<<"\n";break;}
      if(l1==0)cout<<0<<"\n";
      
      continue;
    }
 }
//system("pause");
}     
          
            
   
