#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> a(n);
  {
    for (auto& x : a) {
      cin >> x;
    }
    vector<int> r(n + 1);
    for (int i = 0; i < n; i++) {
      int x;
      cin >> x;
      r[x] = i;
    }
    for (auto& x : a) {
      x = r[x];
    }
  }
  vector<pair<int, int>> ops;
  for (int i = 0; i < n; i++) {
    for (int j = i; a[j] != j;) {
      for (; j < a[j] == a[j] < a[a[j]]; j = a[j])
        ;
      for (int k = a[j];; k = a[k]) {
        if (abs(j - a[j]) <= abs(a[j] - a[k])) {
          swap(a[j], a[k]);
          ops.emplace_back(j, k);
          vector<int> b;
          for (int l = a[k]; l != k; l = a[l]) {
            b.push_back(l);
          }
          b.push_back(k);
          for (int l = b.size() - 1; l >= 1; l--) {
            a[b[l]] = b[l];
            ops.emplace_back(b[l], b[l - 1]);
          }
          a[b[0]] = b[0];
          break;
        }
        if (j < a[j] == a[k] < a[a[k]]) {
          j = k;
          break;
        }
      }
    }
  }
  int cost = 0;
  for (auto op : ops) {
    cost += abs(op.first - op.second);
  }
  printf("%d\n", cost);
  printf("%d\n", ops.size());
  for (auto op : ops) {
    printf("%d %d\n", op.first + 1, op.second + 1);
  }
}
