OFF-ZERO Sequence (Hard)

2 secs 1024 MB
bayashiko's icon bayashiko

問題文

以下の条件を全て満たす数列A1,A2,...A_1,A_2,...は何通り存在するでしょうか?1,000,000,0071,000,000,007で割った余りを求めてください。
・要素数はAA個以上BB個以下である。
・各要素は全て非負整数である。
・各要素は00以上2K2^K未満である。
iji≠jなる任意の正整数の組(i,j)(i,j)について、Ai,AjA_i,A_jがともに存在するならば、(AiAj)(Ai+Aj)=0(A_i⊕A_j)-(A_i+A_j)=0である。ただし、ここではbitごとの排他的論理和を表す。
なお、2つの数列X,YX,Yが異なるとは、X,YX,Yの要素数が異なる、またはXkYkX_k≠Y_kとなるような正整数kkが存在することを指します。

制約

・入力は全て整数である。
2AB1092≦A≦B≦10^9
0K5×1040≦K≦5×10^4

入力

入力は以下の形式で与えられる。

A B K

出力

条件を全て満たすような数列の個数を1,000,000,0071,000,000,007で割った余りを出力してください。

入力例1

8 62 0 

出力例1

55

00のみからなる要素数8,9,10,...628,9,10,...62の計5555個の数列が条件を満たします。

入力例2

41 82 69

出力例2

116525415

入力例3

8 11 2014

出力例3

811000209

Submit


Go (1.21)