#include #define M 12 const int mod = 1000000007; int dp[2][M][M]; const int T[M][M] = { {1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0}, {1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0}, {1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1}, }; void mult(const int A[M][M], const int B[M][M], int C[M][M]){ int i, j, k; for(i=0;i