#define __USE_MINGW_ANSI_STDIO 0 #include void cal(long long int a[2][2], long long int b[2][2]) { long long int c[2][2], i, j, k; for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) c[i][j] = 0; for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) for (k = 0; k < 2; k++) c[i][j] += a[i][k] * b[k][j]; for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) a[i][j] = c[i][j]; return; } int main() { long long int a, b, c, d, aa, bb, cc, dd; scanf("%lld%lld%lld%lld", &a, &b, &c, &d); scanf("%lld%lld%lld%lld", &aa, &bb, &cc, &dd); long long int A[2][2] = { {a,b},{c,d} }, B[2][2] = { {aa,bb},{cc,dd} }; cal(A, B); cal(A, A); printf("%lld %lld\n%lld %lld\n", A[0][0], A[0][1], A[1][0], A[1][1]); return 0; }