#include <bits/stdc++.h>
using namespace std;
#define F(n) for (int i = 0; i < n; ++i)
int main() {
int n, q;
cin >> n >> q;
vector<int> x;
F(n) {
int tmp;
cin >> tmp;
x.push_back(tmp);
}
vector<int> result;
F(q) {
int type, a, b;
cin >> type >> a >> b;
if (type == 1) {
x[a - 1] = b;
} else if (type == 2) {
int min = *min_element(x.begin() + a - 1, x.begin() + b);
// cout << "min: " << min << endl;
result.push_back(min);
}
}
F(static_cast<int>(result.size())) {
cout << result[i] << endl;
}
return (0);
}