#include <bits/stdc++.h>
using namespace std;
void fileIO() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
#ifdef ONLINE_JUDGE
#endif
}
int TC;
void get_shit_done() {
int n, k;
cin >> n >> k;
if (not k) {
for (int i = 0; i < n; ++i) {
cout << "ABC";
}
return;
}
if (k > 3 * n - 4) {
cout << -1;
return;
}
while (k <= 3 * n - 7) {
cout << "ABC";
--n;
}
if (k == 3 * n - 4) {
for (int i = 0; i < n; ++i) {
cout << "AB";
}
for (int i = 0; i < n; ++i) {
cout << "C";
}
} else if (k == 3 * n - 5) {
for (int i = 0; i < n - 1; ++i) {
cout << "AB";
}
cout << "A";
for (int i = 0; i < n; ++i) {
cout << "C";
}
cout << "B";
} else {
for (int i = 0; i < n - 1; ++i) {
cout << "AB";
}
for (int i = 0; i < n; ++i) {
cout << "C";
}
cout << "AB";
}
}
signed main() {
fileIO();
cin.tie(nullptr);
cout.tie(nullptr);
ios::sync_with_stdio(false);
int T = 1;
for (TC = 1; TC <= T; ++TC) {
get_shit_done();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBmaWxlSU8oKSB7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgoKI2lmZGVmIE9OTElORV9KVURHRQojZW5kaWYKfQoKaW50IFRDOwoKdm9pZCBnZXRfc2hpdF9kb25lKCkgewogICAgaW50IG4sIGs7CiAgICBjaW4gPj4gbiA+PiBrOwoKICAgIGlmIChub3QgaykgewogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkFCQyI7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoayA+IDMgKiBuIC0gNCkgewogICAgICAgIGNvdXQgPDwgLTE7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHdoaWxlIChrIDw9IDMgKiBuIC0gNykgewogICAgICAgIGNvdXQgPDwgIkFCQyI7CiAgICAgICAgLS1uOwogICAgfQoKICAgIGlmIChrID09IDMgKiBuIC0gNCkgewogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkFCIjsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICAgICAgY291dCA8PCAiQyI7CiAgICAgICAgfQogICAgfSBlbHNlIGlmIChrID09IDMgKiBuIC0gNSkgewogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7ICsraSkgewogICAgICAgICAgICBjb3V0IDw8ICJBQiI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgIkEiOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkMiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICJCIjsKICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuIC0gMTsgKytpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkFCIjsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICAgICAgY291dCA8PCAiQyI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgIkFCIjsKICAgIH0KfQoKc2lnbmVkIG1haW4oKSB7CiAgICBmaWxlSU8oKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBjb3V0LnRpZShudWxscHRyKTsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCiAgICBpbnQgVCA9IDE7CiAgICBmb3IgKFRDID0gMTsgVEMgPD0gVDsgKytUQykgewogICAgICAgIGdldF9zaGl0X2RvbmUoKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==