使用 set 就好了

#include<iostream>
#include<set>

using namespace std;

int main(){
    string s;
    while(cin >> s){
        set<string> m;
        int n = s.size();
        for(int i = 0; i < n; i ++)
            m.insert(s.substr(i));
        for(auto it = m.begin(); it != m.end(); it ++)
            cout << *it << endl;
    }
    return 0;
}