#abc301d. [abc301_d]Bitmask
[abc301_d]Bitmask
問題文
0
, 1
, ?
からなる文字列 および整数 が与えられます。 に含まれる ?
をそれぞれ 0
または 1
に置き換えて 進整数とみなしたときに得られる値の集合を とします。 たとえば、 ?0?
のとき、 $T=\\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\\rbrace=\\lbrace 0,1,4,5\\rbrace$ です。
に含まれる 以下の値のうち最大のものを ( 進整数として) 出力してください。 以下の値が に含まれない場合は、代わりに -1
を出力してください。
制約
- は
0
,1
,?
からなる文字列 - の長さは 以上 以下
- は整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
入力例 1
?0?
2
出力例 1
1
問題文中で例示したとおり、 です。 に含まれる 以下の値は と なので、そのうちの最大である を出力します。
入力例 2
101
4
出力例 2
-1
であるため、 以下の値は に含まれません。
入力例 3
?0?
1000000000000000000
出力例 3
5