How many prefix code we can find for a given distribution of probability?
There are infinitely many prefix codes over $\{a,b,c\}$ containing 5 elements, for example $a,ba,b^2,b^3a,b^{4+n}a$ for all $n \geq 0$. I'm assuming the question is concerned with "saturated" or "minimal" prefix codes, which are prefix codes which satisfy one of the following equivalent conditions:


Each string in $\{a,b,c\}^\omega$ contains some codeword as a prefix.
Kraft's inequality is tight.
The ternary tree corresponding to the code is full, that is, each internal vertex has exactly three children.


It's not hard to check that all such codes containing 5 codewords must look as follows:
$$
\alpha, \beta, \gamma\alpha, \gamma\beta, \gamma\gamma.
$$
For such a code to be optimal for your particular distribution, a necessary and sufficient condition is that $\alpha,\beta$ are assigned to the heavy elements and $\gamma\alpha,\gamma\beta,\gamma\gamma$ to the light elements. You can check it by direct calculation (there are only 3 options, up to symmetry), or by noticing that if a code uses a length-1 codeword for a light element and a length-2 codeword for a heavy element, then switching them reduces the average codeword length.

Indeed, if we fix the codewords, then it is easy to assign them to symbols. The more difficult task is to find the optimal set of codewords. In this case, there is only one set of codewords, so there is no need to run any fancy algorithm such as Huffman's.