{
TASK:bands
LANG:Pascal
}

var
a:array [0..20000] of word;
{b:array [0..255,1..1000] of integer;}
{c:array [0..255] of integer;}
i,j,c,n,m,l,k:integer;

procedure add(i,j,c:integer);
 var k:integer;
 begin

 for k:=i to j-1 do a[k]:=c;


 end;



begin

read(n,m);
for k:=1 to m do
begin
read(l);
if l=1 then begin read(i,j,c); add(i,j,c); end
else
if l=2 then begin read(i,j); end
else
if l=3 then begin read(i); writeln(a[i]); end;


end;

end.
