#include <bits/stdc++.h>
using namespace std;
int a, b, c, d;
int ans[51][51];
pair<int, int> blo[10];
int main() {
  for (int i = 1; i <= 4; ++i) cin >> blo[i].first, blo[i].second = i;
  sort(blo + 1, blo + 1 + 4);
  a = blo[1].first, b = blo[2].first, c = blo[3].first, d = blo[4].first;
  --a, --b, --c;
  int minn = a;
  int col = 1, row = 1;
  b -= a;
  while (a) {
    if (row & 1) {
      ans[row][col++] = 1;
      ans[row][col++] = 2;
    } else {
      ans[row][col++] = 2;
      ans[row][col++] = 1;
    }
    --a;
    if (col == 51) {
      col = 1;
      ++row;
    }
  }
  for (int i = col; i <= 50; ++i) ans[row][i] = 3;
  for (int i = 1; i <= 50; ++i) ans[row + 1][i] = 3;
  for (int i = 1; i <= 50; ++i) ans[row + 2][i] = 2;
  minn = c;
  row += 3, col = 1;
  d -= c;
  while (c) {
    if (row & 1) {
      ans[row][col++] = 3;
      ans[row][col++] = 4;
    } else {
      ans[row][col++] = 4;
      ans[row][col++] = 3;
    }
    --c;
    if (col == 51) {
      col = 1;
      ++row;
    }
  }
  for (int i = col; i <= 50; ++i) ans[row][i] = 1;
  for (int i = 1; i <= 50; ++i) ans[row + 1][i] = 1;
  row += 2;
  col = 1;
  minn = min(b, d);
  int bb = b, dd = d;
  while (minn) {
    if (row & 1) {
      ans[row][col++] = 2;
      ans[row][col++] = 4;
    } else {
      ans[row][col++] = 4;
      ans[row][col++] = 2;
    }
    --minn;
    if (col == 49) {
      col = 1;
      ans[row][49] = 1;
      ans[row][50] = 1;
      ++row;
    }
  }
  for (int i = col; i <= 50; ++i) ans[row][i] = 1;
  ++row;
  for (int i = 1; i <= 50; ++i) ans[row][i] = 1;
  ++row;
  int red = abs(b - d);
  col = 1;
  while (red) {
    --red;
    ans[row][col++] = 7;
    ans[row][col++] = 1;
    if (col == 51) {
      col = 1, ++row;
      for (int i = 1; i <= 50; ++i) ans[row][i] = 1;
      ++row;
    }
  }
  for (int i = col; i <= 50; ++i) ans[row][i] = 1;
  int p = bb > dd ? 2 : 4;
  for (int i = 1; i <= 50; ++i) {
    for (int j = 1; j <= 50; ++j) {
      if (ans[i][j] == 7) ans[i][j] = p;
    }
  }
  cout << row << " " << 50 << endl;
  for (int i = 1; i <= row; ++i) {
    for (int j = 1; j <= 50; ++j) {
      printf("%c", 'A' - 1 + blo[ans[i][j]].second);
    }
    puts("");
  }
  cout << endl;
}
