Hexadecimal and the Alphabet In this challenge, you will receive an input, convert it to hexadecimal, make a couple changes, and output the result.

Because they are only 16 characters in hexadecimal, your code will need to be as short as possible.



Examples

Examples are separated by a blank line. First line is input, second line shows the steps, third shows the output

234589
234589 -&gt; 3945D -&gt; 39454 -&gt; 9A1E -&gt; 9115 -&gt; 239B -&gt; 2392 -&gt; 958
958

435234
435234 -&gt; 6A422 -&gt; 61422 -&gt; EFEE -&gt; 5655 -&gt; 1617
1617

153
153 -&gt; 99 -&gt; 99 -&gt; 63
1617


Steps

The input will always be a positive integer



In order to generate the output you will follow the following steps:


Convert the input to hexadecimal
Replace any letters with their index in the alphabet (e.g. a -&gt; 1, b -&gt; 2)
Convert the result back to hexadecimal
If the result contains any letters, go to step 2. If not, output the result




This is code-golf so shortest code in bytes wins!
Jelly, 18 bytes

b⁴µ:⁵©+¹%⁵ḅ⁵ß¹®S¤?


Try it online!

The binary, 18 byte version of the source code has the xxd dump

0000000: 62 b6 8c 3a b7 85 2b 8e 25 b7 a3 b7 95 8e 88 53 83 3f b..:..+.%......S.?


and works with this version of the Jelly interpreter.

How it works

b⁴µ:⁵©+¹%⁵ḅ⁵ß¹®S¤?  Define the main link -- Left input: a (number)

b⁴                  Convert from integer to base 16.
  µ                 Start a new, monadic link.
   :⁵               Divide all base 16 digits by 10.
     ©              Save the result in a register.
      +¹            Add the quotients to the base 16 digits.
        %⁵          Take all resulting sums modulo 10.
          ḅ⁵        Convert from base 10 to integer.
              ®S¤   Take the sum of the quotients from the list in the register.
                 ?  If the result is non-zero:
            ß         Recursively call the main link.
             ¹        Else, apply the identity function.


Ḍ (decimal-to-integer) should have worked as a shorthand for ḅ⁵, but the latest version of Jelly at the time of this post had a bug that prevented me from using it.