Brag is a card game similar in concept to, but simpler than, poker. A hand in brag consists of three cards and is ranked as follows from highest to lowest:
Three of a kind - all three cards the same rank. Named as "three Kings" etc.
Running flush aka straight flush. All three cards of same suit and of consecutive ranks. The hand is named by the three cards in ascending order followed by the words "on the bounce" to distinguish from a simple run/straight, eg "ten-jack-queen on the bounce". Note an ace is either high or low but not both - "king-ace-two" is not a run.
Run aka straight. As above but without the requirement to match suits. Named simply as eg "ten-jack-queen".
Flush - all three cards the same suit, named after the highest rank eg "Ace flush".
Pair - two cards the same rank together with a third of another version rank. Named as "pair of threes" etc.
Any other combination, named after the highest rank eg "ace high".
Given three playing cards, output the name of the brag hand they output.
The cards will be input either as three 2-character strings or concatenated as a single 6-character string (whichever your implementation prefers), where the first of each pair is the rank (2...9, T, J, Q, K, A) and the second signifies the suit (H, C, D, S).
Standard golfing rules apply - write a program or function which accepts this input and outputs the name of the hand as detailed above.
You can assume the input will be valid (ranks and suits in the above range, no repeated card) and in whatever case you prefer, but will not be in any particular order.
Output must be either in all capitals, all lower case, or a sensible capitalisation eg title case or sentence case. Numeric ranks should be spelled out eg "tens" not 10s.
Sample inputs & outputs:
2H3C2D => "pair of twos" TD8C9C => "eight-nine-ten" 4SKS9S => "king flush" 4D4H4S => "three fours" 5H3H2C => "five high" 2D3DAD => "ace-two-three on the bounce" 6D6C6H => "three sixes"
This is my first attempt at a challenge on this site, please do suggest improvements but be gentle :)