#include <bits/stdc++.h>
const long long inf = 9223372036854775807ll;
const int iinf = 2147483647;
const int limit = 1048576;
using namespace std;
bool sync_with_stdio(bool sync = false);
int main() {
  int n;
  cin >> n;
  vector<int> p(n + 1), s(n + 1);
  for (int i = (int)1; i < (int)n + 1; i++) cin >> p[i];
  for (int i = (int)1; i < (int)n + 1; i++) cin >> s[i];
  vector<int> inv_s(n + 1);
  for (int i = (int)1; i < (int)n + 1; i++) inv_s[s[i]] = i;
  for (int i = (int)1; i < (int)n + 1; i++) p[i] = inv_s[p[i]];
  vector<pair<int, int> > swaps;
  int res = 0;
  for (int i = n; i > 0; i--) {
    int cur_pos;
    for (int j = (int)1; j < (int)n + 1; j++)
      if (p[j] == i) cur_pos = j;
    int it = cur_pos;
    while (cur_pos != i) {
      while (p[it] > cur_pos) it++;
      res += it - cur_pos;
      swap(p[it], p[cur_pos]);
      swaps.push_back({cur_pos, it});
      cur_pos = it;
    }
  }
  cout << res << "\n";
  cout << swaps.size() << "\n";
  for (int i = (int)0; i < (int)swaps.size(); i++)
    cout << swaps[i].first << " " << swaps[i].second << "\n";
  return 0;
}
