n = gets.to_s.to_i a = Array.new(n) { gets.to_s.to_i } b = Array.new(n) { gets.to_s.to_i } temp = a.map { |val| {val, 0} } ans = Int32::MAX n.times do |i| s = temp.to_set ma = 0 n.times do |j| element = s.first s.delete(element) t, u = element new_val = t + b[(i + j) % n] // 2 s.add({new_val, u + 1}) ma = Math.max(ma, u + 1) end ans = Math.min(ans, ma) end puts ans