AT_pakencamp_2024_day1_j Stamp

Description

長さ $ N $ の非負整数列 $ A,B $ が与えられます。あなたは以下の操作を $ 0 $ 回以上任意の回数行うことができます。 - $ 1\le l\le r\le N $ を満たす整数対 $ (l,r) $ を選ぶ。コスト $ x $ を払い、 $ l\le i\le r $ を満たすすべての $ i $ に対して、 $ A_i $ を $ A_i \lor x $ に置き換える。 操作後に $ A=B $ とすることが可能か判定し、可能ならば払うコストの総和の最小値を求めてください。 ただし、 $ a \lor b $ で $ a $ と $ b $ の [bitwise or](https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97#OR) を表すものとします。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $ $ B_1 $ $ B_2 $ $ \ldots $ $ B_N $

Output Format

不可能ならば、 $ -1 $ を出力せよ。可能ならば、答えを出力せよ。(2:33 追記)

Explanation/Hint

### Sample Explanation 1 最初に $ (l,r)=(2,2),x=2 $ として $ A_2=6 $ とし、次に $ (l,r)=(1,1), x=1 $ として $ A_1=5 $ とし、最後に $ (l,r)=(3,3),x=5 $ として $ A_3=7 $ とすると $ A=B $ となり、コストの総和 $ 8 $ で達成することができます。コストの総和 $ 7 $ 以下で $ A=B $ とすることは不可能なので、 $ 8 $ を出力します。 ### Constraints - $ 1 \leq N \leq 2\times 10^5 $ - $ 0 \leq A_i < 2^{30} $ ( $ 1 \leq i \leq N $ ) - $ 0 \leq B_i < 2^{30} $ ( $ 1 \leq i \leq N $ ) - 入力は全て整数