#include <bits/stdc++.h>
using namespace std;
char mapp[55][55];
int A, B, C, D;
inline void prepare() {
  A--;
  B--;
  C--;
  D--;
  for (int i = 1; i <= 24; ++i)
    for (int j = 1; j <= 24; ++j) mapp[i][j] = 'A';
  for (int i = 1; i <= 24; ++i)
    for (int j = 25; j <= 48; ++j) mapp[i][j] = 'B';
  for (int i = 25; i <= 48; ++i)
    for (int j = 1; j <= 24; ++j) mapp[i][j] = 'C';
  for (int i = 25; i <= 48; ++i)
    for (int j = 25; j <= 48; ++j) mapp[i][j] = 'D';
}
inline void Draw() {
  int i = 2, j = 0;
  while (B) {
    B--;
    if (j <= 18)
      j += 2;
    else {
      i += 2;
      j = 2;
    }
    mapp[i][j] = 'B';
  }
  i = 2;
  j = 24;
  while (A) {
    A--;
    if (j <= 42)
      j += 2;
    else {
      i += 2;
      j = 26;
    }
    mapp[i][j] = 'A';
  }
  i = 26;
  j = 0;
  while (D) {
    D--;
    if (j <= 18)
      j += 2;
    else {
      i += 2;
      j = 2;
    }
    mapp[i][j] = 'D';
  }
  i = 26;
  j = 24;
  while (C) {
    C--;
    if (j <= 42)
      j += 2;
    else {
      i += 2;
      j = 26;
    }
    mapp[i][j] = 'C';
  }
}
inline void print() {
  printf("48 48\n");
  for (int i = 1; i <= 48; ++i) {
    for (int j = 1; j <= 48; ++j) printf("%c", mapp[i][j]);
    printf("\n");
  }
}
int main() {
  scanf("%d%d%d%d", &A, &B, &C, &D);
  prepare();
  Draw();
  print();
  return 0;
}
