#abc254h. [abc254_h]Multiply or Divide by 2

[abc254_h]Multiply or Divide by 2

問題文

NN 個の非負整数からなる多重集合 $A=\\{ a_1,\\ldots,a_N \\}, B=\\{ b_1,\\ldots,b_N \\}$ が与えられます。
あなたは以下の操作を好きな順番で何度でも行えます。

  • AA に含まれている非負整数を 11 つ選び、xx とする。 AA から xx11 つ削除し、代わりに 2x2x11 つ追加する。
  • AA に含まれている非負整数を 11 つ選び、xx とする。 AA から xx11 つ削除し、代わりに leftlfloorfracx2rightrfloor\\left\\lfloor \\frac{x}{2} \\right\\rfloor11 つ追加する。(lfloorxrfloor\\lfloor x \\rfloorxx を超えない最大の整数)

あなたの目的は AABB を(多重集合として)一致させることです。
目的を達成することが出来るかどうかを判定し、出来る場合は必要な操作回数の最小値を求めてください。

制約

  • 1leqNleq1051 \\leq N \\leq 10^5
  • 0leqa1leqldotsleqaNleq1090 \\leq a_1 \\leq \\ldots \\leq a_N \\leq 10^9
  • 0leqb1leqldotsleqbNleq1090 \\leq b_1 \\leq \\ldots \\leq b_N \\leq 10^9
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN a1a_1 ldots\\ldots aNa_N b1b_1 ldots\\ldots bNb_N

出力

目的を達成出来る場合は必要な操作回数の最小値を出力せよ。出来ない場合は -1 を出力せよ。


入力例 1

3
3 4 5
2 4 6

出力例 1

2

次のようにして 22 回の操作で目的を達成できます。

  • x=3x=3 とし、AA から x,(=3)x\\, (=3)11 つ削除し代わりに 2x,(=6)2x\\, (=6)11 つ追加する。これによって A=4,5,6A=\\{4,5,6\\} となる。
  • x=5x=5 とし、AA から x,(=5)x\\, (=5)11 つ削除し代わりに $\\left\\lfloor \\frac{x}{2} \\right\\rfloor \\, (=2)$ を 11 つ追加する。これによって A=2,4,6A=\\{2,4,6\\} となる。

入力例 2

1
0
1

出力例 2

-1

0\\{ 0 \\}1\\{ 1 \\} にすることは出来ません。