/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private static final String DICTIONARY
= "0123456789" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxzy";
private static final int MaxNumber = 238328;
private static final int base = DICTIONARY.length();
public static String generateCode
(int num
) { if (num < 1 || num > MaxNumber) {
}
int value = num - 1;
char ac = DICTIONARY.charAt(((value / base) / base) % base);
char bc = DICTIONARY.charAt((value / base) % base);
char cc = DICTIONARY.charAt(value % base);
return new String(new char[]{ac, bc, cc
}); }
public static void testIt(int value) {
try {
System.
out.
println("Value " + value
+ ": " + generateCode
(value
)); System.
out.
println("Value " + value
+ " Error " + e.
getMessage()); }
}
{
testIt(0);
testIt(1);
testIt(2);
testIt(1000);
testIt(MaxNumber);
testIt(MaxNumber + 1);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBESUNUSU9OQVJZID0gIjAxMjM0NTY3ODkiCiAgICAgICAgICAgKyAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCiAgICAgICAgICAgKyAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4enkiOwogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgaW50IE1heE51bWJlciA9IDIzODMyODsKICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIGludCBiYXNlID0gRElDVElPTkFSWS5sZW5ndGgoKTsKCiAgICBwdWJsaWMgc3RhdGljIFN0cmluZyBnZW5lcmF0ZUNvZGUoaW50IG51bSkgewogICAgICAgIGlmIChudW0gPCAxIHx8IG51bSA+IE1heE51bWJlcikgewogICAgICAgICAgICB0aHJvdyBuZXcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJJbGxlZ2FsIGlucHV0IHZhbHVlOiAiICsgbnVtKTsKICAgICAgICB9CgogICAgICAgIGludCB2YWx1ZSA9IG51bSAtIDE7CgogICAgICAgIGNoYXIgYWMgPSBESUNUSU9OQVJZLmNoYXJBdCgoKHZhbHVlIC8gYmFzZSkgLyBiYXNlKSAlIGJhc2UpOwogICAgICAgIGNoYXIgYmMgPSBESUNUSU9OQVJZLmNoYXJBdCgodmFsdWUgLyBiYXNlKSAlIGJhc2UpOwogICAgICAgIGNoYXIgY2MgPSBESUNUSU9OQVJZLmNoYXJBdCh2YWx1ZSAlIGJhc2UpOwogICAgICAgIHJldHVybiBuZXcgU3RyaW5nKG5ldyBjaGFyW117YWMsIGJjLCBjY30pOwogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgdGVzdEl0KGludCB2YWx1ZSkgewogICAgCXRyeSB7CiAgICAJCVN5c3RlbS5vdXQucHJpbnRsbigiVmFsdWUgIiArIHZhbHVlICsgIjogIiArIGdlbmVyYXRlQ29kZSh2YWx1ZSkpOwogICAgCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CiAgICAJCVN5c3RlbS5vdXQucHJpbnRsbigiVmFsdWUgIiArIHZhbHVlICsgIiBFcnJvciAiICsgZS5nZXRNZXNzYWdlKCkpOwogICAgCX0KICAgIH0KCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQl0ZXN0SXQoMCk7CgkJdGVzdEl0KDEpOwoJCXRlc3RJdCgyKTsKCQl0ZXN0SXQoMTAwMCk7CgkJdGVzdEl0KE1heE51bWJlcik7CgkJdGVzdEl0KE1heE51bWJlciArIDEpOwoJfQp9