func_code_string: #include <bits/stdc++.h>   using namespace std;   signed long long int n, m, k, x, y;   signed long long int ct[3], myct;   int main() {     cin >> n >> m >> k >> x >> y;     signed long long int f1, q, val, rem = k;     if (n == 1) {       f1 = m;       q = rem / f1;       rem -= q * f1;       myct = q;       ct[1] = q;       ct[2] = q;       if (y <= rem) myct++;       if (rem != 0) ct[1]++;       cout << ct[1] <<     << ct[2] <<     << myct <<   n ;       return 0;     } else if (n == 2) {       f1 = 2 * m;       q = rem / f1;       rem -= q * f1;       myct = q;       ct[1] = ct[2] = q;       if (((x - 1) * m + y) <= rem) myct++;       if (rem != 0) ct[1]++;       cout << ct[1] <<     << ct[2] <<     << myct <<   n ;       return 0;     }     f1 = ((n - 2) * m * 2) + (2 * m);     q = rem / f1;     rem -= q * f1;     ct[0] = 2 * q;     ct[1] = q;     ct[2] = q;     int grp = -1;     if (x == 1) {       myct = q;       grp = 1;     } else if (x == n) {       myct = q;       grp = 2;     } else {       myct = 2 * q;       grp = 0;     }     int stp = 0;     if (rem > 0 && rem <= m) {       ct[1]++;       if (((x - 1) * m + y) <= rem) myct++;     } else if (rem > m && rem <= (n - 1) * m) {       ct[0]++;       ct[1]++;       if (((x - 1) * m + y) <= rem) myct++;     } else if (rem > (n - 1) * m && rem <= n * m) {       ct[0]++;       ct[1]++;       stp = 3;       if (rem == n * m) ct[2]++;       if (((x - 1) * m + y) <= rem) myct++;     } else if (rem > n * m && rem <= f1) {       ct[0] += 2;       ct[1]++;       ct[2]++;       myct++;       stp = 4;       if (x == 1 || x == n) {       } else {         rem -= n * m;         val = (n - x - 1) * m + y;         if (val <= rem) myct++;       }     }     signed long long int mini = ct[0], maxi = ct[0];     for (int i = 1; i < 3; i++) {       mini = min(mini, ct[i]);       maxi = max(maxi, ct[i]);     }     cout << maxi <<     << mini <<     << myct <<   n ;   }   