# http://c...content-available-to-author-only...e.com/a/94351/34718
def f(s):
s="\0%s\0"%s
r=''
for i in range(1,len(s)-1):
if i%2: # even (parity is changed by adding \x00 to the front)
a=ord(s[i-1]) | ord(s[i+1])
else: # odd
a=ord(s[i])
if a%2: # odd
a|=ord(s[i-1])
else: # even
a|=ord(s[i+1])
r+=chr(a if a<127 else 32)
print r
f("hello")
f("Hello, World!")
f("PPCG")
f("Programming Puzzles and Code Golf")
f("abcdefghijklmnopqrstuvwxyz")
f("!abcdefghijklmnopqrstuvwxyz")
f("Test 123 with odd characters. R@*SKA0z8d862")
IyBodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vYS85NDM1MS8zNDcxOAoKZGVmIGYocyk6CglzPSJcMCVzXDAiJXMKCXI9JycKCWZvciBpIGluIHJhbmdlKDEsbGVuKHMpLTEpOgoJCWlmIGklMjoJIyBldmVuIChwYXJpdHkgaXMgY2hhbmdlZCBieSBhZGRpbmcgXHgwMCB0byB0aGUgZnJvbnQpCgkJCWE9b3JkKHNbaS0xXSkgfCBvcmQoc1tpKzFdKQoJCWVsc2U6CSMgb2RkCgkJCWE9b3JkKHNbaV0pCgkJCWlmIGElMjoJIyBvZGQKCQkJCWF8PW9yZChzW2ktMV0pCgkJCWVsc2U6CSMgZXZlbgoJCQkJYXw9b3JkKHNbaSsxXSkKCQlyKz1jaHIoYSBpZiBhPDEyNyBlbHNlIDMyKQoJcHJpbnQgcgoKZigiaGVsbG8iKQpmKCJIZWxsbywgV29ybGQhIikKZigiUFBDRyIpCmYoIlByb2dyYW1taW5nIFB1enpsZXMgYW5kIENvZGUgR29sZiIpCmYoImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikKZigiIWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikKZigiVGVzdCAxMjMgd2l0aCBvZGQgY2hhcmFjdGVycy4gUkAqU0tBMHo4ZDg2MiIp