package main import ( "bufio" "fmt" "os" "strconv" ) var sc = bufio.NewScanner(os.Stdin) func Scanner() string { sc.Scan() return sc.Text() } func main() { buf := make([]byte, 0) sc.Buffer(buf, 100000007) sc.Split(bufio.ScanWords) n, _ := strconv.Atoi(Scanner()) a := make([]int, n) b := make([]int, n) e := make([]int, n+1) num := 0 for i := 0; i < n; i++ { a[i], _ = strconv.Atoi(Scanner()) } for i := 0; i < n; i++ { b[i], _ = strconv.Atoi(Scanner()) } ans := n for i := 0; i < n; i++ { for j := 0; j < n; j++ { e[j] = a[j] * n } for j := 0; j < n; j++ { for k, l := 0, 0; k < n; k++ { if e[k] < e[l] { l = k num = k } } e[num] += b[(i+j)%n]/2*n + 1 } for j, k := 0, 0; j < n; j++ { num = max(k, e[j]%n) k = max(k, e[j]%n) } if ans > num { ans = num } } fmt.Println(ans) } func max(x int, y int) int { if x >= y { return x } else { return y } }