7 of 11 deleted 84 characters in body

Sort the Textbooks

Sort the Textbooks

School is starting soon (if it hasn't already) and so it's time to get our textbooks in order. You need to sort your books in alphabetical order but that takes too long so you decide to write a program to do it.

Examples

Input:

 _
| |  _
|F| | |
|o|_|P|
|o|B|P|
| |a|C|
| |r|G|
|_|_|_|

Output:

   _
  | |_
  |F| | 
 _|o|P|
|B|o|P|
|a| |C|
|r| |G|
|_|_|_|

Input

The input will be a set of books which need to rearranged alphabetically. It will contain only: |, _, , and A-Za-z. The titles of the books are read vertically, top-bottom.

You may choose to assume the input is padded with whitespace to fit a rectangle. If you choose to have your input padded with whitespace, please specify this in your answer.

Output

The output will need to be the same set of books organized in alphabetical order. The height of the books must stay the same and the title must have the same spacing from the top when re-arranged.

Books should be sorted alphabetically. If your language sports a sort function you can use that. Otherwise you can use alphabetical sorting as described here.

Book Title Examples

 _
| |
| |
|F|
|o|
|o|
| |
| |
|B|
|a|
|r|
| |
| |
|_|

This books title is:

"Foo  Bar"

Trailing whitespace is allowed

Winning

This is so shortest code in bytes wins.

The shortest answer in bytes gets the green checkmark, one-week from the posting of this question (Aug. 11, 2015).