The Last Word (Large)

Insert each letter of S at the front or back of the growing word so the final string is as large as possible lexicographically.

Medium4GreedyStringImplementationInterviewNo attempts yetTime limit5sMemory limit512 MB

Problem

On the game show The Last Word, the host begins a round by showing the contestant a string SS of uppercase English letters. The contestant has a whiteboard which is initially blank. The host then presents the letters of SS to the contestant one by one, in the order in which they appear in SS. When the host presents the first letter, the contestant writes it on the whiteboard; this counts as the first word in the game (even though it is only one letter long). After that, each time the host presents a letter, the contestant must write it at the beginning or the end of the word on the whiteboard before the host moves on to the next letter (or to the end of the game, if there are no more letters).

For example, for SS = CAB, after writing the word C on the whiteboard, the contestant could make one of the following four sets of choices:

  • put the A before C to form AC, then put the B before AC to form BAC
  • put the A before C to form AC, then put the B after AC to form ACB
  • put the A after C to form CA, then put the B before CA to form BCA
  • put the A after C to form CA, then put the B after CA to form CAB

The word the contestant has once all of the letters of SS are written under these rules is called the last word. The contestant wins the game if their last word comes last in an alphabetically sorted list of all of the possible last words. For the example above, the winning last word is CAB (which happens to be the same as the original word). For a game with SS = JAM, the winning last word is MJA.

You are the next contestant on this show, and the host has just shown you the string SS. What is the winning last word that you should produce?

Input

The first line of the input gives the number of test cases, TT. TT test cases follow. Each consists of one line with a string SS.

Limits

  • 1T1001 \le T \le 100
  • 11 \le (length of SS) 1000\le 1000
  • SS consists of uppercase English letters only.

Output

For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is the winning last word, as described in the statement.