5 of 11 added 117 characters in body

Sort the Textbooks

Sort the books

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. Capital letters should be ordered before lowercase letters. Spaces should be ignored except when in the middle of a title. The order is:

A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-(space)

Book Title Examples

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

This books title should be:

"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).