#include #define M 12 const int mod = 1000000007; int dp[2][M][M]; const int T[M][M] = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -56}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -62}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 386}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -753}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 884}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -685}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 342}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -102}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16}, }; const int s[M] = { 32, 316, 2292, 14422, 84744, 479004, 2638328, 14258574, 75940592, 399782668, 84795558, 786749020 }; void mult(const int A[M][M], const int B[M][M], int C[M][M]){ int i, j, k; for(i=0;i