#include int a[101], cnt=0; void change(int *a, int *b) { int c = *a; *a = *b; *b = c; } int main(void) { int i, j, n, k, x[6000], l, c[6000]; scanf("%d %d", &n, &k); for( i = 0; i < k; i++) { scanf("%d %d", &x[i], &l); } for( i = 0; i < n; i++) { scanf("%d", &a[i]); } for( i = 0; i < k; i++) { change( &a[x[i]-1], &a[x[i]] ); } j = 1; while( j ) { l = 0; for( i = 0; i < n-1; i++) { if( a[i] > a[i+1] ) { c[cnt] = i+1; change( &a[i], &a[i+1] ); l++; cnt++; } } if( !l ) j--; } printf("%d\n", cnt); for( i = 0; i < cnt; i++) { printf("%d %d\n", c[i], c[i]+1); } return 0; }