KEY='&'
orig=raw_input()
orig_char=list(orig)
new_char=[]
def sxor(s1,s2):
return ''.join(chr(ord(a) ^ ord(b)) for a,b in zip(s1,s2))
for i in orig_char:
N=sxor(i,KEY)
new_char.append(N)
print ''.join(new_char)
from itertools import product
def main():
addr=""
i=0
n=0
print "Address of main function: %s" % hex(id(main))
print "Address of addr variable: %s" % hex(id(addr))
addr=raw_input( "Enter a (hex) address: ")
n=int(raw_input( "Enter number of bytes to view: "))
#printf("\n");
print " Address Bytes Characters\n"
print " - - - - - - - - - - - - - - - - - - - - - - "
ptr = addr;
for nn in range(n,0,-10):
print "%8s "% hex(id(addr))
# for i,i in product(range(0//10), range(0//n)) :
#print "%.2X ", *(ptr + i));
#for (; i <10; i++)
# printf(" "); #pointer dereferencing not in python
#printf(" ");
#for (i = 0; i < 10 && i < n; i++) {
# BYTE ch = *(ptr + i);
#if (!isprint(ch))
# ch = '.';
# printf("%c", ch);
#}
#printf("\n");
#ptr += 10;
#}
#return 0;
#}
if __name__=='__main__':
main()