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 $ - 入力はすべて整数