#include<bits/stdc++.h>
using namespace std;

vector<string> ans;
void solve(int num,string& s){
  if(num==0){
    ans.push_back(s);
    return;
  }
  char tar=(num-1)+'a';
  char tmp=num+'a';
  for(int i=0;i<s.size();i++){
    if(s[i]==tmp){
      return;
    }
    if(s[i]==tar){
      s[i]=tmp;
      solve(num-1,s);
      s[i]=tar;
    }
  }
  solve(num-1,s);
  return;
}

int main(){
  string s;
  while(cin>>s,s!="#"){
    ans.clear();
    solve('z'-'a',s);
    cout<<ans.size()<<endl;
    sort(ans.begin(),ans.end());
    if(ans.size()<=10){
      for(int i=0;i<ans.size();i++){
	cout<<ans[i]<<endl;
      }
    }
    else{
      for(int i=0;i<5;i++) cout<<ans[i]<<endl;
      for(int i=ans.size()-5;i<ans.size();i++) cout<<ans[i]<<endl;
    }

  }
  return 0;
}
