#include using namespace std; typedef vector VI; #define REP(i, n) for(int(i)=0;(i)<(n);++(i)) #define in(T,V) T V;cin>>V; int X[6666],Y,A[111]; int main(){ in(int,N); in(int,K); REP(i,K) cin >> X[i] >> Y; REP(i,N) cin >> A[i]; REP(i,K) swap(A[X[i]-1],A[X[i]]); VI res; REP(i,N) REP(j,N-1){ auto f = [&](int i){ if(A[i] > A[i+1]){ swap(A[i], A[i+1]); res.push_back(i+1); }}; f(j); f(N-2-j); } cout << res.size() << endl; for(auto &v : res) cout << v << " " << v+1 << endl; }