#include <stdio.h>
#include <set>

std::set< std::pair<long long int,int> > S;
long long int count[100010];

int main()
{
	long long int a;
	int b;
	scanf("%lld%d",&a,&b);
	for(int i=1;i<=b;i++)
	{
		long long int c;
		scanf("%lld",&c);
		count[i] = c;
	}
	
	for(int i=1;i<=b;i++) S.insert(std::make_pair(count[i],i));
	
	int c;
	scanf("%d",&c);
	while(c--)
	{
		int d,e;
		long long int f;
		scanf("%d%d%lld",&d,&e,&f);
		if(d==3)
		{
			std::set< std::pair<long long int,int> > ::iterator it = S.end();
			it--;
			printf("%d\n",it->second);
		}
		else
		{
			if(d==2) f*=(-1);
			S.erase(std::make_pair(count[e],e));
			count[e] += f;
			S.insert(std::make_pair(count[e],e));
		}
	}
}