#include <iostream> #include <string> #include <vector> #include <algorithm> void print(std::vector<std::string> substring) { for (int i = 0; i < substring.size(); i++) { std::cout << substring[i] << std::endl; } } int main() { std::string a; std::cin >> a; std::vector<std::string> substring; for (int i = a.size() - 1; i >= 0; i--) { substring.emplace_back(a.substr(i, a.size() - i)); } std::sort(substring.begin(), substring.end()); print(substring); return 0; }