;.......HQNHNMMNNNNMNNMMMMMMMMMMMMMMHNHO.....
;....QHMHNMHMMMMMMNMMMMMMMMMMMMMMMMMMMNHO....
;...HNMMMNMMMMMMNNMM$MMNMMMMMMMMMMMMMMMN$;;;;
;..!$NNNMMMN$MMNHNONHHQHQQMHHHNMNMMMMMMMNM";;
;.;QNNMMQHMMMNNQQMMMMMHM$M$$HNHHNQNMMMMMMN$:'
;.$MNMMNMMMMHNQMMMMMMHMMN$NQ$NHNHMMNHHNMMNMQ:
;;NNNMMMNNMNNMMMMNMNMHHO?C?!!$NNNN$$QQQMMQN!'
;.HHNMNHMNMMMMHM??>::"::---:>!>?7?$$OOC?HO$;;
;;HHMNMNHNMMMH>>::::"!?COQO?"::::!""!7HNNM$;;
;"QNNNHQNMMMH7"--::""""!""7??77"::"7?7CQM-;;;
;;QHNOHHNHNHQ":---'--::?$:>!>"--"?O$OCC$H;;;.
;;$HQNCOQHHN$!:::--'----:""--:--!>H>>$N';;;..
;.>Q$M::"C$N>"::::::::":--------:""""";;;;;..
;.HOHMMMHOOQ"":::::-----::":::--:":::";;;;;..
;.;$HMMMC7C!"":::::--:-::""-::--:"::";;..;...
;..QNNMH7!>"""::----------:::7>7?""!;;;.;.;;;
;;;$NHN$>"!>"":::::----::---""">!"";;;;;;;;;.
';..;MM7!""!?!":::::::::"":"?OHC!!;;;;;;;;;;.
';;?MMQ>":"">??>"":::::::">C77!!;;;;;;;;;;;;.
';NNM??>!""""!7?C7"::-:::::""!';;;;;;;;;;;;;.
NMNNN77>>!!:::!>7COC7!!"!!!>7M;;;;;;;;;;;;;..
MHNNN?7!!!!"::""!>C$HNNMMMMMMMMMMMN$;.;;;;;..
NNMMMM!:""!!""!>!7?$QHMMMMMMMMNMMMMMMMNN;;;;.
NMMMMMN---::":"!>!!!7O$QHMMMMMMMMMMMMMMMMMMNQ
MMMMMMM!-''--:-----::!!MMMMMMMMMMMMMNMMMMNMMN
MMNMNNMMH'---'----::::NMMMMMMMMMMMMMMNQNNMQQM
NMMNNMNMNMH--'------NMMMMMMMMMMMMMMMMMMMM>H$N
MNNNNNNNMMMM!'-'-'7MMMN;;H;;;';..H;.7;.-';;HM
CN!N-H>NOQH!H:-"-CNH?N"M"M7NQCN";"N>H$$N>N:N"
NNMNMMMMNNNNNNN'MMMMNMMNNMMMNMNMNMNMMMMMNMMMN