  AAA  L     L          GGG  L      OOO  RRRR  Y   Y      TTTTT  OOO      TTTTT H   H EEEEE
 A   A L     L         G     L     O   O R   R  Y Y         T   O   O       T   H   H E
 AAAAA L     L         G  GG L     O   O RRRR    Y          T   O   O       T   HHHHH EEE
 A   A L     L         G   G L     O   O R   R   Y          T   O   O       T   H   H E
 A   A LLLLL LLLLL      GGGG LLLLL  OOO  R   R   Y          T    OOO        T   H   H EEEEE

                   H   H Y   Y PPPP  N   N  OOO  TTTTT  OOO   AAA  DDDD
                   H   H  Y Y  P   P NN  N O   O   T   O   O A   A D   D
                   HHHHH   Y   PPPP  N N N O   O   T   O   O AAAAA D   D
                   H   H   Y   P     N  NN O   O   T   O   O A   A D   D
                   H   H   Y   P     N   N  OOO    T    OOO  A   A DDDD

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@""""""""""@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@""""""""@@@@@@@@"`        ""@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@`  /++ `"'@@@@'" // '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@" /@+ h@#h //1%/ "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@"    //`"#hhhh"""""`  """"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@'""""""hhhhhhhhhhh"""""""""#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@"'hhhhhhhhhhhhhhhh##hhhh#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#hhhhhhhhhhi;;;;;;!hhhhh#i;;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@;!hhhhhh#hh!;;;;;;;;;;;;;;#;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@!hhhhhhhhhhh;;;;;;;;;;;;;;hh;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@_;i#hhhhhhhhhhh;;;;;;;;;;;;;;;;hhh!;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@!;;;;;;#hhhhh!;;;;;;;;;;;;;;;;;;;hh#h!@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@!;;;;;;;;;h#;;;;;;;;;;;;;;;;;;;;;;!hhh!!@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;hhh;@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;_@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@;;;;;_               _;!;;;;;;;)#h;;;!;_@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@                             ;;;;;)#hhh;;;_@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@                           ;;;;)hhhhhh#h;;i;@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        i;!;;)hhhhhhhh;;;;;@@@@@@hhh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         ;;;);;hhhhhh;hh;;;;;#@@hhhhhhh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                           ));;;;hhhh##;_#hh;;hhhhhhhhhhh
@@@@@@@@@@@@@@@@@@@@_;;;;;@@                         )) ;;;;;;hhhh#;;;;;;;#hhhhhhhhhh
@@@@@@@@@@@@@@@@@@@;;;;;;;;;)                   )    ;;;;;hh;;;i;hh;!hhhhhhhhh
@@@@@@@@@@@@@@@@@@@;i;;;;;;;;)))             ) )  ;;;;;;;;;;;;!hhhhhh#hhhhhhh
@@@@@@@@@''''''''''';;;;;;;; ))))))))))   ;;;;!;;;;;;;;;h#hhhhhhhhhhh
@@@@@'''''''''''''';;i;;!;;`      ))`         ;;hhhh#;;;;;;;;hhhhhhhhhhh#h
@@'''''''''''''';;;!;                 @1         ;;;;hh#h;;;;;;hhhh!hhh#hhh
@''''''''''''''''''''''`;;;;                          !!;;#hhhhh#;;;;;;#h;;hh##hhhh
@'''''''''''''''''!;;;;;                           ;;;;;;;;!#hh!;;;;;;;;h''
'''''''''''''''';;;@;;;;;!!                            !;_;;;;;;h#;;;i;;hh#hhhh
'''''''''''''''''_;;;;;;;;;_                           ;;;;;;;;;i;;;;;;hhhhhhhh
''''''''''''''''''''''';;;;;;;!                      ;;;;;;;;;;;;;_'hhhhhhhhh
@''''''''''''''''''''''''''`;;_;;_;;;_''''''';;;;;;i;;;;;;;;;;;;;;''''''h#'''hhh
@''''')))))))))`'''''''';_'';;''''''''''''';;;;;;;;_'''''''''#''''''')
@@'''')))))))))))))''''';''''';;_''''''''''!;;;;;;`''''''''''''''''''''))))
@@'''''`)))))))))@''''''''''''''''''';;;'';'''''''''''''''''''''''''))))))
@@@'''''''))''''''''''''''''''''''''''''i!'''';''''''''''''''''''''''''''''''
@@@@'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@'''''''''''''''''''''''''''''''''''''''''''''''''''''''4k by bitpopler at TUM '08