#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int> a(N);
  vector<int> b(N);
  for (int i = 0; i < (int)(N); i++) cin >> a[i];
  for (int i = 0; i < (int)(N); i++) cin >> b[i];
  vector<int> x(N);
  vector<int> y(N);
  for (int i = 0; i < (int)(N); i++) x[--a[i]] = i;
  for (int i = 0; i < (int)(N); i++) y[--b[i]] = i;
  multiset<int> dis;
  for (int i = 0; i < (int)(N); i++) dis.insert(y[i] - x[i]);
  for (int k = 0; k < (int)(N); k++) {
    int ret = 0x7fffffff;
    __typeof(dis.begin()) itr = dis.lower_bound(k);
    ret = min(ret, *itr - k);
    if (itr != dis.begin()) ret = min(ret, abs((*--itr) - k));
    cout << ret << endl;
    int head = b[k];
    dis.erase(dis.find(y[head] - x[head]));
    dis.insert(N - 1 - x[head] + k + 1);
  }
  return 0;
}
