#include const size_t B = 2, C = 3, N = 128; template void ijk(T a[N][N], T b[N][N], T c[N][N]) { for (size_t i = 0; i < N; ++i) for (size_t j = 0; j < N; ++j) for (size_t k = 0; k < N; ++k) a[i][j] += b[i][k] * c[k][j]; } template void ikj(T a[N][N], T b[N][N], T c[N][N]) { for (size_t i = 0; i < N; ++i) for (size_t k = 0; k < N; ++k) for (size_t j = 0; j < N; ++j) a[i][j] += b[i][k] * c[k][j]; } template void jik(T a[N][N], T b[N][N], T c[N][N]) { for (size_t j = 0; j < N; ++j) for (size_t i = 0; i < N; ++i) for (size_t k = 0; k < N; ++k) a[i][j] += b[i][k] * c[k][j]; } template void jki(T a[N][N], T b[N][N], T c[N][N]) { for (size_t j = 0; j < N; ++j) for (size_t k = 0; k < N; ++k) for (size_t i = 0; i < N; ++i) a[i][j] += b[i][k] * c[k][j]; } template void kij(T a[N][N], T b[N][N], T c[N][N]) { for (size_t k = 0; k < N; ++k) for (size_t i = 0; i < N; ++i) for (size_t j = 0; j < N; ++j) a[i][j] += b[i][k] * c[k][j]; } template void kji(T a[N][N], T b[N][N], T c[N][N]) { for (size_t k = 0; k < N; ++k) for (size_t j = 0; j < N; ++j) for (size_t i = 0; i < N; ++i) a[i][j] += b[i][k] * c[k][j]; }