#include<bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for(int i = a, _b = b; i <= _b; i++)
int A[3], B[3], C = 0, i_pos = 0, j_pos = 0;
char billboard[700][700], char_rec[3] = {'A', 'B', 'C'};
void place(char c, int a, int b) {
FOR(i, i_pos, i_pos + a - 1) FOR(j, j_pos, j_pos + b - 1) {
billboard[i][j] = c;
}
}
bool check() {
FOR(i, 0, (1 << 3) - 1) {
FOR(j, 0, 2) {
if((1 << j) & i) {
place(char_rec[j], A[j], B[j]);
}
else {
place(char_rec[j], B[j], A[j]);
}
FOR(dem1, 0, C - 1) {
FOR(dem2, 0, C - 1) cout << billboard[dem1][dem2];
cout << "\n";
}
FOR(dem1, 0, C - 1) FOR(dem2, 0, C - 1) {
if(billboard[dem1][dem2] == '0') {
i_pos = dem1;
j_pos = dem2;
break;
}
}
}
bool state = true;
FOR(dem1, 0, C - 1) FOR(dem2, 0, C - 1) if(billboard[dem1][dem2] == '0') state = false;
if(state) {
FOR(dem1, 0, C - 1) {
FOR(dem2, 0, C - 1) cout << billboard[dem1][dem2];
cout << "\n";
}
return true;
}
FOR(dem1, 0, C - 1) FOR(dem2, 0, C - 1) billboard[dem1][dem2] = '0';
i_pos = 0;
j_pos = 0;
}
return false;
}
void run() {
int sum = 0;
FOR(i, 0, 2) {
cin >> A[i] >> B[i];
sum = sum + A[i] * B[i];
}
C = sqrt(sum);
if(C * C != sum) {
cout << -1 ;
return;
}
FOR(dem1, 0, C - 1) FOR(dem2, 0, C - 1) {
billboard[dem1][dem2] = '0';
}
if(check()) return;
else cout << -1 ;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
run();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBGT1IoaSwgYSwgYikgZm9yKGludCBpID0gYSwgX2IgPSBiOyBpIDw9IF9iOyBpKyspCmludCBBWzNdLCBCWzNdLCBDID0gMCwgaV9wb3MgPSAwLCBqX3BvcyA9IDA7IApjaGFyIGJpbGxib2FyZFs3MDBdWzcwMF0sIGNoYXJfcmVjWzNdID0geydBJywgJ0InLCAnQyd9OyAKCnZvaWQgcGxhY2UoY2hhciBjLCBpbnQgYSwgaW50IGIpIHsKCUZPUihpLCBpX3BvcywgaV9wb3MgKyBhIC0gMSkgRk9SKGosIGpfcG9zLCBqX3BvcyArIGIgLSAxKSB7CgkJYmlsbGJvYXJkW2ldW2pdID0gYzsgCgl9IAp9IAoKYm9vbCBjaGVjaygpIHsKCUZPUihpLCAwLCAoMSA8PCAzKSAtIDEpIHsKCQlGT1IoaiwgMCwgMikgewoJCQlpZigoMSA8PCBqKSAmIGkpIHsKCQkJCXBsYWNlKGNoYXJfcmVjW2pdLCBBW2pdLCBCW2pdKTsgCgkJCX0gCgkJCWVsc2UgewoJCQkJcGxhY2UoY2hhcl9yZWNbal0sIEJbal0sIEFbal0pOyAKCQkJfSAKCQkJRk9SKGRlbTEsIDAsIEMgLSAxKSB7CgkJCQlGT1IoZGVtMiwgMCwgQyAtIDEpIGNvdXQgPDwgYmlsbGJvYXJkW2RlbTFdW2RlbTJdOwoJCQkJY291dCA8PCAiXG4iOyAKCQkJfQoJCQlGT1IoZGVtMSwgMCwgQyAtIDEpIEZPUihkZW0yLCAwLCBDIC0gMSkgewoJCQkJaWYoYmlsbGJvYXJkW2RlbTFdW2RlbTJdID09ICcwJykgewoJCQkJCWlfcG9zID0gZGVtMTsKCQkJCQlqX3BvcyA9IGRlbTI7IAoJCQkJCWJyZWFrOyAKCQkJCX0KCQkJfSAKCQl9CgkJYm9vbCBzdGF0ZSA9IHRydWU7CgkJRk9SKGRlbTEsIDAsIEMgLSAxKSBGT1IoZGVtMiwgMCwgQyAtIDEpIGlmKGJpbGxib2FyZFtkZW0xXVtkZW0yXSA9PSAnMCcpICBzdGF0ZSA9IGZhbHNlOwoJCWlmKHN0YXRlKSB7CgkJCUZPUihkZW0xLCAwLCBDIC0gMSkgewoJCQkJRk9SKGRlbTIsIDAsIEMgLSAxKSBjb3V0IDw8IGJpbGxib2FyZFtkZW0xXVtkZW0yXTsKCQkJCWNvdXQgPDwgIlxuIjsgCgkJCX0KCQkJcmV0dXJuIHRydWU7IAoJCX0gCgkJRk9SKGRlbTEsIDAsIEMgLSAxKSBGT1IoZGVtMiwgMCwgQyAtIDEpIGJpbGxib2FyZFtkZW0xXVtkZW0yXSA9ICcwJzsKCQlpX3BvcyA9IDA7CgkJal9wb3MgPSAwOwoJfQoJcmV0dXJuIGZhbHNlOwp9CnZvaWQgcnVuKCkgewoJaW50IHN1bSA9IDA7IAoJRk9SKGksIDAsIDIpIHsKCQljaW4gPj4gQVtpXSA+PiBCW2ldOyAKCQlzdW0gPSBzdW0gKyBBW2ldICogQltpXTsgCgl9CglDID0gc3FydChzdW0pOwoJaWYoQyAqIEMgIT0gc3VtKSB7CgkJY291dCA8PCAtMSA7CgkJcmV0dXJuOyAKCX0gCglGT1IoZGVtMSwgMCwgQyAtIDEpIEZPUihkZW0yLCAwLCBDIC0gMSkgewoJCWJpbGxib2FyZFtkZW0xXVtkZW0yXSA9ICcwJzsgCgl9IAoJaWYoY2hlY2soKSkgcmV0dXJuOwoJZWxzZSBjb3V0IDw8IC0xIDsKfSAKCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShudWxscHRyKTsKCXJ1bigpOyAKCXJldHVybiAwOyAKfSAg