#include<stdio.h> #include<algorithm> using namespace std; int p[10000]; int q[10000]; int r[10000]; int now[1000]; int s[10000]; int t[10000]; int main(){ int a,b; scanf("%d%d",&a,&b); for(int i=0;i<b;i++){ scanf("%d%d",p+i,q+i); p[i]--;q[i]--; } for(int i=0;i<a;i++){ int x;scanf("%d",&x);x--; r[x]=i; } for(int i=0;i<a;i++)now[i]=i; for(int i=0;i<b;i++)swap(now[p[i]],now[q[i]]); int sz=0; for(int i=0;i<a-1;i++){ int at=0; for(int j=0;j<a;j++)if(now[j]==r[i])at=j; for(int j=at;j>i;j--){ s[sz]=j; t[sz]=j+1; swap(now[j],now[j-1]); sz++; } } printf("%d\n",sz); for(int i=0;i<sz;i++)printf("%d %d\n",s[i],t[i]); }