Copyright (c) 2019-2022, Adel Faure contact@adelfaure.net. This Font Software is licensed under the SIL Open Font License, Version 1.1.

Click here to download jgs families.

git repository

Family:

Size:

Mode:

================================================================================
////////////////////////////// UNDER CONSTRUCTION //////////////////////////////
================================================================================

jgs : ASCII-art special font
________________________________________________________________________________
    . ..:::::::::::::::::::::::::::::::::::::::::::::::::::%::::%::::%%%%%%%%%%%
    ..:::::::::/\\\/\:/\::/\:::/\::::/\:::::/\::::::/\:::::::/\:::%:%:%/\%%%%%%%
    :.:::::::::\////\\\/\:/\::/\/::/\\/::/\:\/::/\::\/::/\:::\/::/\%:::\/%%%/\%%
 ...:::::::::/\\\//  \\\ \  \/  \:/  \::/  \:::/  \\:::/  \/\:%:/  \%/\%%%%/  \%
   ..:/\\\/\/ //// /\ \\\ \\/\\\/\ /\ \/\/\ /\/ /\/\::/ //\\/::/ /\ \ /%%%/\/\ \
  .:::\ \\\/ //// ///\ \\\ /  \\\ \/ \/  \:/  \///  \/ //  \\:/ /  \ \%%%/  \%\  
 . ..::\ \/ //// ///\\\//// /\ \\\ \\ \/\ \ /\ \/ /\ \// /\ \/ / /\ \/:%/ /\ \%\ 
  ..::::\  /// \ \\\ \\\ \\ \\\ \\\ \\ \:\ \\ \ \ \:\ \\ \:\ \ \ \:\ \%%\ \%\ \% 
    :.:::\///\/:\ \/ ////\\\ \\\///\/:\/\\\/ \/\/\ \:\/\\ \:\/\ \ \:\//\%\ \%\/% 
   ...:::::::::::\  /// \ \\\ \\\ \\ \:\ \\ \ \ \ \ \\ \:\ \:\ \ \ \%%\ \%\ \%%% 
      ..::::::::::\///\/:\ \/ /// // /\/ / \/ /\ \/ /:\ \/ /::\ \/ /:::\ \/ /%%% 
      .:::::::::::::::::::\  /// /  /\  /:\  /::\  /:::\  /::::\  /%%%%%\  /%%%% 
           . ..::::::::::::\///\/:\/::\/:::\/::::\/:::::\/:::%::\/:::%%%%\/%%%%%
                  ..::::::::::::::::::::::::::::::::::::::%:::::%:%:%:%%%%%%%adl
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
This font is a tribute to the ASCII artist Joan G. Stark, aka Spunk or jgs      


 
Index
-----

  I Introduction
 II The family
III Character set
 IV Drawing with jgs
                                                                                
                                                                                
Introduction
------------                                                                    

The look of ASCII drawings is largely dependent on the font used. Thus ASCII
drawings are also a typographic choice. I have tried to identify the most
common graphic uses of the ASCII characters. The aim was to accentuate the
graphic properties of these glyphs to produce a tool for writing and displaying
ASCII art.
                                     
The geometrical aspect of the signs and the roundness of their belly is
intended for the "Solid-Style" in the Dutch Allen Mullen way of drawing by
shape. Some cross, step and diagonal mappings produce a more classical effect
of continuity in the "Line-Style" style similar to Joan G. Stark (aka jgs) for
outline drawing. 

Overall the punctuation alignment on the grid are designed to produce a pattern
effect between lines and letters.


