AT_agc061_e [AGC061E] Increment or XOR

Description

[problemUrl]: https://atcoder.jp/contests/agc061/tasks/agc061_e 非負整数 $ X $ があり、はじめその値は $ S $ です。以下の操作を任意の順に何度でも行うことができます。 - $ X $ に $ 1 $ を足す。この操作のコストは $ A $ である。 - $ 1 $ 以上 $ N $ 以下の $ i $ を選び、$ X $ を $ X\ \oplus\ Y_i $ に置き換える。この操作のコストは $ C_i $ である。ここで、$ \oplus $ はビット単位 $ \mathrm{XOR} $ 演算を表す。 与えられた非負整数 $ T $ に $ X $ を等しくするのに必要な最小の合計コストを求めるか、それが不可能であることを報告してください。 ビット単位 $ \mathrm{XOR} $ 演算とは 非負整数 $ A,\ B $ のビット単位 $ \mathrm{XOR} $、$ A\ \oplus\ B $ は、以下のように定義されます。 - $ A\ \oplus\ B $ を二進表記した際の $ 2^k $ ($ k\ \geq\ 0 $) の位の数は、$ A,\ B $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $、そうでなければ $ 0 $ である。 例えば、$ 3\ \oplus\ 5\ =\ 6 $ となります(二進表記すると: $ 011\ \oplus\ 101\ =\ 110 $)。 一般に、$ k $ 個の非負整数 $ p_1,\ p_2,\ p_3,\ \dots,\ p_k $ のビット単位 $ \mathrm{XOR} $ は $ (\dots\ ((p_1\ \oplus\ p_2)\ \oplus\ p_3)\ \oplus\ \dots\ \oplus\ p_k) $ と定義され、これは $ p_1,\ p_2,\ p_3,\ \dots,\ p_k $ の順番によらないことが証明できます。

Input Format

入力は、標準入力から以下の形式で与えられる。 > $ N $ $ S $ $ T $ $ A $ $ Y_1 $ $ C_1 $ $ \vdots $ $ Y_N $ $ C_N $

Output Format

課題が達成不可能なら、`-1` を出力せよ。 そうでないなら、必要な最小の合計コストを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 8 $ - $ 0\ \leq\ S,\ T\