#include #include using namespace std; using namespace atcoder; int main() { int64_t a, b, c, d, N; cin >> a >> b >> c >> d >> N; vector v(4); v[0] = a; map, int64_t> m; m[make_tuple(a, 0, 0, 0)] = 0; for(int64_t i = 1; i <= N; i++) { if(i % 4 == 1) { if(v[0] + v[1] <= b) { v[1] += v[0]; v[0] = 0; } else { v[0] = v[0] + v[1] - b; v[1] = b; } } else if(i % 4 == 2) { if(v[1] + v[2] <= c) { v[2] += v[1]; v[1] = 0; } else { v[1] = v[1] + v[2] - c; v[2] = c; } } else if(i % 4 == 3) { if(v[2] + v[3] <= d) { v[3] += v[2]; v[2] = 0; } else { v[2] = v[2] + v[3] - d; v[3] = d; } } else { if(v[2] + v[3] <= a) { v[0] += v[3]; v[3] = 0; } else { v[3] = v[3] + v[0] - a; v[0] = a; } if(!m.count(make_tuple(v[0], v[1], v[2], v[3]))) m[make_tuple(v[0], v[1], v[2], v[3])] = i; else i += (N - i) / (i - m.at(make_tuple(v[0], v[1], v[2], v[3]))) * (i - m.at(make_tuple(v[0], v[1], v[2], v[3]))); } } cout << v[0] << ' ' << v[1] << ' ' << v[2] << ' ' << v[3] << endl; return 0; }