Numbers have different representations depending on the bases on which they are expressed. For example in base 3, the number 12 is written a...

Numbers have different representations depending on the bases on which they are expressed. For example in base 3, the number 12 is written as 110 (1x32 + 1x31 + 0x30), but in base 8 it is written as 14 (1x81 + 4x80). Consider, for example, the integers 12 and 5.

Certainly these are not equal if base 10 is used for each. But suppose 12 was a base 3 number and 5 was a base 6 number then what happens, 12 base 3=1x31 + 2x30, or 5 base 6 or 5 base 10(5 in any base is equal to 5 base 10). So 12 and 5 can be equal if you select the right bases for each of them.

Write a program to input two integers, X and Y, and calculate the smallest base for X and smallest base for Y (likely different from X) so that X and Y represent the same value. The base associated with X and Y will be between 1 and 20 (both inclusive). In representing these numbers the digits 0 to 9 have their usual decimal interpretations. The upper case alphabetic characters A through J represent digits 10 through 19 respectively.

Test your program for the following data and some random data:

SAMPLE DATA:

INPUT:    X=12, Y=5   OUTPUT: 12(base 3)  = 5(base 6)
INPUT:    X=10, Y=A   OUTPUT: 10(base 10) = A(base 11)
INPUT:    X=12, Y=34  OUTPUT: 12(base 17) = 34(base 5)