#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
vector<vector<int> > d;
vector<string> res;
int n;
const int dx[] = {-1, 1, 0, 0};
const int dy[] = {0, 0, -1, 1};
int main() {
  cin >> n;
  d.resize(4, vector<int>(n));
  int p = 0;
  if (n % 2 == 0) {
    for (int i = 0; i < n; i += 2) {
      d[0][i] = d[0][i + 1] = p++;
      d[3][i] = d[3][i + 1] = p++;
    }
    d[1][0] = d[2][0] = p++;
    d[1][n - 1] = d[2][n - 1] = p++;
    for (int i = 1; i + 1 < n; i += 2) {
      d[1][i] = d[1][i + 1] = p++;
      d[2][i] = d[2][i + 1] = p++;
    }
  } else {
    for (int i = 0; i + 1 < n; i += 2) {
      d[0][i] = d[0][i + 1] = p++;
      d[1][i] = d[1][i + 1] = p++;
      d[2][i + 1] = d[2][i + 2] = p++;
      d[3][i + 1] = d[3][i + 2] = p++;
    }
    d[0][n - 1] = d[1][n - 1] = p++;
    d[2][0] = d[3][0] = p++;
  }
  res.resize(4, string(n, 0));
  char color = 0;
  for (int y = 0; y < (int)(n); ++y) {
    for (int x = 0; x < (int)(4); ++x) {
      if (res[x][y] == 0) {
        for (int i = 0; i < (int)(4); ++i) {
          int nx = x + dx[i];
          int ny = y + dy[i];
          if (nx >= 0 && nx < 4 && ny >= 0 && ny < n) {
            if (d[nx][ny] == d[x][y]) {
              res[x][y] = res[nx][ny] = color + 'a';
              color = (color + 1) % 26;
            }
          }
        }
      }
    }
  }
  for (int i = 0; i < (int)(4); ++i) cout << res[i] << endl;
  return 0;
}
