BoB002-E: LCM of Mersenne

2 secs 1024 MB
kyaneko999's icon kyaneko999

問題

最近Sakkyさんはメルセンヌ数というものを知り,名前の美しさから一目惚れしてしまいました.
値が小さい方から nn 番目のメルセンヌ数 MnM_n は,Mn=2n1M_n = 2^n-1 と定義されます.

2つの整数 A,BA,B が与えられるので,L=lcm(MA,MA+1,,MB)L=\mathrm{lcm}(M_A,M_{A+1},\dots,M_{B}) の値を求めてください.
ただし,LL の値が 101810^{18} より大きい場合には,代わりに -1 を出力してください.

なお,lcm(MA,MA+1,,MB)\mathrm{lcm}(M_A,M_{A+1},\dots,M_{B})MA,MA+1,,MBM_A,M_{A+1},\dots,M_{B} の最小公倍数を表します.

制約

  • 入力はすべて整数
  • 1A<B10181\le A<B\le 10^{18}

入力

入力は以下の形式で標準入力から与えられる.

A  BA\;B

出力

答えを整数で出力しなさい.

入出力例

入力例1
2 4
出力例1
105

L=lcm(M2,M3,M4)=lcm(3,7,15)=105L=\mathrm{lcm}(M_2,M_3,M_4)=\mathrm{lcm}(3,7,15)=105 です.

入力例2
30 31
出力例2
-1

L=lcm(M30,M31)=2305843005992468481L=\mathrm{lcm}(M_{30},M_{31})=2305843005992468481 です.これは 101810^{18} より大きいので -1 を出力します.

Submit


Go (1.21)