xxxxxxxxxx+:::.::::.::::::::..:::::::::::::::::++::::.....::.......:::+::..::.........:::.....:::...::::......::::::..:..... . ::::...:. .::...:.:.   .......:::::::......::::...::......:::.:. .....:...::+:::.......:......::::++:::::::::::::::::.:::::::::.::::::::+xx$x++++xxx     
     xxxxxx+++:::....:::::::....:.:::::::::+::::.::+::::.:::..:::..:. .:+:+:::::.........::::::..   ...::.....  .::+:...::....::.   .:..:.....::........   .::....::...:+::. ......::...   ..::::::.........::::::++: .::..:::..:::.:::::::.::::::::::::::..:..::::::::...::::++x$xxxxxx     
     x+xx+:::::::++xxxxx$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxxxxxxx+++xxxxxxxxxxxxxxxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxxxxxxxxxxxx+::::::::xxxxxx     
     xxx:::::+$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$&$&$$$$&$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&$&$$&&$$$&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$x+:::::+xxx$     
     x+:::++$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&$&&$$&$$$$&&$&&$$$$$$$$$$$$$$$&$$$$&&&$&&&&&&&&&&&&&&&&$&&&&&&&&&&$$$$&&$$&&&&&&&$&$&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$&&$$$$$&&$$$$$$$$$$$$&$+:::::xxx     
     x++::x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&$&&&$&$$$$$$$&$&&&&$$$$$$$$$$$$$&$$&&$&&&&$&&&&&&&&&&&&&&&$$$&&&&$&&&&$$&&&$$$&$&&&$$$$$$&&&&&&&&&&&&&$$$&&&&&&&&&&&&&&&$&&$&&$&$$$&$&&&$$$$$$&&&&&&&$&&$&$$$$&&&&&$&&$$$$&&$&&&$&&&&$$$$$&&&&&&$$$&$x:::++xx     
     x+:+x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$+:+&&&&&&&&&&&&&&&&&&&&&&&&$&&$&&&&$$&$&&$:.....x$&&&&$$&$$$&$&$$$&&&$&&&&&&&&&&&&&&&&&$$&x..$&$&$$&&&&&&&&$$$$$$+..++.+&&&+::::::::$x..+&&&&&&x:.....+$&$$&&$&&&$$&$&$&&$$$$$&$$$$$&&&&&&&&$&&$&$$$$$$$$$$$&$$&&$&&$$$$$$&&$&$$$$$$$$+:::+xx     
     +::+&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&:.:&&&&&&&&&&&&&&&&&&&&$&&&$$x:+&$&&&&&&+.:$&$x:$&$$&$$&&&$&&&&&&&$$&&&&&&&&&&&&&&&&&&&&$$$..$&&&&&&&&&&&&&&&&&&x..$&&&&&&&$..$$$$+.$&:.+&&&&&&$..+&$x..x$&$$&&$&&$$$+:x$$$$$$$$$$$&$$&$&$$&&&&&&&&&&$$$&$$$&$$&&&&&&&&&&&$$&&$&&$$$&$$+:::+x     
     +::+&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&:.:&&&&&&&$+:::x$&&$$x+::+x$x+.:$x$&$$$$:.:$&$$$&$+++$$$x+x&$&x+:x&$$+:::x$&$x++$x++$&$$+::..$&&$&$&&$$+::+x&&$x+.:xx&&&&&$$..$&&&&&&&:.+&&&&&&&..x&&$:.+&x+:..:x$$$x..+x$x++$+++$$$x:::+$$$$xxx$xxx$&&$$&&$&&&&$&$&$$$&$&&&&$$&&&&&$$$+:::+x     
     :+:+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&:.:&&&&&&:.:&&+..x&$..x&$.+xx+..xx&&$&&$x....x$$$$:.:&&$:..$$$x.:&$..+$&+..$&x...+..$x..x&$..$&&&&&&&:.:&&+..$$x+..xx&&&&&&$..:.:.:$&&:.+&&$&&&&..x$+...$&::$&$..x$xx..:x$+...+.:&+..$&x..+&&+..:x+..x$$$$&$$$$$$&$&$&$&&&$&&$$$&&$&$$$+:++:+     
     :::+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&:.:&&&&&+..&&&&+.:$x..:+$&&&&x.:&&$$&&$&$$$$:..:$$$..$$+...:$$..$&+.:&&&&:.+&x..&&&&x..$&&$..$&&&&&&:.:&&&&:..&&x.:&&&&&&&&$..$$&&&&&&:.+&&&&&&$..:xx$&&$$$&$+:..x&$$:.+&&x..$$$$x..$&$&x..$$+.+&$&+.:&$&$$&&$&&&&&&&&&&&&&$$$$$$$$$$$$+::::x     
     +::+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&:.:&&&&&+.:&&&&+.:$&$+:...+$&x.:&$$$$$$$$$$$$x..+$$:.x$.:$..$+.+&&:.:&&&&:.+&x..&&&&+.:&&$$..$&&$&&$:.+&&&&:..&&x.:&&&&&$&&$..$&&&&&&&:.+&&&&$&$..+&&&&$&$+..+x:.x&$$:.+$$x..&$$$x..&$$$x..$&+.+&&&+.:&$$$$$&$&&$&&&&$&$$&$$&&&&$&&&&&$+::++x     
     +::+&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&&:.:&&&&&x..$&&$..+&$$$$$$..$&+.:&$&&$$$$x+$$$+..$$$x...:&$:.:.+&&&+.:&&&$..$&x..&&&&x..$&&$..$&&$&$&+..$&&$..+&&x.:&&&&&&&$$..&&$&&$&&:.+&&&&&&$..+&$$$$$$..$$$:.x$$$:.+$$+.:$$$$$..x$$$:.:&$+.:&$$+.:&$$&&$$&$$$$$$$$&$&$$&&&&&&&&&$&$+:::+x     
     +::+&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&$:.......x+..::..x&$:..::.:$&&x..+&$$$$$$:.....:&$$$$+..$$$$:.:&$$&$:..:...x&&x..+&&$$+.......:$&$$$&&x..::..$&&&x..$&&&&&&&+........$$:.:$$$$$$$...$$$$$$$:......:$$$:.:$$+..+$$$$x..::..+&$$+.:$$$+..$$&&&$$&$&&$$&$$&&$&&&$&&$&&&&&&$+:::+x     
     :+:+&&&&&&&&&&&&&&&&&&&$&&$&&$&&&&&&&&&&&&&&&&&&&$$$$&&$$$$$$$$&&$$$$&$$$$$$$$$$$$$&$$$$$$$$&$$$$$$&$$$$$$$$$$$&&$$$$&&&$$$$$$$&&$$&&$$$$$$&$$$$$&&&&&&&&&&&&&&$$$&&&&&&$&$$$$$$$$$$$$$$&&$$$$$$$$$$&$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$$&&$$$$&&$$$$$$$$$$$$$$$$$$&&$&&$&&$&&&&&$:.:+:x     
     :+:+&&&&&&&&$&&$&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$$$$$$$$$$&&&$$$$&&&&&&&&&&&&&$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$&&&&&$+::::x     
     +::+&&&&&&&&&$&&&$&&$&&&$$&$$&$$&&&$&$&$&&&&&&&&&&$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$&&$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$&$$$$+:::+x     
     :::+&&&&&&&&&&&$&&$&&&$&&$$&$&$$$$&&&&&&&$&&$&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&$&$$$$$$+::::x     
     :::+&&&&&&&$&&&&&&$$$$$$$$$$$&$$&$$$$$&&$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xx$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   $$$$$$$$$$$$$$$$$$$$$$$$$$x::+x$$$$$$$$$$$$+  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxx$x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$$+::::x     
     :::+&&&$&&&$&&$&$&&$$&&$$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   $$$$$$$$$$$$$$$$$$$$$$$x  :$x :$$$$$$$$x .$+  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xx$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$$$$$$$$$$+::::x     
     +++x&&&&&$&&&&&&$$&$&$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$:  $$$x     $x      .x     $      x$.     +      $       +$+  x$$$  $$$$$x  $$  +        :     x$     x     :x$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+++++x     
     ++:+&&&&&$&$$$$&&$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xx$$$$x$$$$$$$$$$$$x$xx$$  x$xx  x+  x  x$+  +  x:  x  $$  $:  $x  $+x+:  $  $$$  +x  &$$$  +$$$$$x  $$  xx  x$  $xxx+  x  :xx$   +x$$x$$$$$$$$$$$x$$$$$$$$$$$$xx$xxxxxxxxx$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$$$$$$$$$$+::++x     
     :::+&&&&&&&$&&$$$&$$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxx$$xxxxx$$$$$xxxx$$xxxx  $$x   +$$$$      $   x$$$+  $x  $  $$. ::  $. ++  $$$:    $$$$x  x$$$$$   $+  $+  $x  x  +x  $x+   .xx    xxxx$$x$$$$$$$$xx$$x$$xxx$xxxxxx$xxxxxx$$$$$$$$$xxxxxxx$$$$$$$$$$$$$$$$$$$$$$+::::x     
     :::+&&$&&$$&$$&$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xx$$$x$xxxxxxxxxxxxxxx$$$$x            +     :xx      $  +$.  x      x      x  :$$x+  +$$x$$x:      $       $   $  +:     :      :     $$xxxxxx$$$$$$$$$$$$$$x$$$$$xxxxxxxxxx$xx$$$$xxxxxxxxx$xx$$$$$$$$$$$$$$$$$$$$$+::::x     
     :::+&&$$&$&&&$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$$$$$$$xxxxxxxxxxxxxx$$xxxx$$$x$$$$$$$x+x$$.  $x   $xx+x$$$x$$$x$$$$xx$+$$xx$$x$$x$$$xx. :$xxxxxxx$xx$$$$$x$$x$$$x$$xx$$$$$$x$$xx+x$xxx+x$$xxxxxxx$$$$$xx$$$$$$$$$$$$xxxxxxxxxxxxxxxxx$$xxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$+::::x     
     :::+&&&&$$&$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$xxxx$$$xxxxxxxxxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxxxx       $xx$$$$$$$$$$$$$$$xxxxxxx$xx$xxx$$x   $xxxxxxx$x$$xxxx$$$$$$$$$$$x$$$$$$xx$$x$$xxxxxxxxxxxx$$x$x$$x$$$$$$x$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$x$$$$$$$$$+::++x     
     :::+&&$&$$&$$&$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xx$$$x$$x$$xxxxxxxxxxxxx$xxxx$xxxxxxxxxxxxxxx$x$$$x$xxxxx$$xxx$$x$xxxxxxxxxxxxxxxxxxxxx$$$xxxxxxxxxxx$xxxx$$$xxx$$xx$$$$$$x$$$x$$$$xxxxxxxxxxxxx$xx$$$$$$$$$$$$$$$$$$xxxxxxxxxxxx$xxxx$xxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$+::::x     
     :::+&&$$&&$&$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$$xx$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$xxxxxxxxxx$xxxxx$x$xxxxxx$xxxxxx$xx$xx$xx$$$$x$$x$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$+::::x     
     :::+&&$$$$$$&$$$&&$$$$$$$$$$$$$$$$$$$$$$$x$$$$$$$xxxxx$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$xxxxxxx$$xx$$x$xxxxxxxxxx$xxxx$x$$xxx$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+++xxxxxxxxxx$$$xxxx$$$$$$$$$$$+:::+x     
     :::+&&$&$$&$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxx$xxxxx$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxxxxxxxxxxxx$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxx$$xxxxx$$$$$$$$$$+::::x     
     :::+$&$$$$$$$$&$$$$$$$$$$$$$$$$$$$$$$$$x$$$$$$$$xx$x$$xxxxxxxx$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++xxx++++++++++++++++++++++++++++++x+++x+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$+::::x     
     :::+$&$$&&$&&$$$$$$$$$$$$$$$$$$$$$$$$xx$$$x$$$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+++xxx++++++xx+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++xxx++x+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+++xxxxxxxxxxxxxxxx$$$$$$$$$$$$$$+::::x     
     :::+&$$&$$$$&$$$$$$$$$$$$$$$$$$$$$$x$$$$$$$$xxxxx$xxxxxxxxxxxxxxxxxxxx+xx+++++xx+++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++xx++xx+xx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++xx+xxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$+::::x     
     :::+&&$$$$$$$&&$&$$$$$$$$$$$$$$$$$$x$$$x$xxxx$$xxxxxxxxxxxxxxxxxxx++++++++++++++++++++++::+++:::::::::::::::::::.::.................................:.::::::::::::::::::::+++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxx+++++++xxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$+::::x     
     :::+$&&$&&$$$$$$$$$$$$$$$$$$$$$$x$$$$x$xxxxxxxxxxxxxxxxxxxxx++++++++++++++++::::::::::::::::::::::::.................                            . .................::.:::::::::::::::::::::+::+++:::++++++++++++xxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$+:+::x     
     :::+$$$$&$$$$$$$$$$$$$$$$$$$$$$$$xx$xx$$$$x$xxxxxxxxxxxxxxx++++++++++:::::::::::::::...................                                                             ......................:::::..::::::::+:++++++++++++++xx++++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$+:+::x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++:::::::::::.............                                                                                              .....  ..........::::::::+++++++++++++++++x+++xxxxxxxx+++++++xxxxxxxxx$x$$$$$$$$$$$$$$$$+::+:x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxx+++++++++:::::........                                                                                                                        .... ...:::::+++++++++++++++xxxxxxxxxxxx+++++xxxxxxxxxxx$$$$$$$$$$$$$$$$$+.::.+     
     .::+$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxx+xxx+xx+++++++++++++++:::::::.....                                                                                                                             .+x+  .....::::+++++++++++xxxxxxxxxx+++xxxxxx++xxxxxxx$$$$$$$$$$$$$$$$$$$+::.:x     
     :..+&&$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxx+++x+++x++++++++++::::.....                                                                                                                           :++x$&&$+      ....:::::++++++++xxxxxxxxxxxxxxxxxxx+xxxxxxx$$$$$$$$$$$$$$$$$$$$+...:x     
     :+:+$&$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxx+++xxx+++++++::::::....                                                                                                                          :+$&&&&&&$:        ....::::+++++++xxxxxxxxxxxxxxxx+++xxxxxx$$$$$$$$$$$$$$$$$$$$$$$+::::x     
     +::+$$&$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxx+++++++xx+++++++:::::...                                                                                                                      .:+++x&&&&&&&&$+.           ....:::++++++++xxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$+:::+x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxx++xx++++++++:::::...                                                                                                                   +$$&&&&&&&&&&&$x+                 ...:::+++++++xxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$$$$+.::+x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$$x$xxxxxxxxxxxx++++++++:::....                                                                                                              ...:x&&&&&&&&&&&$x+                      ..::::+++++xxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$$$$$+::.:x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxx++++++++:::...                                                                                                    .:+++++$&&&&&&&&&&&&&$xx+.                           ..:::++++xxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$$$+::.:x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxx+++x++++++:::...                                                                                          .:+xxx$$&&&&&&&&&&&&&&&&&&$x:                                  ..:::++++++xxxxxxxxxxxxxxxxxxxxx$x$$x$$$$$$$$$$$$$$$$$$$$+::::x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxx++x++++::::..                                                                                  ...:+x$&&&&&&&&&&&&&&&&&&&&&&&$x+.                                      ..::::+++x+xxxxxxxxxxxxxxxxxxx$$$xx$$$$$$$$$$$$$$$$$$$$$$+::::x     
     +::+$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxxxxxxx++xx++++:::...                 .x&&+                                      ::::... .++x+++++x&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$x.                                            ...:::++++xxxxxxxxxxxxxxxxx$$$$x$$$$$$$$$$xxx$$$$$$$$$$$$+::::x     
     :::+$$$$$$$$$$$$$$$$$$$xxxxxxx$$$xxxxxxxxxxxx++++++::::...               :&&&&&&+                        .+xx$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$::$x+:                                                   ..:::+++++xxxxxxxxxxxxxx$$$$x$$$$$$xx$$$$$$$$$$$$$$$$$$$$+::::x     
     +::+$$$$$$$$$$$$$$$$$$$$xx$$$$$xxxxxxxxxxxxxxx++++++:::...             :$&&&&&&&&x          .:++xxx$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x$x:::.                                                           ..:::++++xxxxxxxxxxxxxxxxx$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+:::+x     
     :::+$$$$$$$$$$$$$$$$$$$$x$$$$$$$$$$$xxxxxxxxxxxxx++++:::...           x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$x$x++:.                                                                 ...:::+++xxxxxxxxxxxxxxxxx$$$$x$$$$$$$$$$$$$$$$$$$$$$$$$$$+:::+x     
     :::+$$$$$$$$$$$$$$$$$xxxxxx$$$$$$$$xxxxxxxxxxxxxx++++:::...           $&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$x++:                                                                                ..:::++++xxxxxxxxxxxxxxxx$xxx$$$$$$$$$$$$$$$xx$$$$$$$$$$$$+::::x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxx++++++x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$x+:.                                                                                           ..::::+++++xxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$$$$xxx$$$$$$$$$$$+::++x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxx:+$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$x+:.                                                                                                   ...:::+++++xxxxxxxxxxxxxx$xxx$xxxxx$x$$$$$$$$xxxx$$$$$$$$$$$+::++x     
     :+:+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxx$xxxxxxxxxxx+$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$xx:                                                                                                              ...:::++++++xxxxxxxxxxxxxxx$$xxx$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+::++x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxx+x$$$$$&&&&&&&&&$$$$xx$&&&&&&&&&&&&&&$x:                                                                                                                    ....::::++++++xxxxxxxxxxxxx$xxxxxxxx$$$$$x   .:$$$$$$$$$$$$$$$$+:::.x     
     ..:+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxx++++++::...        +&&&&&&&&&&$.                                                                                                                       ...:::::+++++++++xxxxxxx+xxxxxxxxxxxx$$$+        .$$$$$$$$$$$$$$+:...+     
     ...+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$xxxxxxxxx++++++::::....      :&&&&&&&&&x                                                                                                                     ....::.  +   xx    +xxxx+   xxx   .  $$xxxx       .  .x$$$$$$$$$$$$+:...+     
     :..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxx++++::::::....    .$&&&&&&x.                                                                                                                  ....::::+++++.  xxxx  +xxx   xxxxxxxx  xxxx$$     . ... .+$$$$$$$$$$$$+:..:x     
     :.:+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$$$xxxxxxxxxxxx+++++++::::...... :$&&&&x.                                                                                                            .........:::::++++++  :xxxx  +xx:      .xxx  $$xx$xx.   .:+x.   x$$$$$$$$$$$$+::.:x     
     :.:+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxx$xxxxxx$xxxxxxxxxxxx+++++++:::::.....$&&$:                                                                                             ....................:::::::+++++++.  $xxxxx  +xx. +xx+  xx  .xxxx$$xx  .  :: .  $$$$$$$$$$$$$+:..:x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x$$$$$$xxxxxxxxxxxxxxxxxxx++xx$$$$$$x+++x$&$+...............            .  ..            .    ..  .        .  . ...          .....................:..:.:::::::::::+::+++++++      xxxx  :xxx      xxx  xxxx$xx$xxx.     .$$$$$$$$$$$$$$$+:::+x     
     ++:+$$$$$$$$$$$$$$$$$$$$$$$$$$x$$x$xx$$$$$$$xxxxxxxxxxxxxxxxx$$$$$$xxxx$$&&$&&&$x::::::....:.........................................................................::.:.....::::.::::::::::::::::+++++++++++x++xxxx$$xxxxxx$xxxxx++$$xxxx$xxxxxxxxxx$xx$$$$$$$$$$$$x$$$xx$$+::++x     
     .::+$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxx$xxxxx$$$x$$xxxxxxxxxxxx+xxxxx++x+++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.....::::::::::::::::::::::::::::+++:::::::::++++++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxx$xxxx$$$x$x$$$xxx$$$$$$$$$$$$xxxxxx$$+.::.+     
     ...+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xx$xx$xxx$$$$$$xxxxxxxxxxxxxxxx+++++++++++++++++++++++++++:++:::::::::::::::::::++++++++++++++++++++++++:::::::::::.:::::::::+++:::::::::::::::::+++::+++++++++++++++++xx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$xxxxxxx$$$$$$xxxxxxxxxxxx+....+     
     :..+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxxxxxxx++xxx+x+xx++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++::::::::::::::::::+++::::::+:::+++++++:::++::++++++++++++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$xxxxxxxxx$$$xxxxxxxxxxxx$+:...x     
     :::+$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxxxxxxxxxxxxxxxxxxxxxx+x++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++xx+++++++++++++:+++:::::::::::::+++++++::+:::::++:+++++++::++++++:+++++++++xx++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$+::::x     
     :::+$$xxxxxxxxxxxxxxxx++++++++++++++++++++++++:++:::::::::::::::::++::::::::::::++::::::::::::::::::::::::+:::::+++:++++::++++++++:::::::::::::::...::::::::::...::.::::::::::::::::.::::.::::::::::::::::::::::::::+++::+++++++:++++++::++++:+++++++++++++++++++++++++xxxxx$+::::x     
     :::+$$xx+++++++++++++++:::::::::::::::::::::::...............................................................................................   ..........   .   .   ..........   .......    .. ............................................:::::.::::::::::::::::::+++++++x$+::::x     
     +::+xx++:::::::::..............                                                                                                                                                                                                                     .................::::::+$+::::x     
     ::::xx.......                                                                                                                                                                                                                                                        ......:$+::::x     
     ::::+x                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     +:::++                                                                                                                                                                                                                                                                      x+:.:+x     
     ::::++                                                                                                                                    x+                                                                                                                                $+::::+     
     .:::++                                                                                                       :&+     .   .                $x             x$x+x     xx$                                                                                                     .x+::..x     
     ...:++                                                                                                       $ $.  $&&&x&&&$.&x:$.   $x$& $x  &+         xx +x&   x$x$                                                                                                     .x+:...x     
     ::::++                                                                                                      $  :&   +x   $      +$  $     $$$.    .      +x$x+  xx$.x$                                                                                                     .x+.:::x     
     ::::++                                                                                                     x+   x:  +x   $   $:  $ .$     $xx$          x$x  x$ .xxxx$xx                                                                                                    $+::::x     
     +:::++                                                                                                     $     $. +$   $. .&++$&  xx .. $x  $$ :+     .x: +x$.    x$                                                                                                      x+.::+x     
     ::::++                                                                                                                                                                                                                                                                     .x+::::x     
     ::::++                                                                                                                                                                                                                                                                     .x+::.:x     
     ::::++                                                                                                                                                                                                                                                                     .x+::::+     
     ::::++                             $$$$$$$$$$$$$$$$$&$$$&&&&xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$$$$xxxxx++++++::::::..                             .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ++::++                                                                                                                                                                                                                                                                      $+::++x     
     ::::++                                                                                                                                                                                                                                                                      $+::::x     
     ::::++                                                                                                                                                                                                                                                                     .x+::++x     
     ::::++                                                                                                                                                                                                                                                                      $+::::x     
     ::::++                                                                                                                                                                                                                                                                      $+.:::x     
     ::::++                                 .:+:.                                                                                                                                                                                                                               .x+::++x     
     ::::++                          .........:+:..::.                          ...  :::x                                                                                                                                                                                       .x+::++x     
     :+::++                        .:...x&&&&&&&&&&x:.  .                   .:.:xx+.+x+.$:                      ++      :.:++:.$                                                                                              ..                   &:                            $+::++x     
     .:::++                     .x:.+$$::$$xxx&&&&&&&&&$:::.               :..$:    : :.x:::+   :..::.  ::..:x::.::+    :.x      ::..:: :::+::x::+:::+::::                                                                  &+  $$                 &             $$              $+::..+     
     ...:++                   .+..+&&&$::::+$x:+x$&&&&&&&x.                +.xx       :.+xx.:$::.x$x.:x+.+&$:$xx.:$$    :.::::x::.x$x::xx..+++$..+$:.:xx.:x                                                                 &. :x  .x::&.  &+x$x  :$  $x        ++              .x+:...+     
     ....++                   . +&&&$x::xx+++xxxx::x$$&&&&&+  .            +.$:  .:.++:.$. :.$+.x$  +.xx:..:+: ..++     :.x+:::+.x$  +.+$.:$  ...$ :.x+:.:&                                                                :$ &.      :&  .+   $  &&&           $$              .x+:..:x     
     :.::++                 :..$&&&$x:.::++xxxx+:..:xx$$&&&&$              +..x   +.++:.$. :.$x.+x ::.$::.++.++:.++     :.x    :.+$ ::.$x.:$  ..:$ :.x:..:&                                                                x   &.  $  :$  &   x.  & $$          :&              .x+::.:x     
     :.::++                 :.x&&$$x+.:.   .$   .++.+.::x&&x$+..            ::..:::.x+:.+x :.x++..:.:$$:.::.:$...:x     :.+.    +..:.:$x+.:$  ...$.:.+x:..&                                                                &    $++&++$+  $   &  :$  +$     $++x:               .$+::.:x     
     :.::++                 .:&&$x+:::.+x$$x.+x$xx:. x$:x$$xx$+:.             .+xxx+:  ++   +:  .x$$x   +$$$+   +x.     .$x      .x$$x   :+:   :+:  ++  .+:                                                                                                                     .x+::.:x     
     +:::++                 .$&$$x:..  : .x&&$x.   ::$+++.+x&&x.:                                                                                                                                                                                                               .x+:::+x     
     ::::++               : .$&$x:.     +         +:++::::+&&&$...                                                                                                                                                                                                              .x+.:::x     
     .:::++               .::$&$x:     .x$.    .$...:.: :+$&&&&. .             .                                                             ::        :x .+   :                                                                                                                 x+:::.+     
     ...:++                 :$$$x:+xxxxxx$$$xx$$$$$$$$x.++x&&&$. .            ..  &    x$   +x                                        $+  :  &      .  $  $x   $                                                                                                                 $+....+     
     :..:++                :.+&$x+.      xx+$$$$:.:. ..+xx$&&&+.              $   x   xx&   :  .++x  +x:+x  $$:+$.  :++$.  $+:x+      &:    .&  x: xx  $  &   .$                                                                                                                 x+...:x     
     ::::++               . ::$&$x+.      ..+xx$.   :.+xx$&&&$.:             $+   :. x  & .+  x+  xx    .x  &   $+ &   :x  &   $       :&$  x$x.   $  :. .&   $x                                                                                                                .$+::::x     
     ::::++                .. :$&$x+..  .:.  .+xx. .++xx$&&&$. :.            &:    +x   &+.   &      $  +  :&   & +$   &. :.  :.        :$  $ xx   $  &  +    x                                                                                                                 .$+::::x     
     +:::+x                   ..x&$x+:.:+++  .+xxx::+x$$$&&x..               $+    x    &:    x$+x  .$x+&  x$x:    $xx+   $   $     x$xx    $  +$ +: :$  $   x                                                                                                                  .$+::::x     
     ++::xx                    :.x$$$x+x++:::++xxx++xx$&&&x ..                                             $                                                                                                                                                                    .$+::::x     
     ::::++                     ::+x$$$$$x+xxxx$$xx$$&&&+                                                  :                                                                                                                                                                    .$+::::x     
     ::::++                     .  +::+$&&&&&&$$$$$$$:.                                                                                                                                                                                                                         .$+::::x     
     +:::++                        ..:::+::+xxxx+::++.:.                                                                           .+             :    :xxx      .:                                                +xx                                  +: ::                   .$+:::+x     
     ::::++                           ..  .:.::::   ..                      &  .&                                     .            :&             $   $           $                                              +x                                     $+ :x                    x+::::x     
     ::::++                                                                 &   $  $x$$  $+$. :$   xx  $x$x  +$+$$  x$&$. xxx$     :&x$$.  $+.$:  $  $&$x     :$+x$  $x:$   $+x$$:$$x  xx.x$   $x $$+  x+$:     $&&$ $$$$  :$+$:  x$x$$:x$$      $x:$x  $+ :x                    x+:::.+     
     .:::++                                                                 $$x:   $    &.  &: $   &  x.  $. :$   &   $  +$        :$   &     .$  $   &      :+   $     .x  $   &+  $.     &  :x   &  &:  $+     $+  $$   x+   &  x$  +x  +:        .$  $+ .x                   .$+::.:x     
     ....++                                                                 &      $    &.      & +   &.     :$   &   $     x&     :&   &  x:  &  $   &      x.   $  &x  x  $   &:  $. .x  &   $$:$.  &:         $+  $x   &:   $  xx  ++  +:     xx  $  $+ .x                   .x+...:x     
     :+::++                                                                 &      $.   $$  :   +&.   .$. :  :$   &   &  x: :x     :&   &  &::$&  $.  &      .&:+$$  &+:$$  $.  &x  $: $+ x&: +&x     +$  :      $x  $$    $  $x  x$  +$  ++     $+:$$  $x .$                   .x+::::x     
     ::::++                                                                                                                                                                                   $    $x                                                                            x+.:::x     
     +:::++                                                                                                                                                                                   $$:+$:                                                                             $+.::+x     
     ::::++                                                                                              $:                                 x$                                                                                              xx                                  .x+::::x     
     ::::++                                                                        ::   +                $:                                 +&                                                                         :   .                .x                                  .x+::.:x     
     ::::++                                                                .$::&  $&&$+$&$: $+:&   .$+x+ $: .$  x$:$.    :$::&   &x$$$   +$:$&     x$  &xx$$   .$+$x.&$$$  $+$:  &+.$x  +$+$x  $+$$   $+$x     &+.x: x$&$x$&&x $+.$$   $xx$ .x  &+                              .$+::::x     
     ::::++                                                                   :&+  xx   &     .x: .&     $$$    &x          :$x  &   x  $+  +&     +$  $:  :+ x$     &    &  :&:    x$  &x    $.  $: x$          .+$   $   +:     +&  $     .$$.                                .$+::::x     
     ::::++                                                                .x  $+  xx   &   $  .: :&     $::$      $:    .$  $x  &   x  $+  +$     +$  $:  .+ x$     &    &      $  .$     $x &         +$     &   $   $   +:  $.  &  &     .x $+                               .x+::::x     
     +:::++                                                                :$.+&x  x$   &:  &:x$+  $$ .  xx  $+.x .$     :$:x&$  &   x. +$:+&&     :$  x+  .$  $+ .  &:   +x..+  $::$$  +  $  .$. :  x  $:     &++$&   &   +$  $+:$&  :&:.. .$  x$                              .$+:::+x     
     +::.++                                                                                                                                                                                                                                                                      $+:::+x     
     ::::++                                                                                                                                                                                                                                                                      x+:::+x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                                                                                        $                                                                                                                                                             x+::+:x     
     ::::++                                                                 &. :&  :$  +x :$   &.  xx :+ :$  x&:x  $                                                                                                                                                             x+.::.+     
     .:::++                                                                 $   +: $    &. x  x$$  $  &:.:$. +:    $                                                                                                                                                            .$+::.:x     
     :...++                                                                 $   &  $.  .&   $:. xxx   &      +.                                                                                                                                                                 .x+...:x     
     :+::++                                                                 &x+     x$$x    x+   $     $$$x  ++    $                                                                                                                                                            .x+::::x     
     ::::++                                                                 $                                                                                                                                                                                                    x+.:::x     
     ::::++                                                                 x                                                                                                                                                                                                   .x+.:++x     
     ::::++                                                                                                                                                                                                                                                                     .x+::.:x     
     ::::++                                                                                                                                                                                                                                                                     .x+::.:x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ++::++                                                                                                                                                                                                                                                                     .x+::::x     
     ::::++                                  ..                                                                                                      ::x                                                                                                                        .$+:::+x     
     +:::++                             :.:$$&$$$+..                       +..xx+..++               +.+:            +.+x   +.:&                      :.x+                                                                                          &:                            $+:::+x     
     ::::++                           .:$$xxx$$x$$&$..                      :.$   +.:x::+::+::..:+  +:x:::+::::      +.+.  :.$+ ::::::   :::::.   :::..x+ ::::::   ::::::                                                   &x  $$                 $         ..  $$              $+:::+x     
     ::::++                          .:&$$xxx++xx$$&&.                      :.$   :..$+.:x:x:+$$:.x +.+:x.:x$:.x     ...x ..+x :.x&x..$::.x$x.:x...$$+.x+:.:$$:.x::.+$x..x                                                  &. :x  .$:+&.  &++$+  :$  $x        ++               x+::::x     
     ::::++                          :&&$xxx:  xx$&&&&:.                    :.$   +.:$:.$:  .+....x.:.+.+.+. :.+      :.+$:+$ ...x  +.+$.:x  :.$x.++ :.x$:.$  :.+$.:$  :.x+                                                :$.&       .&  .x   $  &$&.          $$              .$+:::+x     
     ::::++                         .x&&$$xx + +x$$&&&+.                    :.$  +.:&+:.$.  ..$x:.x.:.+.+.+. :.+       +.::&.  ..x  :.$$.:+ :..&x.+: :.xx:.x  :.x$..x  :.$+                                                x   &   $  :$  $   x.  & $x          :&              .x+::++x     
     ::::++                          +&&&$$x : x$$&&&&+                    :..+:.:+$: :.x+  ..::..x:+.+:+.+: :.+.      :..x:   +.:+:.+$::.:+..x$:..::..+x+..+:.:$:+.:+:.+$                                                 &    &+x&:+$+  $   &  :&  x$     $::$x               .x+::++x     
     ::::++                          :$&&&&$+. &&&&&&&.                     xx$$x:     ++    +$x+xx  ::  ++   x+        :$+      x$$$:   .$$$x    +$xxx$:  +$$$:    x$$x.                                                                                                        $+:::.x     
     .:::++                           .$&&&&x+:$&&&&x.                                                                                                                                                                                                                           $+:...+     
     ....++                            .+$&$:: +&&x.                                                                                                                                                                                                                            .x+:...+     
     ....++                              :.+:+:::..                           .                      $x                                      &+                                &                                                                                                .x+:..:x     
     :.::++                                                                 $      :x                +x                                      ++                                $                                                                                                .$+::.:x     
     :.::++                                                                 $x    :$&+  $:+$  x+ .$  :x  x+.x.    $$   &. .x:+$   x+.x+   x+.$+  +x.+x   x+.$+     $+  :$   &  $x+x$   x::x  :$+:xx                                                                             .x+::.:x     
     :.::++                                                                   +&+  +$  +:  +$     $  :x  &:        &  x: .$   :x xx   &+ $   ++  $   x$ $:   &      $  $&: :$  $   +. x$  +&  $   &                                                                             .$+::::x     
     ++::++                                                                    +$  :$  +.     x$  x  +x     &:     .x..  .$   ++ xx   &: &   ++ .$   xx &:   &      +:+  $.x   $   +. xx      $   &                                                                              $+.:++x     
     .:::++                                                                .$xx+   :$   &$+x  +$x+$+ :$ .x:x+       xx    :$+$x   xx+$.   $xxx$  x$+$:   xx+$.       &:  :$    $+  ++  $x+x.  $   &                                                                              x+:::.+     
     ...:++                                                                                                                                                                                                                                                                      x+:...+     
     :..:++                                                                                                                                                                                                                                                                      x+....+     
     :.::++                                                                    .$                                   .x                         .&                                                                                                                               .$+::::x     
     ::::++                                                                     $                                                           x   &                                                                                                                               .$+::::x     
     ::::++                                                                 x:  $  x  .x  $&: $&. &  ++  $   &  .&  +$  x&+ &.  &.  &+     :$.  &$.+&  :& .&      $: $x  &$. &   $  $.  &$.$&x $$ :x   x                                                                        .$+::::x     
     +:::+x                                                                ++   $   :xx$  $+  xx  +:   xx&:  $   &  :$  x.  :+  &   &x      $   $   &  $$x$&x     $x$$$  $   x: &$x$&$  $   $  .$  $: x+                                                                        .$+::::x     
     ::::+x                                                                ++   $  $   $  $+  xx  +: xx  x:  +xx+   :&  x.  :+  :xx+        $   $   &  $.         x      $   x: $x      $   $  .$  .&+x                                                                         .$+::::x     
     ::::++                                                                 x$$:$. x$$+$  xx  +x  :+ .$$x$x  $$&$:  :$  +x  .x  $$&$:       $   $.  $.  $$$$      +$$$x  $+  xx  x$$$:  $   $  .$   .x    $+                                                                    .$+::::x     
     ::::++                                                                                                 &    x+            $:   x$                                                              &                                                                           .$+::::x     
     :+::++                                                                                                  .::                .::.                                                              .                                                                             .$+::::x     
     :+::++                                                                                                                                                                                                                                                                     .$+::::x     
     :+::++                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ::::+x                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     ::::++                                  ...                                                                                                                                                                                                                                .x+::::x     
     :+::++                             :.+$&&&&$+.:                          ::                                         ..                                                                                                                                                     .$+::::x     
     ::::++                           .+$&$$x$&&&&&$..                      $                                          :+  :$                        ++                                                                                                     .  x$               .x+::::x     
     ++::++                          :+$+     x&&&&&&.                      &+    +$   &   +x .&+$:  .$+$:  &$$x&:     :+  $:   $+x$   :$+$$   &xx$ $&&$                                                                                              +        $+               .$+::::x     
     ::::++                         :+:    :x$&&&&&$&&:.                      :&x  $  x&&  $  &   $: &. .$+ $.  .$     :x  $$  &   :& +x   x: +&.    xx                                                                                             ..&+.      $$               .$+::::x     
     ::::++                         +   .$&&&&&&&&&&x++:                       +$  :$x+ $x$   &      &      $:  xx     :x   &  &   :& +x   $.    :$  x$                                                                                               $:        &:              .x+::::x     
     ::::++                         +   +$&&&&&&&&&$:.x.                   .$.+x    $+   &.   +$:.:  x$..+  $x+x.      x$:+$:  +$.:$   x+ xx  x. x+  x$                                                                                               :    .$:+$+               .x+::::x     
     ++::++                         :x:   .+$$&&$x. x$:                                                     $:                                                                                                                                                                  .$+::++x     
     ++++++                          .:$&&$$$$$$$&&&+:                                                      x:                                                                                                                                                                  .$+++++x     
     ::::++                            .+$&&&&&&&&$.                                                                                                                                                                                                                            .x+::::x     
     ::::++                              :.::::::.                                                                                                                                                                                                                              .$+::::x     
     ::::++                                                                                                                                                                                                                                                                     .$+::::x     
     +:::++                                                                                                                                                                                                                                                                     .x+:::+x     
     ::::++                                                                                                                                                                                                                                                                     .x+::::x     
     :+:.:+   ....                                                                                                                                                                                                                                                        ...   .$:.:+:x     
     +:::+x   ....                                                      ::.                           :                        ..                          :      ::     ..:..+      .+:.+                              ..                                                ....  .$+:::+x     
     +:::xx .. ...                                                     ..  .:                                                  +                          .+         :      .+      .+                                  :                                                 .. ....$+:::+x     
     +:::xx . .......                                                  . :x   .$  .  .x  .x  .   .:  +  .x:+..$  .  .x  :     .:    .+  .: .   .+  x      +         .+     :+       ..     ..   :  .$ .+   .  .$.x..x  .x                                            ....... .. .$+::++x     
     ::::xx ............ ..  .                                        .x ..   .:+++. x   .   :   :. .x  :    .:+++. ..        .     .:++:.  : :+  .:+++. .+       .x.     :.           .:  .: +.: ..  x    :  x    x   ::                                     .. ................$+::::x     
     :+::xx......::...........    .                                   :.   .  .      :   :   :   x  ..  +    :         .:     :     +        .:   .      :       ::      .x            :.  ..$  .:x   +   :+ .:   .+   x                                  .   ...........:.......$+::+:+     
     +:::x+.  .................  .   .                               :$.   $: :+xx   +x+ +  :xx:x$ .+  x+    :+xx. ++x+      x$$x$x ++xx    x.    :+xx. .x     xxx$$x   x+        :xx$:    x+   x     ++xx   $.   .xx::x                              ... .. ................  ..$+:::+x     
     +:::+x:.   .. .......................   ..                                         .:                                                                                                                                                   ..   ..........................   .+x+:::+x     
     x+:::++.. ..................................                                      .+.                                                                                                                                                ..................................   .x+:::+xx     
     ++::::xx:.:..................::::................                                                                                                                                                                               ................:::......................:x+:::++xx     
     :+::::++xx:...:............:::.:...................................                                 ..    ..                                                          ..                                      ...................................::::::...........:....:xx+:::::x$x     
      ++::::::+xx++::::.::::::::::::::::::::::::::::..::::::::::::::::::....... ...........................:::::.......  .......................................... ........:::::.::........................ ......:::::::::::::::::::..:::::::::::::::::::::::::::::::::++xx+:::::+xxxx     
       :x+::::::::++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxx+++xxxxxxxxxxxxxxx++x++xxx+xxxxxx+xxxxxxxxxxxx+xxxxxx++xxxxxxxxxxxxxxxxx++xxxxxxxxxxxxxxxxxx+xxxx++x++xxxxxxxxxxxxxx+++xxxxxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxxxxxxxx$$xxxxxxxxxxxx$$xx+++++::::::::+xxx$x     
       ..+x+++:::...::::::::..::..::::::::+++:::.::+:::..:::..:::..:. .:++::::::.........::.:::..   ...::.....  .::+:...::.. .::.   .:......::.:..::..:.   .::. .:::...:+::. ......::...   .:::::::.........::::::++:  ::..:::..:::.:::::::.:::+++::::::::.::..::::::::....:::++x$xxx$xx     
        ..:++xx+:::.::::.::::::::..:::::::::::::::::++::::.....::.......:::+::..::........:::......:::...::::......:..:::........ . :.::...:. ... .::::    .....:.:::::::......::::...::......:::... .....:...::+:::.......:....:.::::++:::::::::::::::::.:::::::::.::::::::+xxx$$$$xxxx     
         ......+xx$xx++++xxx+xxxxx++xx++xxxxxxx+xxxxxxxxxx+++xx+::++:::+++xxx++++++::++++:+xx+++++++xx+::+++x+++++++++::+++xx++::+x++++++++++++x+++::+x++x+::+xx+++++++++++++++++++::+xx++++++x+++:+++:::++++++xxx+++::+++:+xxx+++xxxxxxx+xxxxxxxxxx++xx++xxxxx+xxx++x+x$$xxx+:+$$$$$xxx