chars=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","t","s","u","v","w","x","y","z","!","@","#","$","%","^","&","*","(",")","<",">","?","/","[","]","{","}","-","_","=","+"," ","1","2","3","4","5","6","7","8","9","0"];
numbs1=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59"];
rechars1=dict(zip(chars,numbs1));
rechars2=dict(zip(numbs1,chars));
stringa=raw_input(""); #Letters and symbols only-->encrypt
stringb=''.join(rechars1.get(c,c) for c in stringa);
print "Input: ",stringa;
print "Encoded: ",stringb;
Y2hhcnM9WyJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJ0IiwicyIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsIiEiLCJAIiwiIyIsIiQiLCIlIiwiXiIsIiYiLCIqIiwiKCIsIikiLCI8IiwiPiIsIj8iLCIvIiwiWyIsIl0iLCJ7IiwifSIsIi0iLCJfIiwiPSIsIisiLCIgIiwiMSIsIjIiLCIzIiwiNCIsIjUiLCI2IiwiNyIsIjgiLCI5IiwiMCJdOwpudW1iczE9WyIwMSIsIjAyIiwiMDMiLCIwNCIsIjA1IiwiMDYiLCIwNyIsIjA4IiwiMDkiLCIxMCIsIjExIiwiMTIiLCIxMyIsIjE0IiwiMTUiLCIxNiIsIjE3IiwiMTgiLCIxOSIsIjIwIiwiMjEiLCIyMiIsIjIzIiwiMjQiLCIyNSIsIjI2IiwiMjciLCIyOCIsIjI5IiwiMzAiLCIzMSIsIjMyIiwiMzMiLCIzNCIsIjM1IiwiMzYiLCIzNyIsIjM4IiwiMzkiLCI0MCIsIjQxIiwiNDIiLCI0MyIsIjQ0IiwiNDUiLCI0NiIsIjQ3IiwiNDgiLCI0OSIsIjUwIiwiNTEiLCI1MiIsIjUzIiwiNTQiLCI1NSIsIjU2IiwiNTciLCI1OCIsIjU5Il07CgpyZWNoYXJzMT1kaWN0KHppcChjaGFycyxudW1iczEpKTsKcmVjaGFyczI9ZGljdCh6aXAobnVtYnMxLGNoYXJzKSk7CgpzdHJpbmdhPXJhd19pbnB1dCgiIik7ICNMZXR0ZXJzIGFuZCBzeW1ib2xzIG9ubHktLT5lbmNyeXB0CgpzdHJpbmdiPScnLmpvaW4ocmVjaGFyczEuZ2V0KGMsYykgZm9yIGMgaW4gc3RyaW5nYSk7CgpwcmludCAiSW5wdXQ6ICAgIixzdHJpbmdhOwpwcmludCAiRW5jb2RlZDogIixzdHJpbmdiOw==