#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;
using vll = vector<ll>;
int A, B, C, D;
const int R = 50;
int re[R + 1][R + 1];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout << fixed << setprecision(20);
  cin >> A >> B >> C >> D;
  vi X{A, B, C, D};
  int row = 0;
  int used = 0;
  while (X[0] > 1) {
    used = 1;
    for (int r = row; r < row + 3; ++r) {
      for (int(c) = (0); (c) < (int)(R); ++(c)) re[r][c] = 1;
    }
    for (int c = 0; c < R && X[0] > 1; c += 2) {
      re[row + 1][c] = 0;
      X[0]--;
    }
    row += 3;
  }
  if (used) X[1]--;
  for (int(c) = (0); (c) < (int)(R); ++(c)) re[row][c] = 2;
  X[2]--;
  row += 2;
  for (; row < R; row += 3) {
    for (int c = 0; c < R; c += 2) {
      for (int(i) = (1); (i) < (int)(4); ++(i))
        if (X[i] > 0) {
          X[i]--;
          re[row][c] = i;
          break;
        }
    }
  }
  cout << R << ' ' << R << endl;
  for (int(r) = (0); (r) < (int)(R); ++(r)) {
    for (int(c) = (0); (c) < (int)(R); ++(c)) {
      cout << (char)(re[r][c] + 'A');
    }
    cout << endl;
  }
}
