/*
TASK: bands
LANG: C++ 
*/
#include<cstdio>
#include<vector>
using namespace std;
int main()
{
    int i,j,N,M,t,p,q,c,n;
    int A[21000];
    scanf("%d %d",&N,&M);
    vector<vector<int> > d(N+1);
    for(i=0;i<M;i++)
    {
        scanf("%d",&t);
        if(t==2)
        {
            scanf("%d %d",&p,&q);
            for(j=p;j<q;j++)
            {
                n=d[j].size();
                if(n<2)A[j]=0;
                else
                {
                    d[j].pop_back();
                    A[j]=d[j][n-1];
                }
            }
        }
        if(t==1)
        {  
            scanf("%d %d %d",&p,&q,&c);
            for(j=p;j<q;j++)
            {
                A[j]=c;
                d[j].push_back(c);
            }
        }
        if(t==3)
        {
            scanf("%d",&p);
            printf("%d\n",A[p]);
        }
    }
    return 0;
}
