AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 3. Brute Force :: Elementary Skills
// 146 - ID Codes
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main(void)
{
char id[50];
while(cin>>id && id[0]!='#')
{
if(next_permutation(id, id+strlen(id)))
cout << id << endl;
else
cout << "No Successor" << endl;
}
return 0;
}