#include <bits/stdc++.h>
int k, x, n, m;
long long fibo[100];
long long co[5];
long long sum[10];
long long fib(int a) {
  if (a <= 0) return 0;
  return fibo[a];
}
int go(int a, int b, int sta) {
  int nn = n, mm = m;
  if (sta & 4) --nn;
  if (sta & 2) --nn;
  if (sta & 3) --mm;
  if (sta & 5) --mm;
  if (a * 2 > nn || b * 2 > mm) return 0;
  if (sta & 2) printf("C");
  for (int i = 1; i <= a; ++i) printf("AC");
  for (int i = a + a + 1; i <= nn; ++i) printf("B");
  if (sta & 4) printf("A");
  puts("");
  if (sta & 5) printf("C");
  for (int i = 1; i <= b; ++i) printf("AC");
  for (int i = b + b + 1; i <= mm; ++i) printf("B");
  if (sta & 3) printf("A");
  puts("");
  return 1;
}
int f(long long c1, int &r1, long long c2, int &r2, long long c3, int sta) {
  for (int i = 0, il = (n >> 1) + 2; i <= il; ++i) {
    for (int j = 0, jl = (m >> 1) + 2; j <= jl; ++j) {
      if (c1 * i + c2 * j == c3) {
        int t = go(i, j, sta);
        if (t == 1) return 1;
      }
    }
  }
  return 0;
}
bool solve(int sta) {
  long long xx = x;
  for (int i = 0; i < 3; ++i) {
    if ((sta >> i) & 1) xx -= sum[i];
  }
  if (xx < 0) return 0;
  int a, b;
  if (sta == 0) {
  }
  if (f(co[1], a, co[2], b, xx, sta) == 1) return 1;
  return 0;
}
int main(void) {
  fibo[1] = fibo[2] = 1;
  for (int i = 3; i < 100; ++i) fibo[i] = fibo[i - 1] + fibo[i - 2];
  scanf("%d%d%d%d", &k, &x, &n, &m);
  co[1] = fib(k - 2), co[2] = fib(k - 1);
  sum[2] = fib(k - 2);
  for (int i = k - 3; i >= 0; i -= 2) sum[1] += fib(i);
  for (int i = k - 4; i >= 0; i -= 2) sum[0] += fib(i);
  int get = 0;
  for (int s = 0; get == 0 && s < (1 << 3); ++s) {
    if (solve(s) == 1) get = 1;
  }
  if (get == 0) puts("Happy new year!");
  return 0;
}
