#include <bits/stdc++.h>
using ll = long long;
using namespace std;
int a[4];
char ans[40][50];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  for (int i = 0; i < 40; i++) {
    for (int j = 0; j < 50; j++) {
      ans[i][j] = '#';
    }
  }
  for (int i = 0; i < 4; i++) cin >> a[i], a[i]--;
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 50; j++) {
      ans[i * 10][j] = i + 'A';
    }
  }
  for (int i = 1; i < 10; i++) {
    for (int j = 0; j < 50; j += 2) {
      if (i % 2 == 0) continue;
      if (a[2]) {
        ans[i][j] = 'C';
        a[2]--;
      }
    }
    for (int j = 0; j < 50; j++)
      if (ans[i][j] == '#') ans[i][j] = 'A';
  }
  for (int i = 11; i < 20; i++) {
    for (int j = i % 2; j < 50; j += 2) {
      if (i % 2 == 0) continue;
      if (a[3]) {
        ans[i][j] = 'D';
        a[3]--;
      }
    }
    for (int j = 0; j < 50; j++)
      if (ans[i][j] == '#') ans[i][j] = 'B';
  }
  for (int i = 21; i < 30; i++) {
    for (int j = i % 2; j < 50; j += 2) {
      if (i % 2 == 0) continue;
      if (a[0]) {
        ans[i][j] = 'A';
        a[0]--;
      }
    }
    for (int j = 0; j < 50; j++)
      if (ans[i][j] == '#') ans[i][j] = 'C';
  }
  for (int i = 31; i < 40; i++) {
    for (int j = i % 2; j < 50; j += 2) {
      if (i % 2 == 0) continue;
      if (a[1]) {
        ans[i][j] = 'B';
        a[1]--;
      }
    }
    for (int j = 0; j < 50; j++)
      if (ans[i][j] == '#') ans[i][j] = 'D';
  }
  cout << "40 50" << endl;
  for (int i = 0; i < 40; i++) {
    for (int j = 0; j < 50; j++) {
      cout << ans[i][j];
    }
    cout << endl;
  }
}
