#include <bits/stdc++.h>
using namespace std;
long long s1[55];
long long s2[55];
long long s12[55];
long long s21[55];
long long s22[55];
int k, x, n, m;
bool can(int m1, int m2, int m3, int n, int m, int &i, int &j) {
  for (i = 0; 2 * i <= n; i++) {
    for (j = 0; 2 * j <= m; j++) {
      if ((s1[k] * i + s2[k] * j + s12[k] * m1 + s21[k] * m2 + s22[k] * m3) ==
          x) {
        return true;
      }
    }
  }
  return false;
}
string get(int n, int i) {
  string str1 = "";
  while (i--) str1 += "AC";
  while (str1.size() < n) str1 += 'Z';
  return str1;
}
int main() {
  int i, j;
  cin >> k >> x >> n >> m;
  memset((s1), (0), sizeof(s1));
  memset((s2), (0), sizeof(s2));
  s1[1] = 1;
  s1[2] = 0;
  s2[1] = 0;
  s2[2] = 1;
  for (i = 3; i <= k; i++) {
    s1[i] = s1[i - 2] + s1[i - 1];
    s2[i] = s2[i - 2] + s2[i - 1];
  }
  memset((s12), (0), sizeof(s12));
  memset((s21), (0), sizeof(s21));
  memset((s22), (0), sizeof(s22));
  s12[3] = 1;
  for (i = 4; i <= k; i++) {
    s12[i] = s12[i - 2] + s12[i - 1];
    s21[i] = s21[i - 2] + s21[i - 1];
    s22[i] = s22[i - 2] + s22[i - 1];
    if ((i & 1) == 0) {
      s21[i]++;
    } else
      s22[i]++;
  }
  string ch[] = {"", "A", "C"};
  bool f = 0;
  for (int st1 = 0; st1 < 3; st1++)
    for (int en1 = 0; en1 < 3; en1++)
      for (int st2 = 0; st2 < 3; st2++)
        for (int en2 = 0; en2 < 3; en2++) {
          int m1, m2, m3;
          m1 = ("" + ch[en1] + ch[st2]) == "AC";
          m2 = ("" + ch[en2] + ch[st1]) == "AC";
          m3 = ("" + ch[en2] + ch[st2]) == "AC";
          int _n = n - (ch[st1] + ch[en1]).size();
          int _m = m - (ch[st2] + ch[en2]).size();
          if (can(m1, m2, m3, _n, _m, i, j)) {
            string str1 = ch[st1] + get(_n, i) + ch[en1];
            string str2 = ch[st2] + get(_m, j) + ch[en2];
            cout << str1 << endl << str2 << endl;
            return 0;
          }
        }
  cout << "Happy new year!" << endl;
  return 0;
}
