import java.util.* fun main(arr:Array) { val count = readLine()!!.toInt() var ans = count val mikataLevel = readLine()!!.split(" ").map { it.toInt() } val teki = readLine()!!.split(" ").map { it.toInt() } for(i in mikataLevel.indices) { val que = PriorityQueue(kotlin.Comparator { o1, o2 -> if(o1.level == o2.level) o1.count.compareTo(o2.count) else o1.level.compareTo(o2.level) }) mikataLevel.forEach{que.add(Mikata(it, 0))} for(j in mikataLevel.indices) { val idx = (i+j)%count val mikata = que.poll() mikata.level += teki[idx]/2 mikata.count++ if(mikata.count > ans) { break } que.add(mikata) } ans = Math.min(ans, que.toList().maxBy { it.count }!!.count) } println(ans) } class Mikata(var level:Int, var count:Int)