############# L R C ###################
def print_function(a):
for i in range(0, len(a)):
print(a[i])
def binary(foo):
a = ""
b = ""
while (foo):
if(foo % 2):
b += '1'
else:
b += '0'
foo = foo // 2
#print(foo)
for i in range(0, 8-len(b)):
a += '0'
#print(a, b)
b[::-1]
a += b
return a
def LRC(msg):
print(msg)
n = len(msg)
a = []
#s = ""
ans = ""
print('Give the letters:')
for i in range(n):
s = []
#s = raw_input().split()
foo = ord(msg[i])
#print(foo)
s.append(binary(foo));
#print(s)
a.append(s)
#print('fff')
#print(n, " N")
print_function(a)
for i in range(8):
one=0
#print('g')
for j in range(n):
s = a[j][0]
#print(s)
if s[i]=='1':
one+=1
if one%2==1:
ans+='1'
else:
ans+='0'
print(ans)
############### V R C #####################
def VRC(msg):
for i in range(0, len(msg)):
#_binary = binary(ord(msg[i])
#one = _binary.count('1')
#print(_binary, "bujcho")
TEMP = ord(msg[i])
_binary = binary(TEMP)
print(_binary)
one = _binary.count('1')
print(one)
###################################################
def main():
print('Give the message :')
msg = input()
VRC(msg)
LRC(msg)
#f = open("1.txt", "r")
main()
IyMjIyMjIyMjIyMjIyAgIEwgICBSICAgQyAgICMjIyMjIyMjIyMjIyMjIyMjIyMKCmRlZiBwcmludF9mdW5jdGlvbihhKToKICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihhKSk6CiAgICAgICAgcHJpbnQoYVtpXSkKCmRlZiBiaW5hcnkoZm9vKToKICAgIGEgPSAiIgogICAgYiA9ICIiCiAgICB3aGlsZSAoZm9vKToKICAgICAgICBpZihmb28gJSAyKToKICAgICAgICAgICAgYiArPSAnMScKICAgICAgICBlbHNlOgogICAgICAgICAgICBiICs9ICcwJwogICAgICAgIGZvbyA9IGZvbyAvLyAyCiAgICAgICAgI3ByaW50KGZvbykKICAgIAogICAgZm9yIGkgaW4gcmFuZ2UoMCwgOC1sZW4oYikpOgogICAgICAgIGEgKz0gJzAnCiAgICAKICAgICNwcmludChhLCBiKQogICAgYls6Oi0xXQogICAgYSArPSBiCiAgICByZXR1cm4gYQoKZGVmIExSQyhtc2cpOgogICAgCiAgICBwcmludChtc2cpCiAgICAKICAgIG4gPSBsZW4obXNnKQogICAgYSA9IFtdCiAgICAjcyA9ICIiCiAgICBhbnMgPSAiIgogICAgcHJpbnQoJ0dpdmUgdGhlIGxldHRlcnM6JykKICAgIGZvciBpIGluIHJhbmdlKG4pOgogICAgICAgIHMgPSBbXQogICAgICAgICNzID0gcmF3X2lucHV0KCkuc3BsaXQoKQogICAgICAgIGZvbyA9IG9yZChtc2dbaV0pCiAgICAgICAgCiAgICAgICAgI3ByaW50KGZvbykKICAgICAgICBzLmFwcGVuZChiaW5hcnkoZm9vKSk7CiAgICAgICAgI3ByaW50KHMpCiAgICAgICAgYS5hcHBlbmQocykKICAgICAgICAjcHJpbnQoJ2ZmZicpCiAgICAgICAKICAgICNwcmludChuLCAiIE4iKQogICAgcHJpbnRfZnVuY3Rpb24oYSkKICAgIGZvciBpIGluIHJhbmdlKDgpOgogICAgICAgIG9uZT0wCiAgICAgICAgI3ByaW50KCdnJykKICAgICAgICBmb3IgaiBpbiByYW5nZShuKToKICAgICAgICAgICAgcyA9IGFbal1bMF0KICAgICAgICAgICAgCiAgICAgICAgICAgICNwcmludChzKQogICAgICAgICAgICAKICAgICAgICAgICAgaWYgc1tpXT09JzEnOgogICAgICAgICAgICAgICAgb25lKz0xCiAgICAgICAgaWYgb25lJTI9PTE6CiAgICAgICAgICAgIGFucys9JzEnCiAgICAgICAgZWxzZToKICAgICAgICAgICAgYW5zKz0nMCcKICAgIHByaW50KGFucykKICAgIAojIyMjIyMjIyMjIyMjIyMgViAgIFIgICBDICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRlZiBWUkMobXNnKToKICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihtc2cpKToKICAgICAgICAjX2JpbmFyeSA9IGJpbmFyeShvcmQobXNnW2ldKQogICAgICAgICNvbmUgPSBfYmluYXJ5LmNvdW50KCcxJykKICAgICAgICAjcHJpbnQoX2JpbmFyeSwgImJ1amNobyIpCiAgICAgICAgVEVNUCA9IG9yZChtc2dbaV0pCiAgICAgICAgX2JpbmFyeSA9IGJpbmFyeShURU1QKQogICAgICAgIHByaW50KF9iaW5hcnkpCiAgICAgICAgb25lID0gX2JpbmFyeS5jb3VudCgnMScpCiAgICAgICAgcHJpbnQob25lKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgpkZWYgbWFpbigpOgogICAgcHJpbnQoJ0dpdmUgdGhlIG1lc3NhZ2UgOicpCiAgICBtc2cgPSBpbnB1dCgpCiAgICAKICAgIFZSQyhtc2cpCiAgICBMUkMobXNnKQoKI2YgPSBvcGVuKCIxLnR4dCIsICJyIikKbWFpbigpCg==