N = gets.to_i M = gets.to_i Q = M.times.map{ gets.split.take(2).map(&:to_i) } def f(a, query) if query.empty? a.index(&:odd?) else car, *cdr = query i, j = car a[i], a[j] = a[j], a[i] f(a, cdr) end end A = [0] * 4 A[N] = 1 p f(A, Q)