Write a program that takes no input and prints `Hello, World!` to stdout or your language's closest alternative. The catch is that each line in your program must only contain [printable ASCII characters][1] and it must be in lexicographical order, a.k.a. sorted.
Here are all 95 printable ASCII characters in order:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
So, for example, the line `!!A0~` would be invalid because the `A` and `0` are out of order. The line `!!0A~` would be valid.
Each line in your program may be any length **but there may not be more than 100 lines**. Empty lines are considered sorted. Each of the newlines in your program must be the same (no mixing `\n` and `\r\n`). Tabs and other non-printable ASCII characters are forbidden.
The shortest submission (including newlines) wins. Tiebreaker goes to the program with the fewest lines.
Only `Hello, World!` and an optional trailing newline should be output. Note that [HQ9+][2] is invalid since it outputs `hello, world`. I may forbid languages similar to HQ9+ that have one character "Hello, World!" commands due to their triviality.
Hint:
>! This is definitely possible in [Unary][3] and [Lenguage][4], though not very concisely.
[1]: http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
[2]: http://esolangs.org/wiki/HQ9+
[3]: http://esolangs.org/wiki/Unary
[4]: http://esolangs.org/wiki/Lenguage