/* 問題をよく読もう! 論理的に考えよう! サンプルを確認しよう! 絶対に諦めるな! 工夫をしろ! 配列は少し多めにとっておく Twitterは終わるまでログアウト! (間違えて解法をツイートしてはいけないから) */ //include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //namespace using namespace std; //繰り返し #define REP(i, m, n) for(int i=(int)m; i<(int)n; ++i) #define rep(i, n) REP(i, 0, n) //イテレータ #define all_range(C) begin(C), end(C) //簡略化 typedef long long ll; typedef pair pint; typedef pair pli; typedef pair pst; const int inf = 1e9+7; const ll longinf = 1LL<<60; const ll mod = 1e9+7; //最大最小 template inline void chmin(T1 &a, T2 b) {if(a>b) a=b;} template inline void chmax(T1 &a, T2 b) {if(a0) { sum *= x; --y; } return sum; } /*考えを書くスペース 累乗和で解く ・総和を求める ・取り消すところの一つ先を見る */ //main.cpp---------------------------- #define max_m 200 void solve(); int n; int m; int p[max_m], q[max_m]; int pos[3]; int main() { cin >> n >> m; rep(i, m) cin >> p[i] >> q[i]; solve(); return 0; } void solve() { pos[n-1] = 1; int tmp; rep(i, m) { tmp = pos[p[i]-1]; pos[p[i]-1] = pos[q[i]-1]; pos[q[i]-1] = tmp; } rep(i, 3) { if(pos[i]==1) { cout << i+1 << endl; break; } } }