#include <bits/stdc++.h>
using namespace std;
struct Str {
  int a, b, c, d, e;
  int be, ed;
} s1, s2, s3;
Str add(Str x, Str y) {
  Str ret;
  ret.a = x.a + y.a;
  if (x.ed == 1 && y.be == 2) ret.a++;
  ret.b = x.b + y.b;
  if (x.ed == 2 && y.be == 2) ret.b++;
  ret.c = x.c + y.c;
  if (x.ed == 2 && y.be == 1) ret.c++;
  ret.d = x.d + y.d;
  ret.e = x.e + y.e;
  ret.be = x.be;
  ret.ed = y.ed;
  return ret;
}
int k, x, n, m;
int be1, ed1, be2, ed2, flag;
string S1, S2;
void work() {
  int y, r;
  for (int aa = 0; aa <= 1; aa++)
    for (int bb = 0; bb <= 1; bb++)
      for (int cc = 0; cc <= 1; cc++) {
        for (int l = 0; l <= n / 2; l++) {
          be1 = ed1 = be2 = ed2 = 0;
          flag = 0;
          S1.clear();
          S2.clear();
          y = x - aa * s3.a - bb * s3.b - cc * s3.c - s3.d * l;
          if (y >= 0 && y % s3.e == 0 && y / s3.e <= m / 2) {
            if (aa && (!bb) && cc) continue;
            if (aa) {
              ed1 = 1;
              be2 = 2;
            }
            if (bb) {
              ed2 = 1;
              be2 = 2;
            }
            if (cc) {
              ed2 = 1;
              be1 = 2;
            }
            r = y / s3.e;
            if (l * 2 + (!!be1) + (!!ed1) <= n) {
              flag++;
              if (be1) S1 = "C";
              for (int xx = 0; xx < l; xx++) S1 += "AC";
              y = n - S1.length() - 1;
              if (y >= 0) {
                while (y--) S1 += "B";
                if (ed1)
                  S1 += "A";
                else
                  S1 += "B";
              }
            }
            if (r * 2 + (!!be2) + (!!ed2) <= m) {
              flag++;
              if (be2) S2 = "C";
              for (int xx = 0; xx < r; xx++) S2 += "AC";
              y = m - S2.length() - 1;
              if (y >= 0) {
                while (y--) S2 += "B";
                if (ed2)
                  S2 += "A";
                else
                  S2 += "B";
              }
            }
            if (flag == 2) return;
          }
        }
      }
}
int main() {
  scanf("%d%d%d%d", &k, &x, &n, &m);
  s1.be = s1.ed = 1;
  s2.be = s2.ed = 2;
  s1.d = 1;
  s1.a = s1.b = s1.c = s1.e = 0;
  s2.e = 1;
  s2.a = s2.b = s2.c = s2.d = 0;
  for (int i = 3; i <= k; i++) {
    s3 = add(s1, s2);
    s1 = s2;
    s2 = s3;
  }
  work();
  if (flag == 2)
    cout << S1 << endl << S2 << endl;
  else
    cout << "Happy new year!" << endl;
  return 0;
}
