#include <bits/stdc++.h>
using namespace std;
void fastio() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
void one();
int main() {
  fastio();
  int t = 1;
  for (int i = 0; i < t; ++i) {
    one();
  }
  return 0;
}
int k;
int x;
int n;
int m;
bool test(int c1, int c2, int l1, int l2, int r1, int r2) {
  if (l1 + r1 + 2 * c1 > n) return false;
  if (l2 + r2 + 2 * c2 > m) return false;
  for (int st = 0; st < k - 2; ++st) {
    int c3 = c1 + c2 + (r1 * l2);
    int l3 = l1;
    int r3 = r2;
    c1 = c2;
    l1 = l2;
    r1 = r2;
    c2 = c3;
    l2 = l3;
    r2 = r3;
    if (c2 > x) return false;
  }
  return c2 == x;
}
string build(int len, int c, int l, int r) {
  string s(len, 'X');
  if (l) s[0] = 'C';
  if (r) s[len - 1] = 'A';
  int j = l;
  for (int i = 0; i < c; ++i) {
    s[j] = 'A';
    s[j + 1] = 'C';
    j += 2;
  }
  return s;
}
void one() {
  cin >> k;
  cin >> x;
  cin >> n;
  cin >> m;
  for (int l1 = 0; l1 < 2; ++l1)
    for (int l2 = 0; l2 < 2; ++l2)
      for (int r1 = 0; r1 < 2; ++r1)
        for (int r2 = 0; r2 < 2; ++r2)
          for (int c1 = 0; c1 < n / 2 + 1; ++c1)
            for (int c2 = 0; c2 < m / 2 + 1; ++c2) {
              if (test(c1, c2, l1, l2, r1, r2)) {
                cout << build(n, c1, l1, r1) << endl;
                cout << build(m, c2, l2, r2) << endl;
                return;
              }
            }
  cout << "Happy new year!"
       << "\n";
}
