#include #include #include #include #include int main() { std::vector> words { }; int index { 0 }; std::transform(std::istream_iterator{ std::cin }, std::istream_iterator{ }, std::back_inserter(words), [&index](std::string const& word) { return std::make_pair(index++, word); }); std::sort(words.begin(), words.end(), [](auto const& a, auto const& b) { return a.second < b.second; }); words.erase(std::unique(words.begin(), words.end(), [](auto const& a, auto const& b) { return a.second == b.second; }), words.end()); std::sort(words.begin(), words.end()); std::transform(words.begin(), words.end(), std::ostream_iterator{ std::cout, " " }, [](auto const& p) { return p.second; }); std::cout << std::endl; }