#include #include using namespace std; int main() { int n, q; cin >> n >> q; vector s(n); for (int i = 0; i < n; i++){ s[i] = (i + 1) % n; } atcoder::dsu uf(n); while (q--){ int t; cin >> t; if (t == 1){ int u, v; cin >> u >> v; u--; v--; uf.merge(u, v); } else { int u; cin >> u; u--; if (uf.size(u) == n){ cout << -1 << endl; continue; } while (uf.same(u, s[u])){ s[u] = (s[u] + 1) % n; } cout << s[u] + 1 << endl; } } }