using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Linq; class Solver { private const long MOD = 1000000007; private long calc(String n, int p){ long[,,] dp = new long[2,800,2*4*2]; int u = 0; int v = 1; dp[0,0,0] = 1; for(int i=0; ik){ continue; } int a_ = a|(d= MOD) dp[v,0,s_] -= MOD; } }}} } else{ for(int j=0;jk){ continue; } int a_ = a|(d= MOD) dp[v,j_,s_] -= MOD; } }}}} } u ^= 1; v ^= 1; } long ret = 0; for(int j=1;j=MOD) ret -= MOD; }}}} return ret; } public void Solve() { String[] input = Console.ReadLine().Split(); int p = int.Parse(input[2]); long ans = calc(input[1], p); ans = (ans - calc(input[0], p) + MOD) % MOD; int b=0; int c=0; int d=0; for(int i=0;i