#include <bits/stdc++.h>
using namespace std;
int n, l1, l2, l[200], r[200];
long long f[200], k;
long long get() {
  for (int i = 3; i <= n; i++) {
    f[i] = f[i - 1] + f[i - 2];
    if (r[i - 2] == 1 && l[i - 1] == 2) f[i]++;
    l[i] = l[i - 2];
    r[i] = r[i - 1];
  }
  return f[n];
}
void ch(int x) {
  if (!x) return;
  if (x == 1)
    printf("A");
  else if (x == 2)
    printf("C");
  else
    printf("D");
}
void sc(int i, int j, int g1, int h1, int g2, int h2) {
  if (l1 == 1) {
    ch(g1);
    puts("");
  } else {
    ch(g1);
    for (int p = 1; p <= i; p++) printf("AC");
    for (int p = 1; p <= l1 - 2 * i - (g1 > 0) - (h1 > 0); p++) ch(3);
    ch(h1);
    puts("");
  }
  if (l2 == 1) {
    ch(g2);
    puts("");
  } else {
    ch(g2);
    for (int p = 1; p <= j; p++) printf("AC");
    for (int p = 1; p <= l2 - 2 * j - (g2 > 0) - (h2 > 0); p++) ch(3);
    ch(h2);
  }
}
int main() {
  scanf("%d%I64d%d%d", &n, &k, &l1, &l2);
  int p = l1 / 2, q = l2 / 2;
  for (int i = 0; i <= max(p - 1, 0); i++)
    for (int j = 0; j <= max(q - 1, 0); j++) {
      f[1] = i;
      f[2] = j;
      for (int g1 = 1; g1 <= 3; g1++)
        for (int h1 = 1; h1 <= 3; h1++)
          for (int g2 = 1; g2 <= 3; g2++)
            for (int h2 = 1; h2 <= 3; h2++) {
              int hh1 = h1, hh2 = h2;
              h1 = p ? h1 : g1;
              h2 = q ? h2 : g2;
              if (l1 == 2)
                if (g1 == 1 && h1 == 2)
                  f[1] = 1;
                else
                  f[1] = 0;
              if (l2 == 2)
                if (g2 == 1 && h2 == 2)
                  f[2] = 1;
                else
                  f[2] = 0;
              l[1] = g1;
              r[1] = h1;
              l[2] = g2;
              r[2] = h2;
              if (get() == k) {
                sc(i, j, g1, h1, g2, h2);
                return 0;
              }
              h1 = hh1;
              h2 = hh2;
            }
    }
  f[1] = p;
  f[2] = q;
  if ((l1 & 1) && (l2 & 1)) {
    for (int g1 = 1; g1 <= 3; g1++)
      for (int g2 = 1; g2 <= 3; g2++) {
        l[1] = g1;
        l[2] = g2;
        r[1] = 2;
        r[2] = 2;
        if (get() == k) {
          sc(p, q, g1, 0, g2, 0);
          return 0;
        }
      }
    for (int g1 = 1; g1 <= 3; g1++)
      for (int h2 = 1; h2 <= 3; h2++) {
        l[1] = g1;
        l[2] = 1;
        r[1] = 2;
        r[2] = h2;
        if (get() == k) {
          sc(p, q, g1, 0, 0, h2);
          return 0;
        }
      }
    for (int h1 = 1; h1 <= 3; h1++)
      for (int g2 = 1; g2 <= 3; g2++) {
        l[1] = 1;
        l[2] = g2;
        r[1] = h1;
        r[2] = 2;
        if (get() == k) {
          sc(p, q, 0, h1, g2, 0);
          return 0;
        }
      }
    for (int h1 = 1; h1 <= 3; h1++)
      for (int h2 = 1; h2 <= 3; h2++) {
        l[1] = 1;
        l[2] = 1;
        r[1] = h1;
        r[2] = h2;
        if (get() == k) {
          sc(p, q, 0, h1, 0, h2);
          return 0;
        }
      }
  }
  if (!(l1 & 1) && (l2 & 1)) {
    for (int g2 = 1; g2 <= 3; g2++) {
      l[1] = 1;
      r[1] = 2;
      l[2] = g2;
      r[2] = 2;
      if (get() == k) {
        sc(p, q, 0, 0, g2, 0);
        return 0;
      }
    }
    for (int h2 = 1; h2 <= 3; h2++) {
      l[1] = 1;
      r[1] = 2;
      l[2] = 1;
      r[2] = h2;
      if (get() == k) {
        sc(p, q, 0, 0, 0, h2);
        return 0;
      }
    }
  }
  if ((l1 & 1) && !(l2 & 1)) {
    for (int g1 = 1; g1 <= 3; g1++) {
      l[2] = 1;
      r[2] = 2;
      l[1] = g1;
      r[1] = 2;
      if (get() == k) {
        sc(p, q, g1, 0, 0, 0);
        return 0;
      }
    }
    for (int h1 = 1; h1 <= 3; h1++) {
      l[2] = 1;
      r[2] = 2;
      l[1] = 1;
      r[1] = h1;
      if (get() == k) {
        sc(p, q, 0, h1, 0, 0);
        return 0;
      }
    }
  }
  if (!(l1 & 1) && !(l2 & 1)) {
    l[1] = 1;
    r[1] = 2;
    l[2] = 1;
    r[2] = 2;
    if (get() == k) {
      sc(p, q, 0, 0, 0, 0);
      return 0;
    }
  }
  puts("Happy new year!");
}
