AT_maximum_cup_2023_h 変数の最大化
Description
変数 $ a $ があり、初め $ a=X $ です。
$ i=1,2,\ldots,N $ の順に次の操作をします。
- $ 1 $ 以上 $ m_i $ 以下の整数を選び、 $ c $ とする。そして、 $ a $ を以下の条件を満たす整数 $ a' $ の最小値に置き換える。
- $ a \lt a' $
- $ a' $ の二進数表記にはちょうど $ c $ 個の `1` が含まれる
操作終了後の $ a $ の最大値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $ $ m_1 $ $ \ldots $ $ m_N $
Output Format
答えを出力せよ。なお、本問の制約の下では答えが $ 10^{18} $ 以下になることが証明出来る。
Explanation/Hint
### Sample Explanation 1
$ c=1 $ として操作をすると $ a = 16 $ に、 $ c=2 $ として操作をすると $ a=12 $ となります。
### Sample Explanation 2
オーバーフローに注意してください。
### Constraints
- $ 1 \leq N \leq 50 $
- $ 0 \leq X \leq 1000 $
- $ 1 \leq m_i \leq 10 $
- 入力はすべて整数