#include #include #include #include using namespace std; typedef unsigned long long LL; #define FOR(k,a,b) for(int k(a); k < (b); ++k) #define REP(k,a) for(int k=0; k < (a); ++k) #define ABS(a) ((a)>0?(a):-(a)) const int MOD = 1e9+7; int popcount(int a) { int res = 0; while(a) { ++res; a&=(a-1); } return res; } int main(int argv, char** argc) { int T,N,K,L; int A[20]; scanf("%d",&T); assert(00 && A[i]<=K); } vector > trans(K+1, vector (1<p && j&(1< actual(1<=L) for(int kk= 1;kk<=K;++kk) { next[trans[kk][j]]=(next[trans[kk][j]]+actual[j])%MOD; } next.swap(actual); } LL ans = 0; REP(i,1<