#include <algorithm>
#include <iostream>
#include <cstring>
int main()
{
char const* strings[] = {
"hello",
"world",
"computers",
"are",
"awesome"
};
struct {
bool operator()(char const* a, char const* b) const {
return (a && b)? 0 > strcmp(a,b) : a < b;
}
} cmp;
std::sort(std::begin(strings), std::end(strings), cmp);
for (auto& s : strings)
std::cout << s << "\n";
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KCmludCBtYWluKCkKewogICAgY2hhciBjb25zdCogc3RyaW5nc1tdID0gewogICAgICAgICJoZWxsbyIsCiAgICAgICAgIndvcmxkIiwKICAgICAgICAiY29tcHV0ZXJzIiwKICAgICAgICAiYXJlIiwKICAgICAgICAiYXdlc29tZSIKICAgIH07CgogICAgc3RydWN0IHsgCiAgICAgICAgYm9vbCBvcGVyYXRvcigpKGNoYXIgY29uc3QqIGEsIGNoYXIgY29uc3QqIGIpIGNvbnN0IHsKICAgICAgICAgICAgcmV0dXJuIChhICYmIGIpPyAwID4gc3RyY21wKGEsYikgOiBhIDwgYjsKICAgICAgICB9CiAgICB9IGNtcDsKCiAgICBzdGQ6OnNvcnQoc3RkOjpiZWdpbihzdHJpbmdzKSwgc3RkOjplbmQoc3RyaW5ncyksIGNtcCk7CgogICAgZm9yIChhdXRvJiBzIDogc3RyaW5ncykKICAgICAgICBzdGQ6OmNvdXQgPDwgcyA8PCAiXG4iOwp9Cg==