#include <bits/stdc++.h>
using namespace std;
int K, x, l1, l2, s[99], e[99], ac[99];
bool can(int s, int e, int ac, int L) {
  if (L == 1) return ac == 0 && s == e;
  if (L == 2) return (ac == 0) || (s == 'A' && e == 'C' && ac == 1);
  if (L >= 3) {
    if (ac * 2 + 2 <= L) return true;
    if (s == 'A' && ac * 2 + 1 <= L) return true;
    if (e == 'C' && ac * 2 + 1 <= L) return true;
    if (s == 'A' && e == 'C' && ac * 2 <= L) return true;
  }
  return false;
}
int equal(int s1, int e1, int ac1, int s2, int e2, int ac2) {
  s[1] = s1;
  e[1] = e1;
  ac[1] = ac1;
  s[2] = s2;
  e[2] = e2;
  ac[2] = ac2;
  for (int i = 3; i <= K; i++) {
    s[i] = s[i - 2];
    e[i] = e[i - 1];
    ac[i] = ac[i - 2] + ac[i - 1];
    if (e[i - 2] == 'A' && s[i - 1] == 'C') ac[i]++;
    if (ac[i] > x) return false;
  }
  return ac[K] == x;
}
void Write(int s, int e, int ac, int L) {
  if (L == 1) {
    printf("%c\n", s);
    return;
  }
  if (L == 2) {
    printf("%c%c\n", s, e);
    return;
  }
  if (s == 'A' && e == 'C') {
    if (ac == 0) {
      printf("A");
      for (int i = 1; i <= L - 2; i++) printf("B");
      printf("C\n");
      return;
    }
    if (ac == 1) {
      printf("AC");
      for (int i = 1; i <= L - 3; i++) printf("B");
      printf("C\n");
      return;
    }
    if (ac >= 2) {
      printf("AC");
      for (int i = 1; i <= ac - 2; i++) printf("AC");
      for (int i = 1; i <= L - 2 * ac; i++) printf("B");
      printf("AC\n");
      return;
    }
  }
  if (s == 'A') {
    if (ac == 0) {
      printf("A");
      for (int i = 1; i <= L - 2; i++) printf("B");
      printf("%c\n", e);
      return;
    } else {
      printf("A");
      if (ac) printf("C");
      for (int i = 1; i <= ac - 1; i++) printf("AC");
      for (int i = 1; i <= L - 2 * ac - 1; i++) printf("B");
      printf("%c\n", e);
      return;
    }
  }
  if (e == 'C') {
    if (ac == 0) {
      printf("%c", s);
      for (int i = 1; i <= L - 2; i++) printf("B");
      printf("C\n");
      return;
    } else {
      printf("%c", s);
      for (int i = 1; i <= L - 2 * ac - 1; i++) printf("B");
      for (int i = 1; i <= ac - 1; i++) printf("AC");
      if (ac) printf("A");
      printf("C\n");
      return;
    }
  }
  printf("%c", s);
  for (int i = 1; i <= ac; i++) printf("AC");
  for (int i = 1; i <= L - 2 * ac - 2; i++) printf("B");
  printf("%c\n", e);
}
int main() {
  scanf("%d%d%d%d", &K, &x, &l1, &l2);
  for (int s1 = 'A'; s1 <= 'C'; s1++)
    for (int e1 = 'A'; e1 <= 'C'; e1++)
      for (int ac1 = 0; ac1 <= l1 / 2; ac1++)
        if (can(s1, e1, ac1, l1))
          for (int s2 = 'A'; s2 <= 'C'; s2++)
            for (int e2 = 'A'; e2 <= 'C'; e2++)
              for (int ac2 = 0; ac2 <= l2 / 2; ac2++)
                if (can(s2, e2, ac2, l2))
                  if (equal(s1, e1, ac1, s2, e2, ac2)) {
                    Write(s1, e1, ac1, l1);
                    Write(s2, e2, ac2, l2);
                    return 0;
                  }
  printf("Happy new year!\n");
  return 0;
}
