(
                                                                                                                                   ^c^%Q^~?/^
                                                                                                                                   ?@%WAc/;  ^^^;
                                                                                                                                    ~oA@@@@A%yo7//^^^^/o?c^^                                                                                                              ^/(
                                                                                                                                        ;(CWBB@@@@@WQo?7/^;;/cC~^                                                                                           /cOOOc/       ^(/
                                                                                                                                              ^CMBX@@@@@@Q?/oX@//oy7^                                                                                   c%X@@@@@@@@M(     7O/
                                                                                                                                                &W/X@@@@@@@@@@@c/^^(oC??/                                                                            /%@@@@@@@@@@@@@WQyCo?(/~^
                                                                                                                                                ~X7&@@MBB%cCX@@@Wo/^   ;/((~^                                                                       A@@@@@@@@M@%c7yBQccc?(/////
                                                                                                                                                 /&CX@@@BA@@@@@@@@AC?/^^; ;^^^//~                                          ;;  ^;                  A@@@%&o(/^/@~^;;^(OX%7(OC/(//
                                                                                                                                                  c@@@@MMMBWWWXAQy&&&O7(//^^^^^^^^~^;                                 ^^^^^~^^^^~/^              /@@@BO7(/~^;OA;;;;^^^/y@@&OMB&?o/
                                                                                                                                           ;  ^/(CQ%%%%%QQQQyOo?(/~^^^^^^^^^^^~/~^^;;^^^^                       ;^//~^^^    ;^^^~/(?           /QB@B%yyABA/ ~@( ;;;^^~/(7%@WO?W@XC
                                                                                                                                        ^/??(/(?7COOOOOCOCOo7?(/^^;           ;^~((//^^;;^^^^^^         ;;;^^^^^^^^^^^^^;^~/////(?77~         ^@AX@A7?((cW@/A%^; ;;^^^~/?y@@MoQ@@Q
                                                                                                                                   ^//((/////(?c77o777ccc??(//~^^                 ^(7?///~^^^^~/(/^^^^^;;  ;;;^^^~//(c77c?(/^;  ;~(7/        o@@?MX7&7BXy7yMM^^^;;^^^^~/7%@@@@@B@X7
                                                                                                                              ;~///////////(?c777cc((//////~^^^;         ;;^;      ^^^^~(c7?(////~^^^^^^^~//((c7C&%XBMWo/~^        ^??^    ;y@@XQA?/(7@@@@MAQ/^^^^^^^~/(&W@@@@@@@C
                                                                                                                         //////~~~^~/////(?c?(((/////~~^^^^^^^^^;;;^^^^^^^      ^//^^;  ^~?OQQQQ&C77OOO&Q%AWWBM@@MWAyOc/~~          ^7cc&AM@@@@@X?/^^^CAyCQo7~^~/(////(CAM@@@@@@@/
                                                                                                                      /(c?//~^^^^^^/////((((////~~~~^^^^^^^^^^^^^^^^~~~^       ~//^^^;   ;^/cW@@@@@@@@@@@@@@@@AC7?((/c(/~~;         ^?CcM@@@@@@@O(/~^~(  ^//~^(&%M@MW%Q%W@@@@@@@C/
                                                                                                                  ^/?c(//~^^^^^^^^^//////////~~^^^^^^^^^^^^~~~~~~///^;       ;^^^^^^;;   ;;^^/&M@@@@@@@@@MAOc(/^^^^^^c?//~^;       ;~cy7o@@@@@@Wo?/~^^;  ^~^/?&%%MMBBM@@@@@@@@@o//^
                                                                                                             /?oCc?(//~^^^^^^^^^^^~~//////~~~^~~~~///////////////~          ^^^^^^;;    ; ;^^^^/coOO&&Oc/~^^^^     ^^oyoc?(/~^^;;^~/oy%O7&@@@@@%Cc//~~^^/(^/O?c?/X@@@MB@@@@@@MC/^^X;
                                                                                                           ^7o?(//~~^^^^^^^^^^^^^^~///////////////////(((???cc(^           ^^^^;         ; ;;^^^^^^  ;^^;;         ^~CXQ&OC7?(///(Oyy%Qo77X@@@@%O7(////(y((A?////CMMOA@@@@@@@%?~  7c
                                                                                                        ^(c?//~~^^^^^^^^^^^^^~~/////////////////((??c77oCOO&O/            ^~^;             ;;;;;^;                 ;^?BWXA%Q&C77QWWXAXQ77coQWM@%o7oyOC(/c%BQ?(((c7o&A@@@?/X@@y(^  /7
                                                                                                    ;^/(c(/~^^^^^^^^^^^^~~///////((((((((???c77ooCO&yQ%%AAX&/             ^^;              ;;;;;;;                  ^/OMMMBBW%W@@@@@@XC7c?c7c?QX7(CM@@@C7OQQ&CoC&Q%W@@B7  Q@@&(^  ^7^
                                                                                               ^^//((//~~~^^^~~/~////////((((??cc777ooCCOOO&&yQQQ%AXWWWBMMQ/              ^;           ;;;;;^^^;;;                  ^~/OW@@@@@@@@@@@%o7c(?cc//(A7(?AMM@@@@W%%%AXWB@@@(    7@@&(^  ^(c
                                                                                       ;~?Oco?///~^^^^^^^^~~///(/(((((?cc77oCOO&&yQQ%%%%%AAAAXXWWBMM@@@@@@%7/^^;         ;~^;;    ;;;;;;^^^^^^^^;;;            ;  ;^^^/((CQ%%XWWAQ&o7c((/(cc///&O((oXM@@@@@BBM@@@@@A/     /@@O/^  ;/Q
                                                                            ^//~~~((//(??(//~^^^;;;;^^^~//((c7oCCOO&&yyyQQ%%AXXXWWBBBBBMMMMM@@@@@@@@@@@@MB%o//~~~~~^^^;  ^//~^^^^^^^^^^^^^^~c?^^^^^^^^^;;;;;;;; ;;;^^^^((//(((((((((((///(?7c((c&&7cC%XWBBM@@@@@@B(        W@&(^;  ^O7
                                                                 ^^////~~~~~~~~~~~^^^^^^^^^^^^^^^^^//(?7oCO&QAXXWWWWWWWWBBMM@@@@@@@@@@@@@@@@MBWA%Q&Coc??((((/~~~~~~~~~~^^^/////~//////~~^^^^~~^^^^^^^^^^;;;;;;;;;;;;;^^//~~//(?77oo7c?((//?7CO&QX@@BWBM@@MO(/(((~          /@&(~^  ^(7
                                                            ;;~///~~^^^^^^;;;;   ;  ;;^^^^^~//((((?oOQAXWWBM@@@@@@@@@@@@@@@@@@@@@@@@BX%&C7(////~~~^^^^^^^^^~/~~~~~~~~~~~^^//////////////~~~~~~~//////~^^^^^^^^^^^^^^ ;^^/////(&%XXXX%&Cc(/?7O%B@@@@@@@@@@^                  My?/^  ^//
                                                         ~((/~~^^^^^;;;       ;;^^^^^^~///(cCy%%%AXWM@@@@@@@@@@@@@@@@@@MBWX%Q&Oo7?(//~~^^^^^^;;;;        ;^^~~~^^^~~~~^^^;~//////////////////////////~^^^^^^^^^^^^^^^ ;^///~^   ^~////?C7(c7&B@@@@@@@@@@@A/                 o&(~;  ^/o
                                                     ;~//~^^^^^;;;;;;;;^^^^^^^^^~//(7oOyQ%XBM@@@@@@@@@@@@@MMWXA%QyOC7c?(((/////~^^^^^^^;;;              ;^^^^^^^^^^^~~^^^^^~////////////////////(((///////~///~^^^^^^^^//~~~^        ^/(CooOQ@@@@@@@@@@@@@@A~               /o/^   ^/o/
                                                  ^/(/~^^^^^;^;^^^^^^^^^^^~~///(?o&QXWB@@@@@@@@@@@@MBWXAA%QyOCo7c?(///////~~^^^^^^^^^^;;^^^^^^;^;^;;;^^^^^^^^^^^^^~~~~^^;  ;~////~/~//////////(?c7oooCCo7?(((////~^^^^/c(/~~^         ;/c&&&Q@@@@@@@@@@@@@@@@y/             /o/^   ;/C7
                                          ;^~~//((/~^^^^^;^^^^^^~~~///////((?cCy%XBM@@@@@@@@@BXAA%%%Q&OCo7c??((/////~^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~~/////////(//^   ^//////////////(7OyQQ%%%%%QQQy&Ooc(///~^~(C7//~~;        ;~?%AQQ@@@@@@@@@@@@@@@@@@@W&?         /C(~   ;/o?
                                          ^//(//^^^^^^^^^^~~/////(((?c7oCO&Q%AWM@@@@@@MMBBBWAQyOCoc?(((//////////////~~~~~~~~~~~~~~~///////////~/~////////////((??c7777oo7/^^^^//////////(?CQAWM@@@@@@@@@MMBX%QOC7?(//7yC?(//~^      ^~/7W@AQ%@@@@@@@@@@@@@@@@@@@@@@%C/     /o/^  ;~(&7
          ^~(/((c?/;           ;~/(^   ^///~^^^^^^^^^^~////((??7COOyQ%AXWWBBM@@@@@@WXWBMMMBWAQO7c(((?7?(((((((???cc?(((////////////((((????((((((////((((?ccc77oCOOO&yyQQ%%y?///(???cc?ccO%WM@@@@@@@@@@@@@@@@MWX%QyOCCQ%AQOoc(/~~^^^~/(O%@Myo7CXM@@@@@@@@@@@@@@@@@@@@@@@MA7&%(^   ^(CAy
         ^/?c???((((//^        cC///////~^^^^^^^^~///((?7oO&yQ%AXWWBBMM@@@@@@@@@MBBMMM@@@@@MBWWXXWWWWWX%Q&OOO&yQQQQQyOOCo77c??cc77oCCOOOOOOOCCCCooo77ooCCOO&yyQQQ%AAXXXWWWWWWOcOyQ&CCC&QWMByoOQW@@@@@@@@@@@@@@@@@@MBBM@@@MBXAQOc((((?7QA@@O(/~^^^^~(7oCCO&&&&&O&&OCCoooCCo7?/^   ^/oQ@@BW@MA7//
        /c7o77o777c?(/////~~~~^/C?(/^^;^^^~~//(?7COO&Q%AXBMM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MMMMMBWWWXXA%QQ%%%AAAAXXXXXAAAAA%%%QQQ%%%AXXWWWBBBBBMMMM@@@@@@@MAWM@@BBMM&/^^~/?Cy%AAXAXAAAAAXB@@@@@@@@@@@@@@@MBWXA%QAWM@@y(/^;        ;;;;;^^^^^;;             ;~(O%W@@@@@@@@@@@@A~
       ~//CCO&&Ooo77cc?(/////^;;    ^^~/(?oOQAXWBMM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BAQ&Cc?coyX@@@@@@@@@@@@@@@@@@MMBBBMBBMMMMMMMMMMMBBBBWWWWWBBMMM@@@@@@@@@@@@@@@@@@@@@M@@@@BO;                       ^(cOAB@@@@@@@@@@@@@@@@@@@&7?(//~~~~^^^^^~~~^^^^^^^^^^^^^^^^^//(?oC%WWW&ccccccoXX@@@c
        (oQ%%%%%%QQy&&OOOO&yO7???((?cC&%XM@@@@MWAyOo?(//^  ;^^///((coCOy%XWBM@@@@@@@@@@@@@@W&oc(//^^;    ^(7QB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ByO7c????????cccc7ooCO&yyQyQQ%%%AAXXWM@@@@@@@@@@@@@@@@BQ&&&&&&&y&OCOO&QQyyOCo77777oCCCCOOQAWBM@@@Ac^
       /CyQBBBBMMM@@@@@@@@@@@@@@@@MMMMMBWAyCccc?cc7777ooCCCOOOO&&&&y&&&OOOOOOOOCCOCCCCCCCCCCCCCCCCCCCCCCOOOOOO&yQQQQAAXWWBBBMMMMMMM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BWWWWWWWXAA%QQyy&&&&&OOCCCCCOOOO&&&&&yQQ%XXWWBBMM@@@M@@MW%yOCOOyQQ%%%AXXXWWWBMMMMM@@@@@@@@@@B%7^
       ^&XBWX%yOCo?((////^^                                                                                                                                                                                                    ;;;;;;;                                   ;;