#include #include #include #include #include #include #include #include #include #include #include using namespace std; namespace Estd { // return 1's position (...3210) by given bs; // invarient: bs.count() == 1; // ex: 0000100 -> 2 template constexpr size_t position(const bitset bs) { assert(bs.count() == 1); for (int i = 0; i < N; ++i) { if (bs[i] == 1) return i; } throw; } }; int main() { int N {}; int M {}; cin >> N >> M; bitset<3> res {}; res.set(N-1); for (int i = 0; i < M; ++i) { int p {}; int q {}; cin >> p >> q; const int fir {p-1}; const int sec {q-1}; if (res[fir]) { res.reset(fir); res.set(sec); } else if (res[sec]) { res.set(fir); res.reset(sec); } else { continue; } } cout << Estd::position(res) + 1 << endl; }