#include <bits/stdc++.h>
using namespace std;
const int maxn = 200005;
int n, q, segTree[4 * maxn];
inline char readChar() {
const int S = 1<<20; // buffer size
static char buf[S], *p = buf, *q = buf;
if(p == q && (q = (p=buf)+fread(buf,1,S,stdin)) == buf) return EOF;
return *p++;
}
inline int readInt() {
int x = 0, c = readChar(), neg = false;
while(('0' > c || c > '9') && c!='-' && c!=EOF) c = readChar();
if(c == '-') neg = true, c = readChar();
while('0' <= c && c <= '9') x = x*10 + (c^'0'), c = readChar();
if(neg) x = -x;
return x; // returns 0 if EOF
}
void update(int ux, int u, int x, int l, int r){
if (l == r){
segTree[x] = u;
return;
}
int mid = (l + r) >> 1;
if (ux <= mid) update(ux, u, 2 * x, l, mid);
else update(ux, u, 2 * x + 1, mid + 1, r);
segTree[x] = min(segTree[2 * x], segTree[2 * x + 1]);
}
int query(int ql, int qr, int x, int l, int r){
if (ql <= l && r <= qr) return segTree[x];
int mid = (l + r) >> 1, ret = 1e9;
if (ql <= mid) ret = query(ql, qr, 2 * x, l, mid);
if (mid < qr) ret = query(ql, qr, 2 * x + 1, mid + 1, r);
return ret;
}
int main(){
n = readInt();
q = readInt();
for (int i = 1, a; i <= n; i++){
a = readInt();
update(i, a, 1, 1, n);
}
for (int i = 0, type, a, b; i < q; i++){
type = readInt();
a = readInt();
b = readInt();
if (type == 1){
update(a, b, 1, 1, n);
}
else{
cout << query(a, b, 1, 1, n) << "\n";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBtYXhuID0gMjAwMDA1OwppbnQgbiwgcSwgc2VnVHJlZVs0ICogbWF4bl07CgppbmxpbmUgY2hhciByZWFkQ2hhcigpIHsKCWNvbnN0IGludCBTID0gMTw8MjA7IC8vIGJ1ZmZlciBzaXplCglzdGF0aWMgY2hhciBidWZbU10sICpwID0gYnVmLCAqcSA9IGJ1ZjsKCWlmKHAgPT0gcSAmJiAocSA9IChwPWJ1ZikrZnJlYWQoYnVmLDEsUyxzdGRpbikpID09IGJ1ZikgcmV0dXJuIEVPRjsKCXJldHVybiAqcCsrOwp9CgppbmxpbmUgaW50IHJlYWRJbnQoKSB7CglpbnQgeCA9IDAsIGMgPSByZWFkQ2hhcigpLCBuZWcgPSBmYWxzZTsKCXdoaWxlKCgnMCcgPiBjIHx8IGMgPiAnOScpICYmIGMhPSctJyAmJiBjIT1FT0YpIGMgPSByZWFkQ2hhcigpOwoJaWYoYyA9PSAnLScpIG5lZyA9IHRydWUsIGMgPSByZWFkQ2hhcigpOwoJd2hpbGUoJzAnIDw9IGMgJiYgYyA8PSAnOScpIHggPSB4KjEwICsgKGNeJzAnKSwgYyA9IHJlYWRDaGFyKCk7CglpZihuZWcpIHggPSAteDsKCXJldHVybiB4OyAvLyByZXR1cm5zIDAgaWYgRU9GCn0KICAKdm9pZCB1cGRhdGUoaW50IHV4LCBpbnQgdSwgaW50IHgsIGludCBsLCBpbnQgcil7CiAgICBpZiAobCA9PSByKXsKICAgICAgICBzZWdUcmVlW3hdID0gdTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpbnQgbWlkID0gKGwgKyByKSA+PiAxOwogICAgaWYgKHV4IDw9IG1pZCkgdXBkYXRlKHV4LCB1LCAyICogeCwgbCwgbWlkKTsKICAgIGVsc2UgdXBkYXRlKHV4LCB1LCAyICogeCArIDEsIG1pZCArIDEsIHIpOwogICAgc2VnVHJlZVt4XSA9IG1pbihzZWdUcmVlWzIgKiB4XSwgc2VnVHJlZVsyICogeCArIDFdKTsKfQogIAppbnQgcXVlcnkoaW50IHFsLCBpbnQgcXIsIGludCB4LCBpbnQgbCwgaW50IHIpewogICAgaWYgKHFsIDw9IGwgJiYgciA8PSBxcikgcmV0dXJuIHNlZ1RyZWVbeF07CiAgICBpbnQgbWlkID0gKGwgKyByKSA+PiAxLCByZXQgPSAxZTk7CiAgICBpZiAocWwgPD0gbWlkKSByZXQgPSBxdWVyeShxbCwgcXIsIDIgKiB4LCBsLCBtaWQpOwogICAgaWYgKG1pZCA8IHFyKSByZXQgPSBxdWVyeShxbCwgcXIsIDIgKiB4ICsgMSwgbWlkICsgMSwgcik7CiAgICByZXR1cm4gcmV0Owp9CiAgCmludCBtYWluKCl7CiAgICBuID0gcmVhZEludCgpOwogICAgcSA9IHJlYWRJbnQoKTsKICAgIGZvciAoaW50IGkgPSAxLCBhOyBpIDw9IG47IGkrKyl7CiAgICAgICAgYSA9IHJlYWRJbnQoKTsKICAgICAgICB1cGRhdGUoaSwgYSwgMSwgMSwgbik7CiAgICB9CiAgICBmb3IgKGludCBpID0gMCwgdHlwZSwgYSwgYjsgaSA8IHE7IGkrKyl7CiAgICAgICAgdHlwZSA9IHJlYWRJbnQoKTsKICAgICAgICBhID0gcmVhZEludCgpOwoJCWIgPSByZWFkSW50KCk7CiAgICAgICAgaWYgKHR5cGUgPT0gMSl7CiAgICAgICAgICAgIHVwZGF0ZShhLCBiLCAxLCAxLCBuKTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgY291dCA8PCBxdWVyeShhLCBiLCAxLCAxLCBuKSA8PCAiXG4iOwogICAgICAgIH0KICAgIH0KfQ==