#include <bits/stdc++.h>
using namespace std;
const int inf = 2147483647;
typedef long long ll;
inline int read()
{
int x = 0, f = 1;
char ch = getchar();
while(ch < '0' || ch >'9')
{
if(ch == '-')
{
f = -1;
}
ch = getchar();
}
while(ch >= '0' && ch <= '9')
{
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * f;
}
int n, m;
int a[1005];
struct num
{
int k;
int cnt;
}b[1005];
bool cmp(num x, num y)
{
return x.cnt > y.cnt;
}
int most(int x, int y)
{
int len = 1;
for (int i = x; i <= y; i++)
{
for (int j = 1; j <= len; j++)
{
if (a[i] != b[j].k)
{
b[len].k = a[i];
len++;
b[i].cnt++;
break;
}
}
}
sort(b, b + n, cmp);
cout << b[0].k << endl;
}
int main()
{
n = read();
m = read();
for (int i = 1; i <= n; i++)
{
a[i] = read();
}
b[0].k = a[1];
b[0].cnt = 1;
for (int i = 1; i <= m; i++)
{
int f, x, y;
f = read();
x = read();
y = read();
switch(f)
{
case 0:
most(x, y);
continue;
case 1:
a[x] = y;
continue;
}
}
return 0;
}