.............;..M7-----------------------''''';:................
..............N:--'---'''''''''''''''''''''-'!..................
..........;.-7'''-----'''''''''''''''''''-'-Q...................
..........;N-'-''''---''''---'''---'''---M".. ..................
.........:'--''--------------------------'--M; .................
.......;?'---''---------------------------'--'M.................
.......M'''''''--------------------------'''--:'C.;.............
......M'-------------------------------------'''''H;............
....'N'--------------------------------------''''':"............
..;;$''--------------------------------------'-'''-';?.;........
..;$;''-------------------------------------->'--''-''M.........
...>-----------------------------------------'->>-'''--O. ......
..7-------------------------------------------'':..'!H':>;......
.;>------------------------------------------'----Q....."O......
;M'------------------------------------------'''-''..... .:- ...
.O-'--------------------------------------------'-';............
"'''--------------------------------------------'--'';..........
M''----------------------------------------------'-':'.;........
O-'----------------------------------------------'----?.........
'''-------------------------------'''--;-''-'---------;.........
'''---------------------------------'''N''''--------'-'N;.......
-''-------------------------------'-:''>;-''--------''''........
-'''------------------''-''';---'''-M-'':''N-----''-''''M.......
-'''----------------''-"''--C----''-HC-:.$-HC''''-'---'''.......
-'''-------------------N--''Q---''''7;---.-M;;'''-'--'-'-"......
-'''----------------':-7'--''!'-'-'-'.H-C:;QM?--'-'-?;''-M......
-'''-----------------;-'>'--'."'''''':;-MMMOM;;-"-'-O"''--......
-'''-----------------H-'-7'''H.''''--;;MM.MHM.M'H''--'M--'......
-'''----------------'---:7M-'M;C-''''.?QM M7?C:Q'H:'7;N--......
--''-----------------.$-;;.M-?;'N''-'.OMM..?.;$-!'.M'-..M'......
'-'----''''----'-'--';;'";:NM-;;;--'';!MM. :.'O'-'H.M'-.;:?.....
'-'----''-------:'''-;;?O-'.;'Q;;.'-:;;MMM$;.;7'>'!;.7H..;M.....
'-'----'--'-----''-':'-MMMHMMM!;;;!-O';MM7M. ''-''';;.'...M.....
;-''''-'''-----''N''->MM:.;;M M;;;'CM;;:7?M -.'''''...$...'.....
'-''--''-'?----'''>'-MMM ..;M ;';';.M;;'QM..M.'!'';7............
:-'--''-';H----'--!--MMM.. M ;;;;;';;;;;.Q':-"';;;............
:--'-'-N.'N----'-'QM-HMM$. M .;;;;;;;;;';-:777'>;;;. .........
:-'-'-';;;H--''--''HC7MMMO.$M. ;;;;;;;;;;-'-:>'!;;-.; ........
'---'''";;"''-'----M!.>M77MMM. ;;;;;;;;;;;:'--';;;.;.; ........
'-'-''-M';;--'-'-'-'M.??777M...;;;;;;;;;;;''''>...; ... ......
-'M-''-';';'''-'-"''M->M77N$..O;;;;;;;;;;;;;;!;;..;. ;.. ......
'"C-----;;'N----':>''Q...;;;O';';;;;;;;;;;C';.;:..; ; ......
':N-----'-'?'---''-:'';!OH>''-;';;;;;;;;;." .. .; . .; ......
Q.N----'''C.-M'-''''N-$:'----'''';;;;'.;N. .!. .. .. ......
.'O----''--'":''---'-''$'----'''';;;;...O.. . - : ......
;;'--------'$'N--''---!;C-::--''';;;;Q . ...;..........
.;'--------''''''------H------''';;;;$ . ..............
;;'--------'--'H'''----''''--'''';;;;$ .."..;..........
;;''---''''-'>--;----'--$$!'';'';''.!M ....";.;! ......
;>-'-----'--''H'!'-'''---->?!:?OCM'..: ;.;>HC;;'.......
;H-'---'-'--''-''M''M--'-C;;;;;;M;.?.. ..!...;;.;;7....;.
;>-'----H''''--'''M-M.''-'.;..."'..!..$ C.;;;;.;.?;Q...;;.
;'''-->';'-:-'-'';-:'..$''M;.....;.O'!NO;C;.:....M;.;.;;;C.;;;;.
;'-'-C;';''N:''-N-'N".;;M':;;."....;H;?.....'.....''.C;;'Q.;;;;.
N-H;;.;;;-'.;'-'QH.C;M...';>..?....;..$.!.....;.$.$--.-;;H.;;;;;
7;;;;;;;;'>;;-'-QQH.M.....;N.......;;.C.HQ;...;.';.';'-';...;;;;
';;;;;;;;--;;;--QQQQM........;....;C.';;NHQH;7MQ';.$'';;-;;;;;;;
;;;;;;;;;>;;;;;;QQQQQQMMMMMMNM;.;$;;''''';QQM.>'O.;$;'.;'..;;;;;
;;;;;;;;.;;;;;:QQQQQQQ$NH$QQQM..Q';'';'''.HQM.;;?';;;;.?HM..;;;;
;;;;;;;;;;;;;;MQHQQQQQQQQ$QHQM.$'''''''''"$$Q7;?;C;;;;.;.?..;;;;
;;;;;;;;;;;;;;NQQQQQQQQQQQQQQMN;;'''''';$;QMMMO;'';;''?. .;;;;;
;;;;;;;;;;;;;;HHQQQQQQQQQQQNM;''''''''';;;'M$- >;7;"H$';; M;;;;;
;;;;;;;;;;;;;;HQNNQQQQQQHMQQ;;''''';';'';'';M-..C.M; >.. ;;;;;;
;;;;;;;;;;;;;;HNQQQQQQQQQQQ:''''';'.Q';''''''.. ..O;;;;;
;;;;;;;;;;;;;;MQQQQQQQQQQQ$;''''''C;;''''''''.;. O;;;;;;
;;;;;;;;;;;;;'MQHQQQQQQQQQ;''''';H;';'''''''''';. ..M;;;;;;
;;;;;;;;;;;;;;7QHQQQQQQQQQ';''''O;''''''''''';;Q ; :.QH;.;;;;
..............N:--'---'''''''''''''''''''''-'!..................
..........;.-7'''-----'''''''''''''''''''-'-Q...................
..........;N-'-''''---''''---'''---'''---M".. ..................
.........:'--''--------------------------'--M; .................
.......;?'---''---------------------------'--'M.................
.......M'''''''--------------------------'''--:'C.;.............
......M'-------------------------------------'''''H;............
....'N'--------------------------------------''''':"............
..;;$''--------------------------------------'-'''-';?.;........
..;$;''-------------------------------------->'--''-''M.........
...>-----------------------------------------'->>-'''--O. ......
..7-------------------------------------------'':..'!H':>;......
.;>------------------------------------------'----Q....."O......
;M'------------------------------------------'''-''..... .:- ...
.O-'--------------------------------------------'-';............
"'''--------------------------------------------'--'';..........
M''----------------------------------------------'-':'.;........
O-'----------------------------------------------'----?.........
'''-------------------------------'''--;-''-'---------;.........
'''---------------------------------'''N''''--------'-'N;.......
-''-------------------------------'-:''>;-''--------''''........
-'''------------------''-''';---'''-M-'':''N-----''-''''M.......
-'''----------------''-"''--C----''-HC-:.$-HC''''-'---'''.......
-'''-------------------N--''Q---''''7;---.-M;;'''-'--'-'-"......
-'''----------------':-7'--''!'-'-'-'.H-C:;QM?--'-'-?;''-M......
-'''-----------------;-'>'--'."'''''':;-MMMOM;;-"-'-O"''--......
-'''-----------------H-'-7'''H.''''--;;MM.MHM.M'H''--'M--'......
-'''----------------'---:7M-'M;C-''''.?QM M7?C:Q'H:'7;N--......
--''-----------------.$-;;.M-?;'N''-'.OMM..?.;$-!'.M'-..M'......
'-'----''''----'-'--';;'";:NM-;;;--'';!MM. :.'O'-'H.M'-.;:?.....
'-'----''-------:'''-;;?O-'.;'Q;;.'-:;;MMM$;.;7'>'!;.7H..;M.....
'-'----'--'-----''-':'-MMMHMMM!;;;!-O';MM7M. ''-''';;.'...M.....
;-''''-'''-----''N''->MM:.;;M M;;;'CM;;:7?M -.'''''...$...'.....
'-''--''-'?----'''>'-MMM ..;M ;';';.M;;'QM..M.'!'';7............
:-'--''-';H----'--!--MMM.. M ;;;;;';;;;;.Q':-"';;;............
:--'-'-N.'N----'-'QM-HMM$. M .;;;;;;;;;';-:777'>;;;. .........
:-'-'-';;;H--''--''HC7MMMO.$M. ;;;;;;;;;;-'-:>'!;;-.; ........
'---'''";;"''-'----M!.>M77MMM. ;;;;;;;;;;;:'--';;;.;.; ........
'-'-''-M';;--'-'-'-'M.??777M...;;;;;;;;;;;''''>...; ... ......
-'M-''-';';'''-'-"''M->M77N$..O;;;;;;;;;;;;;;!;;..;. ;.. ......
'"C-----;;'N----':>''Q...;;;O';';;;;;;;;;;C';.;:..; ; ......
':N-----'-'?'---''-:'';!OH>''-;';;;;;;;;;." .. .; . .; ......
Q.N----'''C.-M'-''''N-$:'----'''';;;;'.;N. .!. .. .. ......
.'O----''--'":''---'-''$'----'''';;;;...O.. . - : ......
;;'--------'$'N--''---!;C-::--''';;;;Q . ...;..........
.;'--------''''''------H------''';;;;$ . ..............
;;'--------'--'H'''----''''--'''';;;;$ .."..;..........
;;''---''''-'>--;----'--$$!'';'';''.!M ....";.;! ......
;>-'-----'--''H'!'-'''---->?!:?OCM'..: ;.;>HC;;'.......
;H-'---'-'--''-''M''M--'-C;;;;;;M;.?.. ..!...;;.;;7....;.
;>-'----H''''--'''M-M.''-'.;..."'..!..$ C.;;;;.;.?;Q...;;.
;'''-->';'-:-'-'';-:'..$''M;.....;.O'!NO;C;.:....M;.;.;;;C.;;;;.
;'-'-C;';''N:''-N-'N".;;M':;;."....;H;?.....'.....''.C;;'Q.;;;;.
N-H;;.;;;-'.;'-'QH.C;M...';>..?....;..$.!.....;.$.$--.-;;H.;;;;;
7;;;;;;;;'>;;-'-QQH.M.....;N.......;;.C.HQ;...;.';.';'-';...;;;;
';;;;;;;;--;;;--QQQQM........;....;C.';;NHQH;7MQ';.$'';;-;;;;;;;
;;;;;;;;;>;;;;;;QQQQQQMMMMMMNM;.;$;;''''';QQM.>'O.;$;'.;'..;;;;;
;;;;;;;;.;;;;;:QQQQQQQ$NH$QQQM..Q';'';'''.HQM.;;?';;;;.?HM..;;;;
;;;;;;;;;;;;;;MQHQQQQQQQQ$QHQM.$'''''''''"$$Q7;?;C;;;;.;.?..;;;;
;;;;;;;;;;;;;;NQQQQQQQQQQQQQQMN;;'''''';$;QMMMO;'';;''?. .;;;;;
;;;;;;;;;;;;;;HHQQQQQQQQQQQNM;''''''''';;;'M$- >;7;"H$';; M;;;;;
;;;;;;;;;;;;;;HQNNQQQQQQHMQQ;;''''';';'';'';M-..C.M; >.. ;;;;;;
;;;;;;;;;;;;;;HNQQQQQQQQQQQ:''''';'.Q';''''''.. ..O;;;;;
;;;;;;;;;;;;;;MQQQQQQQQQQQ$;''''''C;;''''''''.;. O;;;;;;
;;;;;;;;;;;;;'MQHQQQQQQQQQ;''''';H;';'''''''''';. ..M;;;;;;
;;;;;;;;;;;;;;7QHQQQQQQQQQ';''''O;''''''''''';;Q ; :.QH;.;;;;