#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <algorithm>
#include <functional>
int main() {
std::vector<std::string> v;
std::string s;
std::getline(std::cin, s);
std::istringstream iss(s);
while (iss >> s) {
v.push_back(s);
}
std::sort(v.begin(), v.end(),
[](const std::string &a, const std::string &b){ return a.size() >= b.size(); }
);
for(auto &word : v) {
std::cout << word << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CgppbnQgbWFpbigpIHsKCXN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiB2OwoJc3RkOjpzdHJpbmcgczsKCglzdGQ6OmdldGxpbmUoc3RkOjpjaW4sIHMpOwoKCXN0ZDo6aXN0cmluZ3N0cmVhbSBpc3Mocyk7Cgl3aGlsZSAoaXNzID4+IHMpIHsKCQl2LnB1c2hfYmFjayhzKTsKCX0gCgoJc3RkOjpzb3J0KHYuYmVnaW4oKSwgdi5lbmQoKSwKCQlbXShjb25zdCBzdGQ6OnN0cmluZyAmYSwgY29uc3Qgc3RkOjpzdHJpbmcgJmIpeyByZXR1cm4gYS5zaXplKCkgPj0gYi5zaXplKCk7IH0KCSk7CgoJZm9yKGF1dG8gJndvcmQgOiB2KSB7CgkJc3RkOjpjb3V0IDw8IHdvcmQgPDwgc3RkOjplbmRsOwoJfQoKCXJldHVybiAwOwp9