#include using namespace std; using ll = long long; template< typename T > vector> mattimes(vector> &A,vector> &B){ assert(A.size()==B.size()); int n = A.size(); vector> res(n,vector(n,0)); for(int i=0;i vector mattimes(vector> &A,vector &B){ assert(A.size()==B.size()); int n = A.size(); vector res(n,0); for(int i=0;i vector> matpow(vector> a,ll k){ int n = a.size(); vector> res(n,vector(n,0)); for(int i=0;i>=1){ if(k&1) res = mattimes(res,a); a = mattimes(a,a); } return res; } int main(){ vector> m(2,vector(2,0)); cin>>m[0][0]>>m[0][1]>>m[1][0]>>m[1][1]; m = matpow(m,3); for(int i = 0;i<2;i++){ for(int j = 0;j<2;j++){ if(j) cout<<" "; cout<