#include <set>
#include <iostream>
#include <string>
#include <iomanip>
int main()
{
std::set<std::string> myset;
std::string current;
current.reserve(100);
char next;
std::cin >> std::noskipws;
while(std::cin >> next) {
if(isspace(next)) {
myset.insert(std::move(current));
current = std::string();
current.reserve(100);
} else
current += next;
}
myset.insert(current); //insert the last word
myset.erase(""); //remove any "blank" words
for(auto it=myset.begin(); it!=myset.end(); ++it)
std::cout << *it << '\n';
return 0;
}
I2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8aW9tYW5pcD4KCmludCBtYWluKCkKewogIHN0ZDo6c2V0PHN0ZDo6c3RyaW5nPiBteXNldDsKICBzdGQ6OnN0cmluZyBjdXJyZW50OwogIGN1cnJlbnQucmVzZXJ2ZSgxMDApOwogIGNoYXIgbmV4dDsKCiAgc3RkOjpjaW4gPj4gc3RkOjpub3NraXB3czsKICB3aGlsZShzdGQ6OmNpbiA+PiBuZXh0KSB7CiAgICBpZihpc3NwYWNlKG5leHQpKSB7CiAgICAgIG15c2V0Lmluc2VydChzdGQ6Om1vdmUoY3VycmVudCkpOwogICAgICBjdXJyZW50ID0gc3RkOjpzdHJpbmcoKTsKICAgICAgY3VycmVudC5yZXNlcnZlKDEwMCk7CiAgICB9IGVsc2UKICAgICAgY3VycmVudCArPSBuZXh0OwogIH0KICBteXNldC5pbnNlcnQoY3VycmVudCk7IC8vaW5zZXJ0IHRoZSBsYXN0IHdvcmQKICBteXNldC5lcmFzZSgiIik7IC8vcmVtb3ZlIGFueSAiYmxhbmsiIHdvcmRzCgogIGZvcihhdXRvIGl0PW15c2V0LmJlZ2luKCk7IGl0IT1teXNldC5lbmQoKTsgKytpdCkKICAgIHN0ZDo6Y291dCA8PCAqaXQgPDwgJ1xuJzsKICByZXR1cm4gMDsKfQ==