#include <bits/stdc++.h>
using namespace std;
int arr[50][40];
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  cin.exceptions(cin.failbit);
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  for (int j = 0; j < 10; j++)
    for (int i = 0; i < 50; i++) arr[i][j] = 0;
  for (int j = 10; j < 20; j++)
    for (int i = 0; i < 50; i++) arr[i][j] = 1;
  for (int j = 20; j < 30; j++)
    for (int i = 0; i < 50; i++) arr[i][j] = 2;
  for (int j = 30; j < 40; j++)
    for (int i = 0; i < 50; i++) arr[i][j] = 3;
  a--;
  b--;
  c--;
  d--;
  int st_j, off;
  st_j = 20;
  off = 0;
  int i = 0;
  int j = st_j;
  while (a > 0) {
    arr[i][j + off] = 0;
    a--;
    off = off + 2;
    if (off == 10) {
      off = 0;
      i += 2;
    }
  }
  st_j = 30;
  off = 0;
  i = 0;
  j = st_j;
  while (b > 0) {
    arr[i][j + off] = 1;
    b--;
    off = off + 2;
    if (off == 10) {
      off = 0;
      i += 2;
    }
  }
  st_j = 0;
  off = 0;
  i = 0;
  j = st_j;
  while (c > 0) {
    arr[i][j + off] = 2;
    c--;
    off = off + 2;
    if (off == 10) {
      off = 0;
      i += 2;
    }
  }
  st_j = 10;
  off = 0;
  i = 0;
  j = st_j;
  while (d > 0) {
    arr[i][j + off] = 3;
    d--;
    off = off + 2;
    if (off == 10) {
      off = 0;
      i += 2;
    }
  }
  cout << "50 40\n";
  for (int i = 0; i < (50); ++i) {
    for (int j = 0; j < (40); ++j) {
      int v = arr[i][j];
      cout << (char)('A' + v);
    }
    cout << "\n";
  }
}
