#include using namespace std; #define rep(i, n) for (ll i = 0; i < (n); ++i) #define bitrep(i, n) for (ll i = 0; i < (1 << n); ++i) #define all(a) (a).begin(), (a).end() #define rall(a) (a).rbegin(), (a).rend() #define yesNo(b) ((b) ? "Yes" : "No") using ll = long long; using ull = unsigned long long; string alphabet = "abcdefghijklmnopqrstuvwxyz"; string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const double pi = 3.141592653589793; int smallMOD = 998244353; int bigMOD = 1000000007; vector mul(int a, int b, int c, int d, int e, int f, int g, int h) { return {a * e + b * g, a * f + b * h, c * e + d * g, c * f + d * h}; } int main() { int a, b, c, d, e, f, g, h; cin >> a >> b >> c >> d; vector X = mul(mul(a, b, c, d, a, b, c, d)[0], mul(a, b, c, d, a, b, c, d)[1], mul(a, b, c, d, a, b, c, d)[2], mul(a, b, c, d, a, b, c, d)[3], a, b, c, d); cout << X[0] << " " << X[1] << endl; cout << X[2] << " " << X[3] << endl; return 0; }