/*
TASK:bands
LANG:C++
*/

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int from[100000] , to[100000],col[100000];
int main()
{
    int N,M;
    cin>>N>>M;
    int count=0;
    int op,b,e,c,curcount,x,fnd;
    for ( int i=0 ; i<M ; i++ )
    {
           cin>>op;
           if (op==1)
           {
                     cin>>from[count]>>to[count]>>col[count];
                     count++;
                     
           }
           else if(op==3)
           {
                cin>>x;
                fnd=0;
                for (int co=count-1;co>=0;co--)
                    if (from[co]<=x && x<=to[co])
                    {
                       cout<<col[co]<<endl;
                       fnd=1;
                       break;
                    };
                if (fnd==0) cout<<0<<endl;

           }
           else if(op==2)
                cin>>x>>x;
    };
    return 0;
};
