C - Join the Game

Languages: C, C++, Java, Python, Kotlin
Time & Memory limits: (details)

You are given three piles of stones. Each having A, B and C stones. You can do the following operation multiple times (maybe zero):

  • Select two non-empty piles, remove one stone from each selected pile and add those two stones to the third pile (the one you did not select).

The goal is to put all stones in a single pile. Can you do it?

Input

The first line contains an integer t (1t104), the number of test cases. A description of test cases follows.

The first line of each test case contains three integers A, B and C (0A,B,C104), the number of stones in each pile.

It is guaranteed that the sum of A+B+C over all test cases does not exceed 3104.

Output

For each test case:

Output on a single line "Yes" (without quotes) if there is a way to put all stones in one pile. Otherwise, output "No" (without quotes).

If there is a solution, on the following line output a string S (|S|=m,0m2104). Each character Si (1im) of the string will be "A", "B" or "C", denoting the id of the third pile (the one you did not select) in the i-th operation (if the string is empty output a single empty line).

It is guaranteed that, if a solution exists, then there is a construction that uses at most 2104 operations.

Sample test(s)

Input
5 9 8 2 0 0 0 20 30 40 5 5 5 9 22 14
Output
Yes CCAAAAAA Yes No Yes BBBBB No