#include <algorithm> // for std::sort
#include <cctype> // for std::isupper, std::tolower
#include <iostream> // for std::cout
#include <string> // for std::string
using namespace std;
int main() {
string s{"DCBAdcba"};
sort( s.begin(), s.end(), [](char x, char y) {
if (isupper(x)) {
if (tolower(x) == y) {
return true;
}
}
return tolower(x) < tolower(y);
});
cout << s << '\n';
}
I2luY2x1ZGUgPGFsZ29yaXRobT4gCS8vIGZvciBzdGQ6OnNvcnQKI2luY2x1ZGUgPGNjdHlwZT4JCS8vIGZvciBzdGQ6OmlzdXBwZXIsIHN0ZDo6dG9sb3dlcgojaW5jbHVkZSA8aW9zdHJlYW0+CQkvLyBmb3Igc3RkOjpjb3V0CiNpbmNsdWRlIDxzdHJpbmc+CSAgICAvLyBmb3Igc3RkOjpzdHJpbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgc3RyaW5nIHN7IkRDQkFkY2JhIn07CgoJc29ydCggcy5iZWdpbigpLCBzLmVuZCgpLCBbXShjaGFyIHgsIGNoYXIgeSkgeyAKCSAgICBpZiAoaXN1cHBlcih4KSkgewoJCQlpZiAodG9sb3dlcih4KSA9PSB5KSB7CiAgICAgICAgICAJICAgIHJldHVybiB0cnVlOwkKCQkgICAgfSAgIAoJCX0KCQlyZXR1cm4gdG9sb3dlcih4KSA8IHRvbG93ZXIoeSk7Cgl9KTsKCQoJY291dCA8PCBzIDw8ICdcbic7Cn0K