問題文
整数 N,L,R が与えられます. 以下の条件を両方満たす整数 x の個数を数えてください.
- LleqxleqR
- (xoplusN)<N (ここで oplus はビット単位 mathrmXOR 演算を表す)
ビット単位 mathrmXOR 演算とは
整数 A,B のビット単位 mathrmXOR 、AoplusB は、以下のように定義されます。
- AoplusB を二進表記した際の 2k (kgeq0) の位の数は、A,B を二進表記した際の 2k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。
例えば、3oplus5=6 となります (二進表記すると: 011oplus101=110)。
制約
- 1leqNleq1018
- 1leqLleqRleq1018
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
N L R
出力
答えを出力せよ.
入力例 1
2 1 2
出力例 1
1
x=1 の場合,LleqxleqR は満たしますが,(xoplusN)<N は満たしません. x=2 の場合,両方の条件を満たします. 他に条件を満たす x は存在しません.
入力例 2
10 2 19
出力例 2
10
入力例 3
1000000000000000000 1 1000000000000000000
出力例 3
847078495393153025