chogahui05 plays an xor game. The game runs for n turns, and there is an unlimited supply of cards for every integer from 0 to 231−1. The rules are the following.
- chogahui05 starts holding the card with the integer a on it.
- On every turn chogahui05 must do the following.
- Pick one integer u with 0≤u<231.
- Let num be the number on the card currently held. Replace that card with the card that has num⊕u on it. Here ⊕ is the bitwise exclusive or.
When the game ended, the number on the card chogahui05 held was b.
Find the number of possible game processes modulo 1000000007 (109+7). Two processes are different when the integer u picked on some turn is different.