________________________________________________________________________________
::____:::::____:::::::____::/\  ·/    /\:::/   \ \  :   .  ::__::::__::::__:::/
://_//:::://_//:::::://_//:/\ \  :  . \ \~~\  . \ \__:_   ::/_/:::/_/:::/_/::/ 
// //::::// //::_:::// //:/  \ \__:_   \ \  :  / \/::::  ::/_/:::/_/:::/_/::/  
¯¯¯¯:::::¯¯¯¯::/\\::¯¯¯¯:/  . \/::::  . \ \  :/ / ~~~~  :::::::::::::::::::/  .
::::::::::::::/*//::::::/ .       _____  \ \  ·/       :::::::::::::::::::/    
_:::::____:::/*//____::/\   .    /\:::/  .\ \  :   .  ::__::::__::::__:::/     
/:::://_//::/*////_//:/\- _o   . \ \~~\    \ \__:_   ::/_/:::/_/:::/_/::/  .  .
::::// //:::\//// //:/\_ !:: .    \ \  :  / \/::::  ::/_/:::/_/:::/_/::/       
::::¯¯¯¯::_::¯:¯¯¯¯:/\_\ //'    /\ \ \  :/ / ~~~~  :::::::::::::::::::/      . 
:::::::::/\\:::::::/ :\_\`` \  /\/  \ \  ·/  .  . :::::::::::::::::::/   .     
:____:::/H//____::/   \\_\_\_\  / /\ \ \  :      ::__::::__::::__:::/   .  .   
//_//::/O////_//:/     :\_\_\_\  ·    \ \__:_ . ::/_/:::/_/:::/_/::/ :\/\     :
/ //::/T//// //:/    .  \\_\_\_\ \  ·\ \/::::  ::/_/:::/_/:::/_/::/ / /\:    ::
¯¯¯::/E//:¯¯¯¯:/         :\_\_\_\  /\/  ~~~~  :::::::::::::::::::/ ' /:/\.  :::
::::/L//::::::/           \\_\_\_\  / ·\  .  :::::::::::::::::::/   /\/ /  ::::
_:::\//::::::/     \       :\_\_\_\  /\:    ::__::::::::::__:::/\ \: / :  ::__:
/::::____:::/\              \\_\_\_\ \·    ::/_/::____:::/_/::/\_\  /`   ::/_/:
::::/\___\:/\_:   .          :\_\_\_\   . ::/_/::/:/:/::/_/::/ _o \ \   ::/_/::
:::/v/v/::/\_\_\      \       \\_\_\_\   :::::::/v/v/:::::::/\(::V \ _ _:_:_:_/
:_/_/_/_:/\_\_\_:              :\_\_\_\ :_:_:_:/_/_/:_:_:_:/\_ ¡i  _|==========
=\\:::\\=\_\_\_\_\          .   \\_\_\_\=\=\=\=\====:\=\=\=\_\ !L _\/ .     .  
\=\\===:\=\_\_\_\_:      \       :\_\_\_\=\=\=\=\=\=\=\=\=\=\_\_ _\/ _  .  //\ 
=\=\= _________________________________\_\=\=\=\=\=\=: o :=\=\_\_\/ //\   (/\/)
~:~:~/\       /\____\   ___            \~:~:~:~:~:~:~ TJ)L~:~:~`~/ //o \   \// 
::::/. \      \/____/  \___\            \   :::::::::/|C^|::::::/ . V://    ~  
:::/\:\ \________________________________\   ::::::::0`'0':::::/     //      . 
::/C \:./._._._._._._._./C16/._._._._./-/|    ::::::::::::::::/ .  .    . _    
:(O 1 \/o/o/o/o/:/o/o/:/¯/¯/:/o/:/o/o/:/ |  -- ::::--::::--::/ //\    .  //\.  
::\\ 6/---------------/:/:/---------/:/: |      :::::::::::_/ (/\/\ .   //::\  
:::\O/:::.--.:.--.:::/_/_/::::.--.:/_/'--i   .   :::::::::/\\ .\/\/)     \://  
::::·---'(_0/~(_0/`----------'(_0/`------'         o :::::\C\\  \// .  .  //   
_:_:_:_:_:_:_:_:_:_::._._._._:::::::::::::   _._. /:):_:_/.\O\\  ~   .   .    :
=\=\=\=\=\=\=\=\=\=\=\=\=\=\=:::::::::::::: :\_\_'|¡ \=\/.-.\M\\  . //\      ::
============================\=\::::::::::::: \\_\_'! =\///\|.\P\\  (/\/\ .  :::
  ____    .c---n.   .c---n. \\=:__::__::__::__:\_\_ _\/// /:/:\U\\  \/\/)  ::::
 (_°_°`. \ 0)/\¯¯¯\\ 0)/\¯¯¯\\\_\ \ \ \ \ \ \ \\\_\_\-^/^///:_:\T\\. \//  :::::
  0) \¯¯¯\  \^/\___\  \^/\___\\\_: \ \ \ \ \ \ \:\_\_\\\///_/\\:\E\\  ~  ::::::
 \ \ ^\___\\ \^(___( \ \^(___( \\_\ \ \ \ \ \ \ \\\_\_\-^//\\//_:\R\\.  :::::::
    \ ^|__|   0)\   \   0)\   \ \\_:_\ \_\ \_\ \_\:\_\_\_\\:\:/\\:\S\\ ::::::::
   \ 0)    ) \ \(o==o) \ \(o==o) \)_\              \\_\_\_\\:\\//_:\//:::::::::
      `º--º     ¯¯¯¯¯     ¯¯¯¯¯     _:      \       :\_\_\_\\:\:/\\:/:::::__::/
   °  __        __        __   .     _\    .         \\_\_\_\\:\\///:/\/:/_/:/ 
                                      _:              :\_\_\_\\:\_/::::_:__:/ /
 ____  .   ____      °       .c---n. (\_\      \       \\_\_\_\\//:/\//-:/_/ (/
(_°_°`.   (_°_°`.             0)/\¯¯¯\\\_:              :\_\_\_\/:_  _o _/\\ .\
 0) \¯¯¯\\ 0) \¯¯¯\\     °   \ \^/\___\\\_\              \\_\_\_\=\ V::) \P\\  
  \ ^\___\  \ ^\___\            \^(___( \\_:      \       :\_\_\_\ .//  /.\H\\ 
 \ \ ^|__| \ \ ^|__| \ .       \ 0)\   \ \\_\         .    \\_\_\_\_  =/.-.\O\\
)   0)    )   0)    )      .c_!   \(o==o) \\_:              :\_\_\_\=\///\|.\N\
   \ `º--º   \ `º--º   \    !-!  \ ¯¯¯¯¯   \\_\      \       \\_\_\_\///\/:/:\E
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


