#include <vector>
#include <iostream>
#include <string>
#include <sstream>
#include <utility>
#include <cctype>
#include <cstring>
int main()
{
std::string input;
std::getline(std::cin, input);
std::stringstream ss(input);
std::vector<std::string> sorted;
while (ss >> input)
{
bool alpha = 0 < std::isalpha(input[0]);
for (std::size_t i = 0, e = sorted.size(); i != e; ++i)
{
if ((!std::isalpha(sorted[i][0]) == !alpha) && (alpha ? (input < sorted[i]) : (std::stoi(input) < std::stoi(sorted[i]))))
std::swap(sorted[i], input);
}
sorted.push_back(std::move(input));
}
for (auto& i : sorted)
std::cout << i << ' ';
std::cin.get();
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxjY3R5cGU+CiNpbmNsdWRlIDxjc3RyaW5nPgoKaW50IG1haW4oKQp7CglzdGQ6OnN0cmluZyBpbnB1dDsKCXN0ZDo6Z2V0bGluZShzdGQ6OmNpbiwgaW5wdXQpOwoJc3RkOjpzdHJpbmdzdHJlYW0gc3MoaW5wdXQpOwoJc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHNvcnRlZDsKCgl3aGlsZSAoc3MgPj4gaW5wdXQpCgl7CgkJYm9vbCBhbHBoYSA9IDAgPCBzdGQ6OmlzYWxwaGEoaW5wdXRbMF0pOwoJCWZvciAoc3RkOjpzaXplX3QgaSA9IDAsIGUgPSBzb3J0ZWQuc2l6ZSgpOyBpICE9IGU7ICsraSkKCQl7CgoJCQlpZiAoKCFzdGQ6OmlzYWxwaGEoc29ydGVkW2ldWzBdKSA9PSAhYWxwaGEpICYmIChhbHBoYSA/IChpbnB1dCA8IHNvcnRlZFtpXSkgOiAoc3RkOjpzdG9pKGlucHV0KSA8IHN0ZDo6c3RvaShzb3J0ZWRbaV0pKSkpCgkJCQlzdGQ6OnN3YXAoc29ydGVkW2ldLCBpbnB1dCk7CgkJfQoJCXNvcnRlZC5wdXNoX2JhY2soc3RkOjptb3ZlKGlucHV0KSk7Cgl9Cglmb3IgKGF1dG8mIGkgOiBzb3J0ZWQpCgkJc3RkOjpjb3V0IDw8IGkgPDwgJyAnOwoJc3RkOjpjaW4uZ2V0KCk7Cn0=