func_code_string: #include <bits/stdc++.h>   using namespace std;   long long fact[1000001], power[1000001];   long long powerr(long long x, long long y);   long long mpower(long long x, long long y, long long p);   long long gcdExtended(long long a, long long b);   bool isPrime(long long n);   long long func(long long n) {     long long x = sqrt(n);     if (n % x == 0) x = x + 1;     long long i;     for (i = 2; i < n / 2; i++) {       if (n % i == 0 && isPrime(i) == true) {         return i;       }     }     return n;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long t, j, k, l, h, p, q, r, x, i, y, z, a, b, c, d, f, n, m,         M = 1000000007;     char ch, ch2, ch3;     string s1, s2, s3;     vector<long long> v, w;     set<long long> S;     t = 1;     while (t--) {       cin >> n >> m >> x >> y;       cout << x <<     << y;       cout <<   n ;       z = 0;       for (j = x - 1; j < n; j++) {         if (z == 0) {           for (k = z; k < m; k++) {             if (j == x - 1 && k == y - 1)               continue;             else {               cout << j + 1 <<     << k + 1;               cout <<   n ;             }           }           z = m - 1;         } else {           for (k = m - 1; k >= 0; k--) {             if (j == x - 1 && k == y - 1)               continue;             else {               cout << j + 1 <<     << k + 1;               cout <<   n ;             }           }           z = 0;         }       }       for (j = x - 2; j >= 0; j--) {         if (z == 0) {           for (k = z; k < m; k++) {             if (j == x - 1 && k == y - 1)               continue;             else {               cout << j + 1 <<     << k + 1;               cout <<   n ;             }           }           z = m - 1;         } else {           for (k = m - 1; k >= 0; k--) {             if (j == x - 1 && k == y - 1)               continue;             else {               cout << j + 1 <<     << k + 1;               cout <<   n ;             }           }           z = 0;         }       }     }   }   long long gcdExtended(long long a, long long b) {     if (b == 0) {       return a;     } else       return gcdExtended(b, a % b);   }   long long mpower(long long x, long long y, long long p) {     long long res = 1;     x = x % p;     while (y > 0) {       if (y & 1) res = (res * x) % p;       y = y >> 1;       x = (x * x) % p;     }     return res;   }   long long powerr(long long x, long long y) {     long long res = 1;     while (y > 0) {       if (y & 1) res = res * x;       y = y >> 1;       x = x * x;     }     return res;   }   bool isPrime(long long n) {     if (n <= 1) return false;     if (n <= 3) return true;     if (n % 2 == 0 || n % 3 == 0) return false;     long long p = sqrt(n);     for (int i = 5; i <= p; i = i + 6)       if (n % i == 0 || n % (i + 2) == 0) return false;     return true;   }   