. 's~sDDDDDDhzzhhhDDDDDDhz==<~-''''-(..................''''
.  -s<DDDDDDDDzzzhDDDDDDDs+(~~--''''''..................''''
 . -szDBDDDDDDhzzzhDDDDhz=(~~~--'''''~'................'''''
  .<hDDBBDDDDDDhzzhDDDDh=<(~~~--''''~<...............'''''''
 .=shDDBBDDDDDDhzzhDDDhs<(((~~~--''-(-('............''''''''
 '+shDhDBBDDDDDhzzhDDhs<(((((~~--''~=zh=...........'''''''''
..(zDDshBBBhhDhhzzhhzs(-~(((((~~-'.(D<+~...........'''''''''
..~zhDhzDBBDhhDhzzzzs<--~(+=====('.<D=<''........'''''''''''
..'sDhhszDBBhzzzzzzz+----~~~<=ss=('~<~'''....'..''''''''''''
..'=DhhhhhDBDhzzzzz=~''''-(sDzsDz+~-'''''...''.'''''''''''''
.-(+zhDDDhhDDDhhhzz=-''-~=DDDs=z=<~~-''''...''''''''''''''''
.-<'(DDBBDhDDDDzhDz=(''-(=hzzs+<<~-~~''.'.'''''''''''''''''-
.....=BBBBDhhhD(~zhs+-''--~~(~~<<~-'-''.'.'''''''''''''''---
.....'zBBBDDDDD(~~++=(''''--~~~~(<--(''''.''''''''''''''----
...'-(hBBDDDDBD+-<=((<-'''--~~~~~<~+<''''''''''''''''''-----
.(shDhDDDzDDhhDz~<=(~~~-----~~~~-~((~'-''''''''''''''-------
.~shDDDDs<hBDhhD='--~--~~~~~(((~~~(((~--''''''''''''--------
..<hDBBh~(zBDhDDD+''-~~--~((((((~(((+++~.'''''''''''--------
''-sDh+-'~zDDDDDDDh<<+(---~~((((((+==+~'.'''''''''''--------
''''~'.''~sDDDhDDDBDhD<~--~~~(((((==<~-'.'''''''''''--------
'''...'.'<<zBhDDDDDDDBh~--~~~~(((((((~'''''''''''''------~--
''''''''~(-sDDDDDDDDDDB=~~~~~~(((((((-'.'''''''''''------~-~
''.''''.~~(zDDDDDDhDDDBB(((((((((((((-'''''''''''''---------
'''''''.~(+hDDDhDDhDDDDB+~(<<<(((((~~~-'''''''''''''--------
'''''...'=hhDhDhDDDDDDDBz~~(((((((~-~<-'''''-~(~--'''-------
...'....'sDhhhhhDDDhDDDBh~~((((~~~-'~<-(((<++<(~---''''-----
........'shhhhhDDDhhDDDBz~~((((~---'~+-(=(+=(----'-~-'''''--
........'shhhhhhDDhDDDBBs-~~(((~---'~+-'(<<<-''----~~-''''''
........'shhhhzDDDhDDBBh=~(~~(((~'''~=~'~(((''''---'--''''''
........'szhhzzDDDhDDB<..'(~(((((-''-=(-~~<(''''''''''''''''
........-<shzzhDDDDDB<.''''--~((((-'-<+~-~<<-'''''...'''''''
....... '~+hhhhDDDBBz-~~~(((~-~-((~-~<~''~+<(--''....'''''''
.........'<zhhhDBhss+(((~~~~(~~---~((~(~-(<<((---'...'''''''
.........'<zhhhz=<((((((-'~~~~~(~'-((-(+~<(~~~~---'''''-''''
....... .'<zhz+~(((((((~-'~((~~~(<--(((<(-~(~+~-''-''''-''''
......  .'(hs~--~(((~~~~--~(~~~~~(<~-((<<~<s(<=('''-'''-'.''
 ...     .'=~---~((~~----~((~~~~~~~(~((<(<(~(-<(''''-''-'.''
       ...'----~~~~~-''--~((((~~~~~~~~(<<~<('-''..'''-'-'...
         .-----~~~~--'''-((((((~~~~~~-~(<-(<+<-''.''''--''..
        .-----~(((~~--'-~((((((~~~------~-~<(-~-...'''---...
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBB-  -BBB  BB+    <BB( (BB~   -B= BB( (BBBBBBBBBB
BBBBBBBBBBBB< Ds sB<  <B+ BB~ BB   BB~ Bs s= BB   BBBBBBBBBB
BBBBBBBBBBBBBBBs zB'~'.B+ BB( Bz z sB- Bs z= Bz z sBBBBBBBBB
BBBBBBBBBBBBBB  .BB z< D+    <B('B -B~   'B= B('B -BBBBBBBBB
BBBBBBBBBBBBBBBD <+    <+ Bz sB     B~ BD <+ B     BBBBBBBBB
BBBBBBBBBBBB-.Dz (--++' + BB -D +++ <~ BD ~+ D +++ <BBBBBBBB
BBBBBBBBBBBBD.  'B zBBs = BB( <'BBB.'~    D+ <'BBB.'BBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB