#include <bits/stdc++.h>
using namespace std;
int tr[400], ar[400];
vector<pair<int, int> > vv;
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> ar[i];
  for (int i = 0; i < n; i++) cin >> tr[i];
  for (int i = 0; i < n; i++) {
    if (tr[i] == ar[i]) continue;
    int j;
    for (j = i + 1; j < n; j++)
      if (tr[j] == ar[i]) break;
    for (j = j - 1; j >= i; j--) {
      int tmp = tr[j];
      tr[j] = tr[j + 1];
      tr[j + 1] = tmp;
      vv.push_back(make_pair(j, j + 1));
    }
  }
  if (vv.size() >= 1000000) return -1;
  cout << vv.size() << endl;
  for (int i = 0; i < vv.size(); i++) {
    cout << vv[i].first + 1 << " " << vv[i].second + 1 << endl;
  }
  return 0;
}
