#include <bits/stdc++.h>
typedef struct x {
  int a, b;
} move;
int n, a[300], b[300];
move ans[1000000];
int idx, temp;
int main() {
  int i, j;
  scanf("%d", &n);
  for (i = 0; i < n; ++i) {
    scanf("%d", &a[i]);
  }
  for (i = 0; i < n; ++i) {
    scanf("%d", &b[i]);
  }
  for (i = 0; i < n; ++i) {
    if (a[i] != b[i]) {
      for (j = i; j < n; ++j) {
        if (a[i] == b[j]) break;
      }
      for (; j > i; --j) {
        temp = b[j];
        b[j] = b[j - 1];
        b[j - 1] = temp;
        ans[idx].a = j - 1;
        ans[idx].b = j;
        idx++;
      }
    }
  }
  printf("%d\n", idx);
  for (i = 0; i < idx; ++i) {
    printf("%d %d\n", ans[i].a + 1, ans[i].b + 1);
  }
  return 0;
}
