#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
char s[50][50];
int main() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  cout << 50 << " " << 50 << endl;
  for (int i = 0; i < 50; i++) {
    for (int j = 0; j < 10; j++) s[i][j] = 'A';
    for (int j = 10; j < 21; j++) s[i][j] = 'B';
    for (int j = 21; j < 31; j++) s[i][j] = 'C';
    for (int j = 31; j < 50; j++) s[i][j] = 'D';
  }
  a--;
  b--;
  c--;
  d--;
  int x = 0, y = 0;
  while (b--) {
    if (x >= 50) x = 0, y += 2;
    s[x][y] = 'B';
    x += 2;
  }
  y = 12;
  x = 0;
  while (a--) {
    if (x >= 50) x = 0, y += 2;
    s[x][y] = 'A';
    x += 2;
  }
  y = 22;
  x = 0;
  while (d--) {
    if (x >= 50) x = 0, y += 2;
    s[x][y] = 'D';
    x += 2;
  }
  y = 32;
  x = 0;
  while (c--) {
    if (x >= 50) x = 0, y += 2;
    s[x][y] = 'C';
    x += 2;
  }
  for (int i = 0; i < 50; i++) {
    for (int j = 0; j < 50; j++) cout << s[i][j];
    cout << endl;
  }
}
