#include <bits/stdc++.h>
using namespace std;
const int maxn = 100;
char s[maxn][maxn];
int main() {
  int a, b, c, d;
  while (scanf("%d %d %d %d", &a, &b, &c, &d) != EOF) {
    printf("50 50\n");
    for (int i = 0; i < maxn; i++) {
      for (int j = 0; j < maxn; j++) {
        if (i < 25)
          s[i][j] = 'A';
        else
          s[i][j] = 'B';
      }
    }
    int i = 26, j = 1;
    a--;
    while (a--) {
      s[i][j] = 'A';
      if (j + 2 >= 49) {
        j = 1;
        i += 2;
      } else
        j += 2;
    }
    b--;
    i = 0;
    j = 1;
    while (b--) {
      s[i][j] = 'B';
      if (j + 2 >= 49) {
        j = 1;
        i += 2;
      } else
        j += 2;
    }
    i = 12;
    j = 1;
    while (c--) {
      s[i][j] = 'C';
      if (j + 2 >= 49) {
        j = 1;
        i += 2;
      } else
        j += 2;
    }
    i = 37;
    j = 1;
    while (d--) {
      s[i][j] = 'D';
      if (j + 2 >= 49) {
        j = 1;
        i += 2;
      } else
        j += 2;
    }
    for (int i = 0; i < 50; i++) {
      for (int j = 0; j < 50; j++) {
        printf("%c", s[i][j]);
      }
      printf("\n");
    }
  }
  return 0;
}
