#include <cstdio>
void scram(unsigned char &key, unsigned char &letter)
{
unsigned char output = 0;
unsigned short pow2 = 128;
bool newbit;
for (unsigned int i = 0; i <= 7; i++)
{
newbit = ((key%2) ^ ((key/16)%2)) ^ ((letter/pow2)%2);
output += newbit*pow2;
key = (key >> 1) + newbit*128;
pow2 /= 2;
}
letter = output;
}
int main()
{
unsigned char key = 5;
unsigned char input;
while (scanf("%c", &input))
{
if (input == '\n') break;
scram(key, input);
printf("%x ", input);
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KCnZvaWQgc2NyYW0odW5zaWduZWQgY2hhciAma2V5LCB1bnNpZ25lZCBjaGFyICZsZXR0ZXIpCnsKICAgIHVuc2lnbmVkIGNoYXIgb3V0cHV0ID0gMDsKICAgIHVuc2lnbmVkIHNob3J0IHBvdzIgPSAxMjg7CiAgICBib29sIG5ld2JpdDsKICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDw9IDc7IGkrKykKICAgIHsKICAgICAgICBuZXdiaXQgPSAoKGtleSUyKSBeICgoa2V5LzE2KSUyKSkgXiAoKGxldHRlci9wb3cyKSUyKTsKICAgICAgICBvdXRwdXQgKz0gbmV3Yml0KnBvdzI7CiAgICAgICAga2V5ID0gKGtleSA+PiAxKSArIG5ld2JpdCoxMjg7CiAgICAgICAgcG93MiAvPSAyOwogICAgfQogICAgbGV0dGVyID0gb3V0cHV0Owp9CgppbnQgbWFpbigpCnsKICAgIHVuc2lnbmVkIGNoYXIga2V5ID0gNTsKICAgIHVuc2lnbmVkIGNoYXIgaW5wdXQ7CiAgICB3aGlsZSAoc2NhbmYoIiVjIiwgJmlucHV0KSkKICAgIHsKICAgIAlpZiAoaW5wdXQgPT0gJ1xuJykgYnJlYWs7CiAgICAgICAgc2NyYW0oa2V5LCBpbnB1dCk7CiAgICAgICAgcHJpbnRmKCIleCAiLCBpbnB1dCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==