#include using namespace std; int main(){ int N, Q; cin >> N >> Q; atcoder::dsu uf(N); int l = 0, r = N - 1, type, u, v; while(Q--){ cin >> type; if(type == 1) { cin >> u >> v; uf.merge(--u, --v); while(r != uf.leader(r)) r--; while(l != uf.leader(l)) l++; } else { cin >> v; v--; cout << (l == r ? -1 : uf.same(l, v) ? r + 1 : l + 1) << '\n'; } } }