def main(): import sys input = sys.stdin.read data = input().split() idx = 0 N = int(data[idx]) idx += 1 A = list(map(int, data[idx:idx+N])) idx += N B = list(map(int, data[idx:idx+N])) min_max_usage = float('inf') for start in range(N): current_levels = A.copy() usage = [0] * N for j in range(N): enemy_pos = (start + j) % N enemy_level = B[enemy_pos] # Find the monster with the minimum level and smallest index min_level = current_levels[0] min_idx = 0 for i in range(1, N): if current_levels[i] < min_level: min_level = current_levels[i] min_idx = i # Update usage and level usage[min_idx] += 1 current_levels[min_idx] += enemy_level // 2 current_max = max(usage) if current_max < min_max_usage: min_max_usage = current_max print(min_max_usage) if __name__ == "__main__": main()