import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import static java.
lang.
Integer.
MAX_VALUE; import static java.
lang.
Integer.
parseInt; import static java.
lang.
Math.
min;
class SegmentTree {
static int t[] = new int[200005];
static int a[] = new int[200005];
int n, l, r, q, x, y;
s = br.readLine().split("\\s");
n = parseInt(s[0]);
q = parseInt(s[1]);
s = br.readLine().split("\\s");
for (int i = 0; i < n; i++) {
a[i] = parseInt(s[i]);
}
buildTree(a, n);
for (int i = 0; i < q; i++) {
s = br.readLine().split("\\s");
if ("q".equals(s[0])) {
l = parseInt(s[1]);
r = parseInt(s[2]);
System.
out.
println(query
(--l, r, n
)); } else {
x = parseInt(s[1]);
y = parseInt(s[2]);
update(--x, y, n);
}
}
}
private static void update(int x, int y, int n) {
x += n;
t[x] = y;
for ( ; x > 1; x >>= 1) {
t[x>>1] = min(t[x], t[(x) ^ 1]);
}
}
private static int query(int l, int r,int n) {
for (l += n, r += n; l < r; l >>= 1, r >>= 1) {
if ((l & 1) == 1) {
ans = min(ans, t[l++]);
}
if ((r & 1) == 1) {
ans = min(ans, t[--r]);
}
}
return ans;
}
private static void buildTree(int[] a, int n) {
System.
arraycopy(a,
0, t, n, n
); //for (int i = 0; i < n; ++i) t[n+i]=a[i];
for (int i = n - 1; i > 0; i--) {
t[i] = min(t[i << 1], t[(i << 1) + 1]);
}
}
}
aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEudXRpbC5BcnJheXM7CgppbXBvcnQgc3RhdGljIGphdmEubGFuZy5JbnRlZ2VyLk1BWF9WQUxVRTsKaW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuSW50ZWdlci5wYXJzZUludDsKaW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuTWF0aC5taW47CgpjbGFzcyBTZWdtZW50VHJlZSB7CgogICAgc3RhdGljIGludCB0W10gPSBuZXcgaW50WzIwMDAwNV07CiAgICBzdGF0aWMgaW50IGFbXSA9IG5ldyBpbnRbMjAwMDA1XTsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIEJ1ZmZlcmVkUmVhZGVyIGJyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKICAgICAgICBpbnQgbiwgbCwgciwgcSwgeCwgeTsKICAgICAgICBTdHJpbmcgc1tdOwoKICAgICAgICBzID0gYnIucmVhZExpbmUoKS5zcGxpdCgiXFxzIik7CiAgICAgICAgbiA9IHBhcnNlSW50KHNbMF0pOwogICAgICAgIHEgPSBwYXJzZUludChzWzFdKTsKCiAgICAgICAgcyA9IGJyLnJlYWRMaW5lKCkuc3BsaXQoIlxccyIpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGFbaV0gPSBwYXJzZUludChzW2ldKTsKICAgICAgICB9CgogICAgICAgIGJ1aWxkVHJlZShhLCBuKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHE7IGkrKykgewogICAgICAgICAgICBzID0gYnIucmVhZExpbmUoKS5zcGxpdCgiXFxzIik7CiAgICAgICAgICAgIGlmICgicSIuZXF1YWxzKHNbMF0pKSB7CiAgICAgICAgICAgICAgICBsID0gcGFyc2VJbnQoc1sxXSk7CiAgICAgICAgICAgICAgICByID0gcGFyc2VJbnQoc1syXSk7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ocXVlcnkoLS1sLCByLCBuKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB4ID0gcGFyc2VJbnQoc1sxXSk7CiAgICAgICAgICAgICAgICB5ID0gcGFyc2VJbnQoc1syXSk7CiAgICAgICAgICAgICAgICB1cGRhdGUoLS14LCB5LCBuKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyB2b2lkIHVwZGF0ZShpbnQgeCwgaW50IHksIGludCBuKSB7CgoKICAgICAgICB4ICs9IG47CiAgICAgICAgdFt4XSA9IHk7CiAgICAgICAgZm9yICggOyB4ID4gMTsgeCA+Pj0gMSkgewogICAgICAgICAgICB0W3g+PjFdID0gbWluKHRbeF0sIHRbKHgpIF4gMV0pOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyBpbnQgcXVlcnkoaW50IGwsIGludCByLGludCBuKSB7CgogICAgICAgIGludCBhbnMgPSBJbnRlZ2VyLk1BWF9WQUxVRTsKICAgICAgICBmb3IgKGwgKz0gbiwgciArPSBuOyBsIDwgcjsgbCA+Pj0gMSwgciA+Pj0gMSkgewogICAgICAgICAgICBpZiAoKGwgJiAxKSA9PSAxKSB7CiAgICAgICAgICAgICAgICBhbnMgPSBtaW4oYW5zLCB0W2wrK10pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgociAmIDEpID09IDEpIHsKICAgICAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIHRbLS1yXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyB2b2lkIGJ1aWxkVHJlZShpbnRbXSBhLCBpbnQgbikgewogICAgICAgIEFycmF5cy5maWxsKHQsIDAsIDIgKiBuICwgSW50ZWdlci5NQVhfVkFMVUUpOwogICAgICAgIFN5c3RlbS5hcnJheWNvcHkoYSwgMCwgdCwgbiwgbik7CiAgICAgICAgLy9mb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgdFtuK2ldPWFbaV07CiAgICAgICAgZm9yIChpbnQgaSA9IG4gLSAxOyBpID4gMDsgaS0tKSB7CiAgICAgICAgICAgIHRbaV0gPSBtaW4odFtpIDw8IDFdLCB0WyhpIDw8IDEpICsgMV0pOwogICAgICAgIH0KICAgIH0KfQ==