#include using namespace std; template using pq = priority_queue; template using pqg = priority_queue, greater>; int main(){ int N; cin >> N; vector A(N), B(N); for (int& x : A) cin >> x; for (int& x : B) cin >> x; int ans = N; for (int i = 0; i < N; i++){ pqg> Q; for (int x : A) Q.emplace(x, 0); for (int j = 0; j < N; j++){ auto [a, b] = Q.top(); Q.pop(); int c = B[(i+j)%N]; a += c/2, b++; Q.emplace(a, b); } int mx = 0; while (!Q.empty()){ mx = max(mx, Q.top().second); Q.pop(); } ans = min(ans, mx); } cout << ans << endl; }