#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 2e3 + 7;
pair<int, int> p[MAX_N];
int pos[MAX_N];
int main() {
  int n;
  cin >> n;
  for (int i = (1); i < (n + 1); i++) scanf("%d", &p[i].second), p[i].first = i;
  for (int i = (1); i < (n + 1); i++) {
    int dig;
    scanf("%d", &dig);
    pos[dig] = i;
  }
  for (int i = (1); i < (n + 1); i++) p[i].second = pos[p[i].second];
  int ans = 0;
  vector<pair<int, int> > ret;
  vector<int> tmp;
  for (int i = (1); i < (n + 1); i++)
    if (p[i].second < p[i].first) {
      int pre = i;
      for (int j = (i - 1); j >= (0); j--)
        if (p[j].second > p[j].first) {
          int det = p[i].first - p[j].first;
          ret.push_back(make_pair(p[i].first, p[j].first));
          ans += det;
          p[i].first -= det;
          p[j].first += det;
          if (p[i].second == p[i].first) break;
        }
    }
  printf("%d\n%d\n", ans, ((int)(ret).size()));
  for (int i = (0); i < (((int)(ret).size())); i++) {
    printf("%d %d\n", ret[i].first, ret[i].second);
  }
}
