A bijective base b numeration, where b is a positive integer, is a bijective positional notation that makes use of b symbols with associated values of 1 to b.
Unlike its non-bijective counterpart, no symbol has a value of 0. This way, each non-negative integer n has a unique representation in bijective base b.
Popular bijective numerations include unary, bijective base 2 (used in bzip2's run-length encoding) and bijective base 26 (used to number columns in spreadsheets).
In this challenge, we define the set M of symbols as
and a function i from M to the natural number such that i('1') = 1, …, i('>') = 64.
Given a base b between 1 and 64 (both inclusive), we define that each non-negative integer n corresponds to the string ak…a0, consisting of symbols of M, such that n = bki(ak)+…+b0i(a0).
This correspondence is well-defined and bijective. Since an empty sum is defined as 0, the integer 0 can be encoded as an empty string.
Accept three strings as input:
An input base b between 1 and 64, encoded as a bijective base 64 string.
A non-negative integer n, encoded as a bijective base b string.
An output base B between 1 and 64, encoded as a bijective base 64 string.
Given these three inputs, encode n as a bijective base B string.
All test cases specify the input in the order b, n, B.
Input: "4" "" "8" Output: "" Input: "A" "16" "2" Output: "1112" Input: "2" "122" "A" Output: "A" Input: "3" "31" "1" Output: "1111111111" Input: ">" "Fe" "a" Output: "RS"
You may read the three strings in any convenient order, as such, an array of strings, a string representation thereof, concatenated or separated by single-character delimiters of your choice.
If you choose to print the output to STDOUT, you may only print the symbols and (optionally) a trailing newline.
Base conversion built-ins of all kinds are allowed.
Standard code-golf rules apply.