/*
TASK:bands
LANG:C++
*/
#include <iostream>
#include <stack>
using namespace std;

	stack <short int> m[5001];
int N,M;

int main()
{
//	freopen("test.txt","r",stdin);
//	freopen("test1.txt","w",stdout);
	int i,j,c;
	cin>>N>>M;	
		for(i=0;i<=N;i++)
			{
				m[i].push(0);
			}
		for(i=1;i<=M;i++)
			{
				cin>>c;
					if(c==1)
						{
							int a,b,f;
							cin>>a>>b>>f;
								for(j=a;j<=b-1;j++)
									{
										m[j].push(f);
									}
								//cout<<a<<b<<f<<endl;	
						}
					if(c==2)
						{
							int a,b;
							cin>>a>>b;
							int t=0;
							for(j=a+1;j<=b-1;j++)
								{
									if(m[j].top()!=m[j-1].top())
										t=1;
										break;
								}
							if(t==0)
								{
									for(j=a;j<=b-1;j++)
										{
											m[j].pop();
										}
								}
						}
					if(c==3)
						{
							int a;
							cin>>a;
							cout<<m[a].top()<<endl;
						}			
		}	
	/*	for(i=0;i<=N;i++)
			{
				cout<<m[i].top()<<" ";
				
			}
			cout<<endl;
	*/
	return 0;
}
