#Pyth, 23 bytes sm@s+rG1U6i}RrG1_d2c3pz ### Explanation z input string p print it without newline c3 split into 3 parts m d for each part: _ reverse }R map characters to being in rG1 uppercase alphabet i 2 parse list of bools as binary @ get correct item of s+rG1U6 uppercase alphabet + nums 0-5 s concatenate and print [Try it online.][try] [Test suite.][test] [try]: http://pyth.herokuapp.com/?code=sm%40s%2BrG1U6i%7DRrG1_d2c3pz&input=a0RE000000IJmcN&debug=0 [test]: http://pyth.herokuapp.com/?code=sm%40s%2BrG1U6i%7DRrG1_d2c3pz&test_suite=1&test_suite_input=a01M00000062mPg%0A001M000000qfPyS%0Aa0FE000000D6r3F%0A0F9E000000092w2%0Aaaaaaaaaaaaaaaa%0AAbCdEfGhIjKlMnO&debug=0