#include <bits/stdc++.h>
using namespace std;
string s[100];
long long fib[100];
int main() {
  fib[0] = fib[1] = 1;
  for (int i = 2; i < 100; i++) fib[i] = fib[i - 1] + fib[i - 2];
  int K, n, m;
  long long x;
  cin >> K >> x >> n >> m;
  long long o = fib[K - 3], t = fib[K - 2], ot = o, to = fib[K - 3], tt = 0;
  if (K >= 4) {
    tt = fib[K - 4];
    if (K % 2 == 0) tt--;
  }
  if (K % 2 == 1) to--;
  for (int i = 0; i < 51; i++)
    for (int j = 0; j < 51; j++)
      for (int k = 0; k < 4; k++)
        for (int l = 0; l < 4; l++) {
          int l1 = i * 2 + __builtin_popcount(k),
              l2 = j * 2 + __builtin_popcount(l);
          if (l1 > n || l2 > m) continue;
          long long sum = o * i + t * j;
          if (k / 2 > 0 && l % 2 > 0) sum += ot;
          if (l / 2 > 0 && k % 2 > 0) sum += to;
          if (l / 2 > 0 && l % 2 > 0) sum += tt;
          if (sum == x) {
            string s1 = "", s2 = "";
            if (k % 2 > 0) s1 += "C";
            for (int i2 = 0; i2 < i; i2++) s1 += "AC";
            for (int i2 = 0; i2 < n - l1; i2++) s1 += "B";
            if (k / 2 > 0) s1 += "A";
            if (l % 2 > 0) s2 += "C";
            for (int i2 = 0; i2 < j; i2++) s2 += "AC";
            for (int i2 = 0; i2 < m - l2; i2++) s2 += "B";
            if (l / 2 > 0) s2 += "A";
            cout << s1 << endl;
            cout << s2 << endl;
            return 0;
          }
        }
  cout << "Happy new year!" << endl;
}
