#include <bits/stdc++.h>
using namespace std;
int debug = 0;
const int mod = 1e9 + 7;
char outer[] = {'A', 'B', 'C', 'D'};
char inner[] = {'B', 'C', 'D', 'A'};
void fill(char a, int h, vector<string>& vec) {
  if (debug) cout << " " << h << endl;
  for (int i = 0; i < 10; i++) {
    if (h == 0) break;
    if (i % 2) continue;
    for (int j = 0; j < 50; j++) {
      if (j % 2) continue;
      vec[i][j] = a;
      h--;
      if (h == 0) break;
    }
  }
}
void solve() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  a--;
  b--;
  c--;
  d--;
  int how[] = {b, c, d, a};
  cout << 40 << " " << 50 << endl;
  for (int i = 0; i < 4; i++) {
    vector<string> vec(10, string(50, outer[i]));
    fill(inner[i], how[i], vec);
    for (int j = 0; j < (int)vec.size(); j++) cout << vec[j] << endl;
  }
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  while (t--) solve();
}
