#include #include using namespace std; using P = pair; int main() { int N, Q; cin >> N >> Q; vector

A(N); for (int i=0;i> A[i].first; A[i].second = i; } atcoder::segtree< P, [](P a, P b) { return min(a, b); }, []() { return make_pair((int)1e9, -1); } > seg(A); int t, l, r; while(Q--) { cin >> t >> l >> r; l--; r--; if (t==1) { auto lv = seg.get(l); lv.second = r; auto rv = seg.get(r); rv.second = l; seg.set(l, rv); seg.set(r, lv); } else { cout << seg.prod(l, r+1).second+1 << endl; } } }