#include <iostream>
#include <cmath>
#define LOWER_CASE_DIFF 'a'-'A'
using namespace std;
void changeSeq(string &in, int amount) {
int i = 0;
while (i < amount && (int)in[i] < 'a') {
in[i] += LOWER_CASE_DIFF;
i++;
}
if (i < amount) {
in[i] -= LOWER_CASE_DIFF;
}
cout << in << endl;
}
int main() {
string input = "abc";
int diff = 'a' - 'A'; //a is always bigger than A in ASCII
int comb = (int)pow(2,(float)input.length());
for (int i = 1; i <= comb; i++) {
changeSeq(input, i);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CgojZGVmaW5lIExPV0VSX0NBU0VfRElGRiAnYSctJ0EnCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjaGFuZ2VTZXEoc3RyaW5nICZpbiwgaW50IGFtb3VudCkgewogICAgaW50IGkgPSAwOwogICAgd2hpbGUgKGkgPCBhbW91bnQgJiYgKGludClpbltpXSA8ICdhJykgewogICAgICAgIGluW2ldICs9IExPV0VSX0NBU0VfRElGRjsKICAgICAgICBpKys7CiAgICB9CiAgICBpZiAoaSA8IGFtb3VudCkgewogICAgICAgIGluW2ldIC09IExPV0VSX0NBU0VfRElGRjsKICAgIH0KICAgIGNvdXQgPDwgaW4gPDwgZW5kbDsKfQppbnQgbWFpbigpIHsKICAgIHN0cmluZyBpbnB1dCA9ICJhYmMiOwogICAgaW50IGRpZmYgPSAnYScgLSAnQSc7IC8vYSBpcyBhbHdheXMgYmlnZ2VyIHRoYW4gQSBpbiBBU0NJSQogICAgaW50IGNvbWIgPSAoaW50KXBvdygyLChmbG9hdClpbnB1dC5sZW5ndGgoKSk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBjb21iOyBpKyspIHsKICAgICAgICBjaGFuZ2VTZXEoaW5wdXQsIGkpOyAgICAKICAgIH0KCgogICAgcmV0dXJuIDA7Cn0=