The family
----------

Jgs family is declined between 3 fonts : jgs5, jgs7 and jgs9. The odd  number
at the end of each font name correspond to the glyph width of the font in
pixels (Jgs being monospaced every glyphs of each font have the same width).
The ratio being 1:2 jgs5 glyphs are 5px width for 10px height, jgs7 glyphs are
7px width 14px height and jgs9 9px width 18px height.

It may not sound obvious at first but I delined the font in 3 version to
display "responsive ASCII art". After diffents pixel and vector based attemps
for defining an "ASCII special font", I came to the decision that it must be
pixelated, 1:2 ratio and based on odds numbers. Pixelated for allowing a
perfect diagonal joining between glyphs, 1:2 ratio to be compatible with the
most possible existing ASCII art and odds numbers for having glyph centered
pixels.


Character set
-------------

!"#$%&'()*+,-./0
123456789:;<=>?@
ABCDEFGHIJKLMNOP
QRSTUVWXYZ[\]^_`
abcdefghijklmnop
qrstuvwxyz{|}~¡¢
£¤¥¦§¨©ª«¬®¯°±²³
´µ¶·¸¹º»¼½¾¿ÀÁÂÃ
ÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ
ÔÕÖØÙÚÛÜÝÞßàáâãä
åæçèéêëìíîïðñòóô
õö÷øùúûüýþÿƒΓΘΣΦ
Ωαδεπστφ•‼ⁿ₧←↑→↓
↔↕↨∙√∞∟∩≈≡≤≥⌂⌐⌠⌡
─│┌┐└┘├┤┬┴┼═║╒╓╔
╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤
╥╦╧╨╩╪╫╬▀▁▂▃▄▅▆▇
█▉▊▋▌▍▎▏▐░▒▓▔▕▖▗
▘▙▚▛▜▝▞▟■▬▲►▼◄○◘
◙☺☻☼♀♂♠♣♥♦♪♫



Drawing with jgs
----------------

      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////      
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
      ++++++++++++++++++++    %%%%%%%%%%%%%%%%%%%%    ////////////////////
   
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
      --------------------    ((((((((((((((((((((    ||||||||||||||||||||
   
      ====================    ::::::::::::::::::::    #################### 
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
      ====================    ::::::::::::::::::::    ####################
   
   

0.25 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
                                                                        
0.5 -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
                                                                                
1 ._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-
                                                                        
1.25    _.-~"~-._   _.-~"~-._   _.-~"~-._   _.-~"~-._   _.-~"~-._   _.-~"~-._   
     "~"         "~"         "~"         "~"         "~"         "~"         "~"
                                                                         
2.25           .-~"~-.           .-~"~-.           .-~"~-.           .-~"~-.    
     -._   _.-'       '-._   _.-'       `-._   _.-'       '-._   _.-'       `-._
        `~'               `~'               `~'               `~'               
                                                                
4.25                    .-'~"~`-.                   .-'~"~`-.                   
     `.               .'         `.               .'         '.               .'
       \             /             \             /             \             /  
        `-._     _.-'               `-._     _.-'               `-._     _.-'   
            `~"~'                       `~"~'                       `~"~'



