# Pyth, <s>23</s> 22 bytes

*1 byte saved by [FryAmTheEggman](https://codegolf.stackexchange.com/questions/69127/convert-salesforce-15-character-id-to-18-character#comment168306_69131).*

    sm@s+JrG1U6i}RJ_d2c3pz

[Try it online.][try] [Test suite.][test]

This might be the first time I've used the `p`rint instruction in golfing. 

### Explanation

         JrG1                   save uppercase alphabet in J
                         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
                  J                 uppercase alphabet (saved in J)
               i     2            parse list of bools as binary
      @                           get correct item of
         J                          uppercase alphabet (saved in J)
       s+    U6                     add nums 0-5 to it
    s                           concatenate and print

[try]: http://pyth.herokuapp.com/?code=sm%40s%2BJrG1U6i%7DRJ_d2c3pz&input=a0RE000000IJmcN&debug=0
[test]: http://pyth.herokuapp.com/?code=sm%40s%2BJrG1U6i%7DRJ_d2c3pz&test_suite=1&test_suite_input=a01M00000062mPg%0A001M000000qfPyS%0Aa0FE000000D6r3F%0A0F9E000000092w2%0Aaaaaaaaaaaaaaaa%0AAbCdEfGhIjKlMnO&debug=0