private static final String[] l = {
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z"};
private static final Map<String,Integer> index=new HashMap<String,Integer>();
static {
for(int i=0;i<l.length;i++) {
index.put(l[i], i);
}
}
private static String getCount(String count){
StringBuilder sb=new StringBuilder();
String cs[]=count.split("");
boolean isadd=false;
for(int i=cs.length-1;i>=0;i--) {
String val=cs[i];
int idx=index.get(val);
if(i==cs.length-1) {
if(cs[i].equals("Z")) {
isadd=true;
cs[i]=l[0];
}else {
idx=idx+1;
cs[i]=l[idx];
}
} else{
if(isadd) {
if(cs[i].equals("Z")) {
cs[i]=l[0];
isadd=true;
} else {
cs[i]=l[idx+1];
isadd=false;
}
}else {
isadd=false;
}
}
sb.append(cs[i]);
}
if(isadd) {
sb.append(l[0]);
}
return sb.reverse().toString();
}
public static void main(String[] args) {
String val="F";
for(int i=0;i<64;i++) {
val=getCount(val);
if(val.equals("0")) {
System.out.println("");
}
System.out.println(val);
}
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z"};
private static final Map<String,Integer> index=new HashMap<String,Integer>();
static {
for(int i=0;i<l.length;i++) {
index.put(l[i], i);
}
}
private static String getCount(String count){
StringBuilder sb=new StringBuilder();
String cs[]=count.split("");
boolean isadd=false;
for(int i=cs.length-1;i>=0;i--) {
String val=cs[i];
int idx=index.get(val);
if(i==cs.length-1) {
if(cs[i].equals("Z")) {
isadd=true;
cs[i]=l[0];
}else {
idx=idx+1;
cs[i]=l[idx];
}
} else{
if(isadd) {
if(cs[i].equals("Z")) {
cs[i]=l[0];
isadd=true;
} else {
cs[i]=l[idx+1];
isadd=false;
}
}else {
isadd=false;
}
}
sb.append(cs[i]);
}
if(isadd) {
sb.append(l[0]);
}
return sb.reverse().toString();
}
public static void main(String[] args) {
String val="F";
for(int i=0;i<64;i++) {
val=getCount(val);
if(val.equals("0")) {
System.out.println("");
}
System.out.println(val);
}