0/1 1/6 1/4 2/5 1/2 2/3 4/5 1/1 4/3 6/4 5/3 2/1 7/3 5/2 3/1 10/3 7/2 4/1 9/2
|   i   i   i   i   i   i   \   \   \   `.  `.  `.  `.  `-. `-.  `-. ~`-.~`-._
|   |   |   |   !   !   !    \   \   `.   `.  `.  `.  `-.  `-. `-.  ~`-. ~`-. ~`
|   |   |   !   `i   \   \    \   \    \    \   `.  `-.  `.   `-. ~`-.  `-.  ~`-
|   |   !   `i   !    i   \    \   `.   `.   `.   `.   `.  `-.   `-.  `-.  ~`-.
|   |   `i   !   `i   !    \    \    \    \    `.   `.   `.   `.    `-.  `-.   `
|   !    |   `i   !    \    i    \    \    `.    \    `.   `-.  `-.    `-.  ~`-.
|   `i   |    |   `i    i   !     \    \     \    `.    `.    `.   `.     `-.
|    |   !    !    !    !    \     \    `.    `.    `.    `.    `.   `-.     `-.
|    |   `i   `i   `i    \    \     \     \     \     \     `.    `-.   `.      
|    |    |    !    !     i    \     \     \     `.    `.     `.     `.   `-.   
|    |    |    `i   `i    !     i     \     \      \     `.     `.     `.    `. 
|    !    !     |    !     \    !      \     `.     `.     \      `.     `-.   `
|    `i   `i    !    `i     i    \      \      \      \     `.      `.      `.  
|     |    |    `i    !     !     \      \      \      `.     `.      `.      `.
|     |    |     |    `i     \     \      \      \       \      \       `.      
|     |    !     !     !      i     i      \      `.      `.     `.       `.
|     |    `i    `i    `i     !     !       \       \       \      `.       `.



/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]
/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/||\||/|
=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=][=[]=]


(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))
-\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/-
-/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\-
(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))
-\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/-
-/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\-
(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))
-\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/-
-/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\-
(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))
-\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/-
-/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\-
(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))
-\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/--\\/-
-/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\--/\\-
(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))(( ))
  

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|>
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|>
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-+|++|+-|-
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|><|/\|\/|>
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<>|()|[]|<
 

   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\
__///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\
\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///  
\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___
   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\
__///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\
\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///  
\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___
   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\
__///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\
\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///  
\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___
   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\
__///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\
\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///   /\\\\\///  
\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___///\\\\\/___


\////\\\\\/\\/\///////\/\/\\\//\////\\/\/\/////\\/\/\\/\\\\/\\\\\\\\/\\//\\\\\/\
///\///\/\\\\//\/\\/\/\\///\/\\/\\\//\//\///\/\///\///\\///\///\/\/\\\\/\\\///\\
\\///\\\\////\/\\\\\\/\///\\\/\\\///\\\\\/////\//\//\///\/\/\\\\\/\//\\/\\\\\\//
\/\/\/\\///\\\/\\\//\\\/\/\///\\\\\\///\\\\/\\\\/\\\/\/\/\\\//\/////\\///\\/\//\
\////\/\///////\\\\///////\//////\\\/\\\/\/\\/\\//\\\/\\\/////\//\//\/\//\/////\
//\\\//\//\\///\//\\///\\\\/\/\\\/\\/\\\\///\///\/\/\//\//\/\\\////\\\/\/\/\\///
\//\\/\//\\//\\/\////\\////\/\//\\///\\////\\/\\//\\//\\//\//\/\\/\/\\////\\//\\
//\/////\//\\\\///\\///\\/\\\\/\\/\/\\///\\\/\\\\//\/\/\//\\/\/\\//\\//\\\/\\\\\
\//////\/\\//\\////\////\/\/\\\/\//\\/\/\\//\/\\\///\\/\\\\\\///\\\\\/\\\\//////
//\//\/\\\/////\\\\//\\\\//\/\\\\\/\/\\/\\//\\//\/\\//\\\\\\\\//\\/\\\/\/\\////\
\\/\\/\\/////\///\\/\///\///\/\\\\//\///\\//\\\\//\//\///\\\\/\/\//\\\/\\///\\\/
///\//\\\/\\\\\\///\/\/\////\\\//\\\\\\/\//\\\////\\/\\////\\/\//\\\/\/////\\\//
\\\///\\//\\//\/\//\/\/\////\/\//\///\\\\\/\//\/\\\\\/\/\/\\////\/\\\//\/\\\/\//
//\\\\\\\\//////\///\\\\\\\////////\\\//\\\/\///\\\\//\/\\////\//\/\/\\/\\///\/\
\/////\\\\\\\/\\\/\\\\\\\//\//////\\/\/\\\////\\\\//\/\\///\///\\///\\\\\\///\/\
\\/\/\\\/\\/\\\/\\\/\///\\/\\//\/\\//\\\\///\//\//\\//\/\\/\//////\\////////\/\\


  :   .   :   .   :   .   :   .   :   .   :   .   :   .   :   .   :   .   :   . 
.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`
 `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:'
.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `
 `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.'
.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`
 `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:'
.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `
 `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.'
.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`
 `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:'
.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `
 `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.'
.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`
 `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:' `.' `:'
.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `.':`.' `