#include<bits/stdc++.h> using namespace std; // 比较两个字符串的大小 bool isbigger(const string& a, const string& b) { return a > b; // 直接使用字符串的比较运算符 } int main() { string str; while (cin >> str) { int len = str.length(); vector<string> result(len); // 使用vector来存储子串,避免手动管理内存 // 生成所有子串 for (int i = 0; i < len; i++) { result[i] = str.substr(i); // 使用substr函数生成子串 } // 对子串进行排序 for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - i - 1; j++) { if (isbigger(result[j], result[j + 1])) { swap(result[j], result[j + 1]); // 使用swap函数交换字符串 } } } // 输出排序后的子串 for (int i = 0; i < len; i++) { cout << result[i] << endl; } } return 0; }