#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
int add(int a, int b) { return min(inf, a + b); }
int k, x, n1, n2;
bool check(int be1, int en1, int f1, int be2, int en2, int f2) {
  vector<int> f(k + 1, 0), be(k + 1, 0), en(k + 1, 0);
  f[1] = f1;
  be[1] = be1;
  en[1] = en1;
  f[2] = f2;
  be[2] = be2;
  en[2] = en2;
  for (int i = 3; i <= k; ++i) {
    f[i] = add(add(f[i - 2], f[i - 1]), (en[i - 2] == 0 && be[i - 1] == 2));
    be[i] = be[i - 2];
    en[i] = en[i - 1];
  }
  return f[k] == x;
}
void print(int be, int en, int f, int n) {
  if (n == 1)
    cout << (char)(be + 'A');
  else if (n == 2)
    cout << (char)(be + 'A') << (char)(en + 'A');
  else {
    n -= 2;
    cout << (char)(be + 'A');
    if (be == 0 && en == 2) {
      if (f == 0) {
        while (n--) cout << "B";
      } else if (f == 1) {
        cout << "C";
        --n;
        while (n--) cout << "B";
      } else if (f == 2) {
        cout << "C";
        --n;
        while (n-- > 1) cout << "B";
        cout << "A";
      } else {
        cout << "C";
        --n;
        f -= 2;
        while (f--) {
          cout << "AC";
          n -= 2;
        }
        while (n-- > 1) cout << "B";
        cout << "A";
      }
    } else if (be == 0) {
      if (f == 0) {
        while (n--) cout << "B";
      } else {
        cout << "C";
        --n;
        --f;
        while (f--) {
          cout << "AC";
          n -= 2;
        }
        while (n--) cout << "B";
      }
    } else if (en == 2) {
      if (f == 0) {
        while (n--) cout << "B";
      } else {
        --f;
        while (f--) {
          cout << "AC";
          n -= 2;
        }
        while (n-- > 1) cout << "B";
        cout << "A";
      }
    } else {
      while (f--) {
        cout << "AC";
        n -= 2;
      }
      while (n--) cout << "B";
    }
    cout << (char)(en + 'A');
  }
  cout << '\n';
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> k >> x >> n1 >> n2;
  for (int be1 = 0; be1 < 3; ++be1) {
    for (int en1 = 0; en1 < 3; ++en1) {
      if (n1 == 1 && be1 != en1) continue;
      for (int be2 = 0; be2 < 3; ++be2) {
        for (int en2 = 0; en2 < 3; ++en2) {
          if (n2 == 1 && be2 != en2) continue;
          int mn1 = (n1 == 2 && be1 == 0 && en1 == 2 ? 1 : 0), mx1,
              mn2 = (n2 == 2 && be2 == 0 && en2 == 2 ? 1 : 0), mx2;
          if (n1 == 1)
            mx1 = 0;
          else if (n1 == 2)
            mx1 = (be1 == 0 && en1 == 2);
          else if (n1 == 3)
            mx1 = (be1 == 0 || en1 == 2);
          else {
            if (be1 == 0 && en1 == 2)
              mx1 = 2 + ((n1 - 4) >> 1);
            else if (be1 == 0 || en1 == 2)
              mx1 = 1 + ((n1 - 3) >> 1);
            else
              mx1 = ((n1 - 2) >> 1);
          }
          if (n2 == 1)
            mx2 = 0;
          else if (n2 == 2)
            mx2 = (be2 == 0 && en2 == 2);
          else if (n2 == 3)
            mx2 = (be2 == 0 || en2 == 2);
          else {
            if (be2 == 0 && en2 == 2)
              mx2 = 2 + ((n2 - 4) >> 1);
            else if (be2 == 0 || en2 == 2)
              mx2 = 1 + ((n2 - 3) >> 1);
            else
              mx2 = ((n2 - 2) >> 1);
          }
          for (int f1 = mn1; f1 <= mx1; ++f1) {
            for (int f2 = mn2; f2 <= mx2; ++f2) {
              if (check(be1, en1, f1, be2, en2, f2)) {
                print(be1, en1, f1, n1);
                print(be2, en2, f2, n2);
                return 0;
              }
            }
          }
        }
      }
    }
  }
  cout << "Happy new year!\n";
  return 0;
}
