The ASCII characters from decimal code 33 to 126 are:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Notice that in most fonts, 25 of these characters have "holes" in them: (a genus greater than 0 you might say)
#$%&04689@ABDOPQRabdegopq
The other 68 "unholed" characters are:
!"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~
Your task is to write the shortest program possible using only the unholed characters that outputs each of the holed characters exactly once in any order.
Since Space, Tab and newlines (Line Feed and/or Carriage Return) are empty space they may appear in your program or its output. They still count towards the number of characters. Other ASCII characters may not be used (and certainly not non-ASCII characters).
Notes
- You do not have to use all of the unholed characters nor only one of each.
- The output may not contain unholed characters.
- The Whitespace language may be used.
- Output should go to stdout or can go to a file. There should be no input.
Bonus: Just for fun, try printing all the unholed characters using the holed characters. I'm skeptical that it can be done in an existing language.
main
. \$\endgroup\$~
?? \$\endgroup\$