:::-'''''';;;;;;;;;;;;';;'''''''' -;.........
::--''';;;;;;;;';''>';'';'''''''';-.'"-''''''
::--''';;;;;;>OOC$O$OC:>'''''''''''.'........
::--'';;;;;COO$$$$$OO$OO?C''''';....;';....;'
::--'';;;;C$$$$$$$$O7$OCC?:';'-:.....';....;'
::--'';;;.OO$$$$$$OOOOO?C7">"-::.....-;. ...'
----'';;;:OCO$$$OO$$OOCC?7.7.:"'. ...-.77!""!
:---'';;;'OOO$OCCCCOOC??>". ':': ...-.??'.7.
----'';;;;;?>COOC??7C?!C":.. ;-'"....-7??C?7?
----'';;;;;.>?C7C77>>">>:.. .''"....'??CC??C
'----';;;;;.'???7??!!"-->.. ..'':...."?CCCC?C
'----';;;;;..'C????>!"::".. ..-'"''..7C?C7"CC
'----';;;.... !C???7>77";---'.--";'..7CCC7!CC
-----';;;..:'::7C?77?C:--":--';-;....?CCCOCCC
----'';;;..'.:"!O7!'"----:-":"'!!"--?COOOOCOC
'---'';;;.".-"":C77:":""-:"-;!7777"'?OOOOOOOC
''---';;-'...;:-C7:::""--.'--!???7>:'OO7CCCCC
''----';;;..:-':O":-"".-:-:"'>????7!-'O?CCCCC
------';:.'7;'-!C';""-'.:-!"?OCCC??>"-7?COCCO
------';-;.'.;->>O;-;::!:::::OCCC??7":77CCCOC
':!?--''";:';.:>>-:'"":>"!??$QQ$QQQ$OC?!>7?>?
::'"::--7"7;;':"':-:77!7?!!!OQQQQQQ$O>C!--C7C
-':-"":77"O7;.?'.:"!>7>"7?7?!HQQQQQ$C7?7COO??
:::-";>7?>$O"::::::777>>!!>">QQQQQ$$OCCCC?OOC
-"'";>77>?7!-''';;">!?!!OC!?>QQQQQ$QOOOCO?C?O
-';'!?77!Q"-'''-:.?777>>7?>?7NQQQ$$.C$COOOOCC
';;"???.Q>!::---':!!>>?>CC>7$HQQQ$$O-".":.---
'''???OQ>;';;-;'::!:"OC!7>C:OHHHQ$$..';;;;'';
'"??COQ:;...;.-":""'->"!>-7??HHQQQO.....;;...
O$$$".....'.'""""":-7!;C-!7:7HQHHQ.;-....;'..
""!7M!...-'"!!"::::>>>"!7"!>?HHQHQ;;:':::'-"-
."7?7"''.--::--:::--::>?"?"!>NHHQM>Q$OQQQ":O7
-.>C>;:;-':----:::::>!?-."!:!HQQQ!.;!>CC-$"OQ
!>.--"';";':-":""!!!C?7??">>7MHHQ'. .'''OOQQQ
!"';:';>''-.:-"!!!!!"$7C>7!!>HHHHQQC'QO$$:">?