#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, 314, 2264, 14204, 83356, 470774, 2591384, 13998084, 74524728, 392208042, 44776278, 577440486 }; void mult(const int A[M][M], const int B[M][M], int C[M][M]){ int i, j, k; for(i=0;i