#include #define rep(i,n) for (int i = 0; i < (n); ++i) #define chmax(a, b) a = max(a, b) #define chmin(a, b) a = min(a, b) #define all(x) (x).begin(), (x).end() using namespace std; using ll = long long; using P = pair; using VI = vector; using VVI = vector; int main() { int n; cin >> n; VI a(n), b(n); rep(i, n) cin >> a[i]; rep(i, n) cin >> b[i]; int ans = n; rep(s, n) { priority_queue> q; rep(i, n) q.emplace(-a[i], 1, i); VI cnt(n); rep(j, n) { int ai, last, i; tie(ai, last, i) = q.top(); q.pop(); ai = -ai; cnt[i] += 1; ai += b[(s + j) % n] / 2; q.emplace(-ai, -j, i); } int mx = 0; rep(i, n) chmax(mx, cnt[i]); chmin(ans, mx); } cout << ans << endl; }