func_code_string: #include <bits/stdc++.h>   using namespace std;   long long labs(long long a) { return a < 0 ? (-a) : a; }   long long max(long long a, long long b) { return a > b ? a : b; }   long long min(long long a, long long b) { return a < b ? a : b; }   template <typename T>   struct Point {     T x, y;     Point() {}     Point(T xx, T yy) : x(xx), y(yy) {}   };   template <typename T>   bool operator<(const Point<T> &p1, const Point<T> &p2) {     return p1.x < p2.x || p1.x == p2.x && p1.y < p2.y;   }   char c =  a  - 1;   char NextChar() {     c++;     if (c >  z ) c =  a ;     return c;   }   vector<vector<char> > v;   int main() {     int n;     cin >> n;     if (n == 2) {       cout <<  aa  << endl;       cout <<  bb  << endl;       cout <<  cc  << endl;       cout <<  dd  << endl;       return 0;     }     v.assign(4, vector<char>(n));     v[2][0] = v[3][0] = NextChar();     for (int(i) = 0; (i) < (n - 1); (i)++) {       if (i % 2 == 0) {         v[0][i] = v[0][i + 1] = NextChar();         v[1][i] = v[1][i + 1] = NextChar();       } else {         v[2][i] = v[2][i + 1] = NextChar();         v[3][i] = v[3][i + 1] = NextChar();       }     }     if (n % 2 == 0) {       v[2][n - 1] = v[3][n - 1] = NextChar();     } else {       v[0][n - 1] = v[1][n - 1] = NextChar();     }     for (int(i) = 0; (i) < (4); (i)++) {       for (int(j) = 0; (j) < (n); (j)++) {         cout << v[i][j];       }       cout << endl;     }     return 0;   }   