/* 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
{
public final int NUMBER_OF_LETTERS_IN_ALPHABET = 'z'-'a'+1;
public final int LETTER_VALUE = 'a';
key %= NUMBER_OF_LETTERS_IN_ALPHABET;
StringBuilder result = new StringBuilder(message);
for (int i = 0; i < message.length(); i++) {
char c = message.charAt(i);
if (c >= LETTER_VALUE && c < LETTER_VALUE + NUMBER_OF_LETTERS_IN_ALPHABET) {
c = (char)((message.charAt(i) - LETTER_VALUE + key) % NUMBER_OF_LETTERS_IN_ALPHABET + LETTER_VALUE);
result.setCharAt(i, c);
}
}
return result.toString();
}
{
Scanner sc
= new Scanner
(System.
in); String encoded
= new Ideone
().
encode(input,
3); System.
out.
println("Encoded: ["+encoded
+"]"); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQogICAgcHVibGljIGZpbmFsIGludCBOVU1CRVJfT0ZfTEVUVEVSU19JTl9BTFBIQUJFVCA9ICd6Jy0nYScrMTsKICAgIHB1YmxpYyBmaW5hbCBpbnQgTEVUVEVSX1ZBTFVFID0gJ2EnOwogCiAgICAgcHVibGljIFN0cmluZyBlbmNvZGUoU3RyaW5nIG1lc3NhZ2UsIGludCBrZXkpIHsKICAgICAgICAga2V5ICU9IE5VTUJFUl9PRl9MRVRURVJTX0lOX0FMUEhBQkVUOwogCiAgICAgICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0ID0gbmV3IFN0cmluZ0J1aWxkZXIobWVzc2FnZSk7CiAKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtZXNzYWdlLmxlbmd0aCgpOyBpKyspIHsKICAgICAgICAgCSBjaGFyIGMgPSBtZXNzYWdlLmNoYXJBdChpKTsKICAgICAgICAgCSBpZiAoYyA+PSBMRVRURVJfVkFMVUUgJiYgYyA8IExFVFRFUl9WQUxVRSArIE5VTUJFUl9PRl9MRVRURVJTX0lOX0FMUEhBQkVUKSB7CiAgICAgICAgIAkgICBjID0gKGNoYXIpKChtZXNzYWdlLmNoYXJBdChpKSAtIExFVFRFUl9WQUxVRSArIGtleSkgJSBOVU1CRVJfT0ZfTEVUVEVSU19JTl9BTFBIQUJFVCArIExFVFRFUl9WQUxVRSk7CiAgICAgICAgICAgICAgIHJlc3VsdC5zZXRDaGFyQXQoaSwgYyk7CiAgICAgICAgIAkgfQogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogICAgIH0KICAgICAKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCVN0cmluZyBpbnB1dCA9IHNjLm5leHRMaW5lKCk7CgkJU3RyaW5nIGVuY29kZWQgPSBuZXcgSWRlb25lKCkuZW5jb2RlKGlucHV0LCAzKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIkVuY29kZWQ6IFsiK2VuY29kZWQrIl0iKTsKCX0KfQ==