#include int main() { int N, K; int s, t; int A[128]; std::cin >> N >> K; std::vector > st; for(int i = 0; i < K; ++i) { std::cin >> s >> t; st.push_back(std::pair(s, t)); } for(int i = 1; i <= N; ++i) { std::cin >> A[i]; } for(auto PII : st) { std::swap(A[PII.first], A[PII.second]); } std::vector res; for(int i = 1; i <= N; ++i) { int n = 0; for(int j = 1; j <= N; ++j) { if( A[j] == i ) { n = j; break; } } for(int j = n - 1; j >= i; --j) { res.push_back(j); std::swap(A[j], A[j+1]); } } std::cout << res.size() << std::endl; for(int i = 0; i < (int)res.size(); ++i) { std::cout << res[i] << ' ' << res[i] + 1 << std::endl; } return 0; }