#include <bits/stdc++.h>
using namespace std;
const int MX = 100005;
int n;
int a[MX], b[MX];
long long f[MX];
vector<int> A[MX], B[MX];
long long count(int u, int mid) {
long long res = 0;
for(int i = 0, j = 0; i < (int)A[u].size(); ++i) {
while(j < B[u].size() && B[u][j] + mid <= A[u][i]) ++j;
res += j;
}
for(int i = 0, j = 0; i < (int)B[u].size(); ++i) {
while(j < A[u].size() && A[u][j] + mid <= B[u][i]) ++j;
res += j;
}
return res;
}
bool check(int mid, int x) {
for(int i = x; i <= n; i += x) f[i] = 0;
for(int i = x; i <= n; i += x) f[i] = count(i, mid);
for(int i = x * (n / x); i >= x; i -= x) {
for(int j = i << 1; j <= n; j += i) {
f[i] -= f[j];
}
}
return f[x];
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for(int i = 1; i <= n; ++i) cin >> a[i];
for(int i = 1; i <= n; ++i) cin >> b[i];
for(int i = 1; i <= n; ++i) {
for(int j = i; j <= n; j += i) {
A[i].push_back(a[j]);
B[i].push_back(b[j]);
}
sort(A[i].begin(), A[i].end());
sort(B[i].begin(), B[i].end());
}
for(int i = 1; i <= n; ++i) {
int res = 0;
for(int lo = 0, hi = 1e9; lo <= hi;) {
int mid = (lo + hi) >> 1;
if(check(mid, i)) res = mid, lo = mid + 1;
else hi = mid - 1;
}
cout << res << " ";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTVggPSAxMDAwMDU7CmludCBuOwppbnQgYVtNWF0sIGJbTVhdOwpsb25nIGxvbmcgZltNWF07CnZlY3RvcjxpbnQ+IEFbTVhdLCBCW01YXTsKCmxvbmcgbG9uZyBjb3VudChpbnQgdSwgaW50IG1pZCkgewogICAgbG9uZyBsb25nIHJlcyA9IDA7CiAgICBmb3IoaW50IGkgPSAwLCBqID0gMDsgaSA8IChpbnQpQVt1XS5zaXplKCk7ICsraSkgewogICAgICAgIHdoaWxlKGogPCBCW3VdLnNpemUoKSAmJiBCW3VdW2pdICsgbWlkIDw9IEFbdV1baV0pICsrajsKICAgICAgICByZXMgKz0gajsKICAgIH0KICAgIGZvcihpbnQgaSA9IDAsIGogPSAwOyBpIDwgKGludClCW3VdLnNpemUoKTsgKytpKSB7CiAgICAgICAgd2hpbGUoaiA8IEFbdV0uc2l6ZSgpICYmIEFbdV1bal0gKyBtaWQgPD0gQlt1XVtpXSkgKytqOwogICAgICAgIHJlcyArPSBqOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKYm9vbCBjaGVjayhpbnQgbWlkLCBpbnQgeCkgewogICAgZm9yKGludCBpID0geDsgaSA8PSBuOyBpICs9IHgpIGZbaV0gPSAwOwogICAgZm9yKGludCBpID0geDsgaSA8PSBuOyBpICs9IHgpIGZbaV0gPSBjb3VudChpLCBtaWQpOwogICAgZm9yKGludCBpID0geCAqIChuIC8geCk7IGkgPj0geDsgaSAtPSB4KSB7CiAgICAgICAgZm9yKGludCBqID0gaSA8PCAxOyBqIDw9IG47IGogKz0gaSkgewogICAgICAgICAgICBmW2ldIC09IGZbal07CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZbeF07Cn0KCmludDMyX3QgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKCiAgICBjaW4gPj4gbjsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSBjaW4gPj4gYVtpXTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSBjaW4gPj4gYltpXTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgZm9yKGludCBqID0gaTsgaiA8PSBuOyBqICs9IGkpIHsKICAgICAgICAgICAgQVtpXS5wdXNoX2JhY2soYVtqXSk7CiAgICAgICAgICAgIEJbaV0ucHVzaF9iYWNrKGJbal0pOwogICAgICAgIH0KICAgICAgICBzb3J0KEFbaV0uYmVnaW4oKSwgQVtpXS5lbmQoKSk7CiAgICAgICAgc29ydChCW2ldLmJlZ2luKCksIEJbaV0uZW5kKCkpOwogICAgfQogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICBpbnQgcmVzID0gMDsKICAgICAgICBmb3IoaW50IGxvID0gMCwgaGkgPSAxZTk7IGxvIDw9IGhpOykgewogICAgICAgICAgICBpbnQgbWlkID0gKGxvICsgaGkpID4+IDE7CiAgICAgICAgICAgIGlmKGNoZWNrKG1pZCwgaSkpIHJlcyA9IG1pZCwgbG8gPSBtaWQgKyAxOwogICAgICAgICAgICBlbHNlIGhpID0gbWlkIC0gMTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCByZXMgPDwgIiAiOwogICAgfQoKICAgIHJldHVybiAwOwp9