#include <bits/stdc++.h>
using namespace std;
const int N = 60;
int k, x, n, m, c[N], s[N], e[N];
string ch = " ACB";
void print(int l, int c, int s, int e) {
  cout << ch[s];
  if (l == 1) return;
  if (c <= (l - 2) / 2) {
    for (int i = 0; i < c; i++) cout << "AC";
    for (int i = 0; i < l - 2 - 2 * c; i++) cout << "B";
  } else {
    if (l % 2 == 0 && 2 < l) {
      cout << "C";
      for (int i = 0; i < l / 2 - 2; i++) cout << "AC";
      cout << "A";
    }
    if (l % 2 == 1) {
      if (s == 1) cout << "C";
      for (int i = 0; i < l / 2 - 1; i++) cout << "AC";
      if (s != 1) cout << "A";
    }
  }
  cout << ch[e];
}
bool check(int c1, int s1, int e1, int c2, int s2, int e2) {
  if ((n == 1 && s1 != e1) || (m == 1 && s2 != e2)) return false;
  if (n == 2 && s1 == 1 && e1 == 2 && c1 != 1) return false;
  if (m == 2 && s2 == 1 && e2 == 2 && c2 != 1) return false;
  if ((n - (s1 != 1) - (e1 != 2)) / 2 < c1 ||
      (m - (s2 != 1) - (e2 != 2)) / 2 < c2)
    return false;
  memset(c, 0, sizeof c);
  memset(s, 0, sizeof s);
  memset(e, 0, sizeof e);
  c[1] = c1;
  s[1] = s1;
  e[1] = e1;
  c[2] = c2;
  s[2] = s2;
  e[2] = e2;
  for (int i = 3; i <= k; i++) {
    c[i] = c[i - 2] + c[i - 1] + (e[i - 2] == 1 && s[i - 1] == 2);
    s[i] = s[i - 2];
    e[i] = e[i - 1];
    if (x < c[i]) return false;
  }
  if (c[k] != x) return false;
  print(n, c1, s1, e1);
  cout << '\n';
  print(m, c2, s2, e2);
  return true;
}
void solve() {
  for (int c1 = 0; c1 <= n / 2; c1++)
    for (int s1 = 1; s1 <= 3; s1++)
      for (int e1 = 1; e1 <= 3; e1++)
        for (int c2 = 0; c2 <= m / 2; c2++)
          for (int s2 = 1; s2 <= 3; s2++)
            for (int e2 = 1; e2 <= 3; e2++)
              if (check(c1, s1, e1, c2, s2, e2)) return;
  cout << "Happy new year!";
}
int main() {
  cin >> k >> x >> n >> m;
  solve();
  return 0;
}
