#include <bits/stdc++.h>
using namespace std;
template <typename A, typename B>
ostream& operator<<(ostream& os, const pair<A, B>& p) {
  return os << '(' << p.first << ", " << p.second << ')';
}
template <typename C>
ostream& operator<<(ostream& os, const vector<C>& v) {
  for (__typeof((v).begin()) __it = (v).begin(); __it != (v).end(); __it++)
    os << *(__it) << ' ';
  return os;
}
const int inf = 0x3f3f3f3f;
const double eps = 1e-5;
const int maxn = 123;
char res[4][maxn];
int n;
void make(int row, int pos, int cnt, char start) {
  int cur = 0;
  for (int i = 0; i < cnt; i++) {
    res[row][pos + i * 2] = start + cur;
    res[row][pos + i * 2 + 1] = start + cur;
    cur++;
    cur %= 5;
  }
}
int main() {
  cin >> n;
  make(0, 0, n / 2, 'a');
  make(1, 0, n / 2, 'f');
  if (n % 2) {
    res[0][n - 1] = res[1][n - 1] = 'k';
  } else {
    res[2][n - 1] = res[3][n - 1] = 'k';
  }
  res[2][0] = res[3][0] = 'q';
  make(2, 1, (n - 1) / 2, 'l');
  make(3, 1, (n - 1) / 2, 'r');
  for (int i = 0; i < 4; i++) puts(res[i]);
  return 0;
}
