#abc288h. [abc288_h]A Nameless Counting Problem
[abc288_h]A Nameless Counting Problem
問題文
下記の つの条件をともに満たす長さ の整数列 の個数を で割ったあまりを出力してください。
- $0 \\leq A_1 \\leq A_2 \\leq \\cdots \\leq A_N \\leq M$
ここで、 はビットごとの排他的論理和を表します。
ビットごとの排他的論理和とは? 非負整数 のビットごとの排他的論理和 は、以下のように定義されます。
- を二進表記した際の () の位の数は、 を二進表記した際の の位の数のうち一方のみが であれば 、そうでなければ である。
例えば、 となります (二進表記すると: )。
制約
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
入力例 1
3 3 2
出力例 1
5
問題文中の つの条件をともに満たす長さ の整数列 は、$(0, 0, 2), (0, 1, 3), (1, 1, 2), (2, 2, 2), (2, 3, 3)$ の 個です。
入力例 2
200 900606388 317329110
出力例 2
788002104