579085261 is CRAZY, 725582 is GOLF, 10757494 is ...? Your task is to translate a 103-smooth number into an English word, using the method described below.

How?


Generate the list of prime factors (with repetition) of the input number.
Sort the list:


If 2 is not one of the prime factors, sort the list in ascending order.
If 2 is one of the prime factors, remove it from the list and sort the remaining factors in descending order.

Translate each factor into a letter, using the following table:

 3 = S   13 = L   29 = X   43 = O   61 = Z   79 = H  101 = K  
 5 = P   17 = Q   31 = N   47 = R   67 = T   83 = V  103 = Y  
 7 = M   19 = U   37 = C   53 = A   71 = E   89 = D  
11 = F   23 = I   41 = W   59 = G   73 = J   97 = B  



Note: This table was built empirically to maximize the number of possible words. For the curious, here is a list of 2,187 words that can be encoded that way (may include rude language). It's definitely not guaranteed to be optimal, but it's good enough for this challenge.

Examples

Example 1: 579085261 (ascending order)


The prime factors are [ 37, 47, 53, 61, 103 ].
2 is not a prime factor, so we keep the list sorted in ascending order.
37 = C, 47 = R, etc. The output is "CRAZY".


Example 2: 725582 (descending order)


The prime factors are [ 2, 11, 13, 43, 59 ].
2 is a prime factor, so we remove it and sort the list in descending order, which gives:
[ 59, 43, 13, 11 ].
59 = G, 43 = O, etc. The output is "GOLF".


Example 3: 10757494 (with a repeated factor)


The prime factors are [ 2, 11, 71, 71, 97 ].
2 is a prime factor, so we remove it and sort the list in descending order, which gives:
[ 97, 71, 71, 11 ].
97 = B, 71 = E, 11 = F. The output is "BEEF".


Clarifications and rules


The input number is guaranteed to be 103-smooth and divisible by 2 at most once.
By definition, a smooth-number is a positive integer.
Input and output can be handled in any reasonable format. The output can be in lowercase or uppercase. Trailing whitespace is acceptable. Leading whitespace is not.
If your program/function can't support large inputs, please specify it in your answer.
This is code golf, so the shortest answer in bytes wins.


Test cases

34874          --&gt; ARM
483254         --&gt; BAR
353722         --&gt; EAR
494302         --&gt; EGG
39061          --&gt; FAT
6479           --&gt; FUN
60421          --&gt; ICE
54166          --&gt; JAM
48911474       --&gt; BETA
2510942        --&gt; BOOM
2303854        --&gt; DOOM
844261         --&gt; FIRE
1606801        --&gt; MAZE
1110085        --&gt; PAGE
5212974        --&gt; BALLS
67892046       --&gt; BEANS
885396199      --&gt; CREEK
67401037       --&gt; FUNKY
27762173       --&gt; QUICK
1238440506     --&gt; ARROWS
33045832681    --&gt; CRAGGY
1362714005     --&gt; PIRATE
137302698      --&gt; TROLLS
358310128062   --&gt; BEGGARS
40255151586    --&gt; DETAILS
164633248153   --&gt; FIXATED
621172442227   --&gt; UNRATED
2467812606     --&gt; VACUUMS
86385078330    --&gt; GROWNUPS
26607531423091 --&gt; UNWORTHY
Jelly, 29 27 bytes

ÆEµØA“¡3ḅḲ+Ṿɼ¡ẏƙẊƘ’œ?xḊṚḢ}¡


Thanks to @JonathanAllan for golfing off 1 byte!

Try it online!

Background

“¡3ḅḲ+Ṿɼ¡ẏƙẊƘ’


is a numeric literal. The characters between the quotes are replaced with their 1-based indices in the Jelly code page, and the resulting array is interpreted as a base-250 number. This yields the integer c := 288824892868083015619552399.

How it works

ÆEµØA“¡3ḅḲ+Ṿɼ¡ẏƙẊƘ’œ?xḊṚḢ}¡  Main link. Argument: n

ÆE                           Yield the exponents of n's prime factorization, with.
                             zeroes. This yields an array A.
  µ                          Begin a new monadic chain with argument A.
   ØA                        Set the return value to “ABC...XYZ”.
     “¡3ḅḲ+Ṿɼ¡ẏƙẊƘ’œ?        Select the c-th permutation of the alphabet, yielding
                             s := “SPMFLQUIXNCWORAGZTEJHVDBKY”.
                      Ḋ      Dequeue; yield A without its first element, stripping
                             the exponent of 2.
                     x       Repeat the k-th letter of s r times, where r is the
                             exponent of the k-th odd prime number.
                          ¡  Combine the two links to the left into a quicklink:
                        Ḣ}     - Apply head to the right argument (A), yielding the
                                 exponent of 2. Since n is at most divisible by the
                                 first power of 2, this yields 1 for even numbers
                                 and 0 for odd ones. Call the link to the left that
                                 many times on the previous return value.
                       Ṛ       - Reverse the string to the left.