시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 2048 MB129872.727%

문제

The additive-increase/multiplicative-decrease (AIMD) algorithm is a feedback control algorithm best known for its use in TCP congestion control. AIMD combines linear growth of the congestion window when there is no congestion with an exponential reduction when congestion is detected. Multiple flows using AIMD congestion control will eventually converge to an equal usage of a shared link. (from Wikipedia)

You are given two arrays of $n$ integers: $a$ and $b$. You can perform operations on the array $a$. In one operation, you can let $a_i$ become $a_i+1$ for all $1 \leq i \leq n$, or let $a_i$ become $\left\lfloor \frac{a_i}{2} \right\rfloor$ for all $1 \leq i \leq n$.

Find the minimum number of operations that you have to perform to transform $a$ into $b$, or determine that it is impossible.

입력

The first line contains an integer $n$ ($1 \leq n \leq 10^6$).

The second line contains the integer array $a_1, a_2, \ldots, a_n$ ($0 \leq a_i \leq 10^9$).

The third line contains the integer array $b_1, b_2, \ldots, b_n$ ($0 \leq b_i \leq 10^9$).

출력

Print the minimum number of operations needed, or $-1$ if it's impossible to transform $a$ into $b$.

예제 입력 1

5
1 2 3 4 5
6 6 6 6 7

예제 출력 1

9

예제 입력 2

3
2 3 4
1 2 3

예제 출력 2

-1

예제 입력 3

2
65536 65537
1 2

예제 출력 3

32