#include <iostream>
#include <string>
//#include <array>
#include <bitset>
#include <iterator>
#include <algorithm>
std::string removeDuplicates(const std::string& str)
{
//Map for storing character count
//std::array<bool, 256> ctable{ false };
std::bitset<256> ctable;
std::string newstring;
newstring.reserve(str.size());
//Only copy one character of each type to the new string
std::copy_if(str.begin(), str.end(), std::back_inserter(newstring),
[&ctable](const auto& value) {
std::size_t i = static_cast<unsigned char>(value);
bool has_occured = ctable[i];
ctable[i] = true;
return !has_occured;
});
return newstring;
}
int main(void)
{
for (std::string line; std::getline(std::cin, line); )
std::cout << removeDuplicates(line) << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgovLyNpbmNsdWRlIDxhcnJheT4KI2luY2x1ZGUgPGJpdHNldD4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKCnN0ZDo6c3RyaW5nIHJlbW92ZUR1cGxpY2F0ZXMoY29uc3Qgc3RkOjpzdHJpbmcmIHN0cikKewoJLy9NYXAgZm9yIHN0b3JpbmcgY2hhcmFjdGVyIGNvdW50CgkvL3N0ZDo6YXJyYXk8Ym9vbCwgMjU2PiBjdGFibGV7IGZhbHNlIH07CglzdGQ6OmJpdHNldDwyNTY+IGN0YWJsZTsKCglzdGQ6OnN0cmluZyBuZXdzdHJpbmc7CgluZXdzdHJpbmcucmVzZXJ2ZShzdHIuc2l6ZSgpKTsKCgkvL09ubHkgY29weSBvbmUgY2hhcmFjdGVyIG9mIGVhY2ggdHlwZSB0byB0aGUgbmV3IHN0cmluZwoJc3RkOjpjb3B5X2lmKHN0ci5iZWdpbigpLCBzdHIuZW5kKCksIHN0ZDo6YmFja19pbnNlcnRlcihuZXdzdHJpbmcpLAoJCVsmY3RhYmxlXShjb25zdCBhdXRvJiB2YWx1ZSkgewoJCQlzdGQ6OnNpemVfdCBpID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4odmFsdWUpOwoJCQlib29sIGhhc19vY2N1cmVkID0gY3RhYmxlW2ldOwoJCQljdGFibGVbaV0gPSB0cnVlOwoJCQlyZXR1cm4gIWhhc19vY2N1cmVkOwoJCX0pOwoKCXJldHVybiBuZXdzdHJpbmc7Cn0KCgppbnQgbWFpbih2b2lkKQp7Cglmb3IgKHN0ZDo6c3RyaW5nIGxpbmU7IHN0ZDo6Z2V0bGluZShzdGQ6OmNpbiwgbGluZSk7ICkKCQlzdGQ6OmNvdXQgPDwgcmVtb3ZlRHVwbGljYXRlcyhsaW5lKSA8PCBzdGQ6OmVuZGw7Cn0=