Symmetric Order

Interview

Time limit1sMemory limit128 MB

Summary
Given a list of names sorted by length, rearrange them so shorter names sit at the top and bottom and longer ones in the middle, pairing names from the start.
Level

Easy3 of 10

Topics
Array, Implementation, Simulation, Sorting
Solved
No attempts yet

Problem

You have just finished writing a program whose output is a list of names sorted in nondescending order by length, so that each name is at least as long as the one preceding it. However, your boss does not like the way the output looks and instead wants it to appear more symmetric, with the shorter strings at the top and bottom and the longer strings in the middle.

The rule is that each pair of names belongs on opposite ends of the list, and the first name in each pair always goes in the top part. Reading the sorted names two at a time, the first name of a pair is placed toward the top and the second toward the bottom, so earlier pairs sit closer to the two ends and later pairs closer to the middle. In the first example below, Bo and Pat are the first pair, Jean and Kevin the second pair, and so on. If the number of names is odd, the last name is placed exactly in the middle.

Input

The input consists of one or more sets of strings, followed by a final line containing only the value 0. Each set starts with a line containing an integer nn, the number of strings in the set, followed by nn strings, one per line, sorted in nondescending order by length. None of the strings contain spaces. There is at least one and no more than 15 strings per set. Each string is at most 25 characters long.

Output

For each input set, print SET n on a line, where nn starts at 1, followed by the rearranged names in the same format as the sample output.

Examples4

  1. Example 1

    Input
    7
    Bo
    Pat
    Jean
    Kevin
    Claude
    William
    Marybeth
    6
    Jim
    Ben
    Zoe
    Joey
    Frederick
    Annabelle
    5
    John
    Bill
    Fran
    Stan
    Cece
    0
    
    Expected output
    SET 1
    Bo
    Jean
    Claude
    Marybeth
    William
    Kevin
    Pat
    SET 2
    Jim
    Zoe
    Frederick
    Annabelle
    Joey
    Ben
    SET 3
    John
    Fran
    Cece
    Stan
    Bill
    
  2. Example 2

    Input
    1
    Ada
    0
    
    Expected output
    SET 1
    Ada
    
  3. Example 3

    Input
    2
    Al
    Bob
    0
    
    Expected output
    SET 1
    Al
    Bob
    
  4. Example 4

    Input
    3
    a
    bb
    ccc
    0
    
    Expected output
    SET 1
    a
    ccc
    bb