WWWWWWWWWWWWWWWWWWWWWWWWW@WWxxW@W@@@@@@WWWWWWWWWWWMMMMMWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WW@@Wx#+#nW@@@@@@@W@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWWWWnMW@@WW@@@WWWWWWWWWWWWMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@WMz+#zx@@@@@W@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWWWMxMW@W@@@@@@@WWWWWWWWWWMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WW@WWWWWW@@@Wn#+#nW@@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWWWMxM@W@@@@@@@@@WWWWWWWWWMMMMWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WWWxz+#zM@@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWW@@@@xxM@@@@@@@@@@@@@WWWWWWWWWWWWMWWWWWWWWWWWWWWW@@@@@WWWWWWWWWWWWWWWWWWWWWW@@@@@@@WWW@@@@@@WWWMn###xW@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWzzzzzxWnzzzn@@@W#;::izWWWWWzzzzzWxzzzzxWWWWWWW@ni:::*n@WWWMzzzzx@zzzzzWWWWzzzzzzzMWW@Mzzzzx@WWWz##+#M@W@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWW@:   :MW.   i@@n.      ,MWWW`   `W+    +WWWWWWW;       :WW@#    *@.   `MWWW`      +@W@z    i@WW@:    n@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWW@#   .MM`   n@M`        ,WWW`   `W+    +WWWWWW+         i@@#    *@.   `MWWx`      *@W@z    i@@@@:    nW@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWM`  `Mn   .W@*    i;    zWW`   `W+    +WWWWWW,   `+.   ,@@#    *@.   `MW@z       :@W@z    i@@@@:    zW@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWW@,   n*   ;@@:   `Mn    *WW`   `W+    +WWWWWW`   :#*   `W@#    *@.   `MW@#   `   .@W@z    i@WW@;    zW@@@@W@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWW@*   +;   z@@,   `Mn    ;WW`   `W+    +WWWWWW`   :#*   `W@#    *@.   `MW@*   ,`  `WW@z    i@WW@;    zM@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWW@n   i.  `M@@,   `Mn    ;WW`   `W+    +WWWWWW`   .Mn+++#W@#    *@,   `MW@:   ;.   x@@z    i@WW@:    #xW@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWW`  ,`  :@@@,   `Mn    :WW`   `W+    +WWWWWW,    .z@@W@W@#    ,*`   `MW@,   +,   z@@z    i@WW@:    #zW@W@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWW@;      +@@@,   `Mn    :@W`   `W+    +WWWWWW#      ;M@WW@#          `MWW.   #:   +@@z    i@WW@:    #zMW@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWW@#      M@@@,   `Mn    :@W`   `W+    +WWWWWWW;      .z@W@#          `MWM`   xi   ;@@z    i@WW@;    ##nW@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWn`    ,@@@@,   `Mn    :@W`   `W+    +WWWWWWWW+`     `z@W#          `MWx   `Mi   :@@z    i@WW@;    z#xM@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWW@Mx,    i@@@@,   `Mn    :@W`   `W+    +WWWWWWWWWx,     .WW#    .;`   `M@z   `W+   .W@z    i@WW@;    z#xM@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWxn*    n@@@@,   `Mn    :@W`   `W+    +WWWWWWWWWWW*     x@#    +@,   `M@*   .M#   `M@z    i@W@@;    zznxW@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWnn#   `M@@@@,   `Mn    ;@W`   `W+    +WWWWWM,```:@i    #@#    *@.   `M@i    ``    x@z    i@WW@:    zznxx@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWzx#   `M@@@@,   `Mn    ;@W.   `W+    +WWMMxM.   :Mz    #@#    *@.   `M@:          #@z    i@WW@;    znnxnW@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWzx#   `M@WW@:   `Mn    i@W.   `W+    +Wxxz+z,   :xz    #@#    *@.   `MW.          +@z    iWMW@:    zxxxnW@W@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWMzM#   `M@@@@;    n+    +W@:   `x;    #M#*;i#;   .xi    zM#    *@.   `MW`   .z#    ;@z     ``;#;    ```#nM@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWxzW#   `M@W@@n    `    `MWW+    `    `x+:;ii+*    `    `xM#    *@.   `Mx    ,@M`   ,@z       ;#;       #xx@WW@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWnn@#   `M@@@W@i       `#WWWW;       `+*:;;;i*z:        *nx#    *@.   `Mz    :@W`   `@z       ;#;       #nnWW@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWzx@n::::M@@W@@@z:`  `:n@WWWWW#,`  `:z+;::;i*i*#*,` ``:#n#z#::::#@;::::Wz::::*@@;::::Mn:::::::*@*:::::::znzW@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWMzM@@@@@@@@@W@@W@@WMMW@WWWWWWWWWWxxMM+;;;;iiii;i*#zzznz##+#xWW@@WWW@@@@W@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@MMnz#M@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWxnW@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWMn;ii;iiiii;;;ii****++##nxMWWWWWWWWWWWWWWWWWWWWWW@@@@@@W@@W@@@@@@@@MxnzzM@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWnxW@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWMx*iiii*iii;iiiii***+++#zzxMMWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@MxnznxW@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWzx@@@@@@@@@W@@@@@WWWWWWWWWWWWWWWWWM#ii*ii**iiiiiiii***+#++#znxxMMWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@WxxnnnW@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWMzM@@@@@@@W@@@@@@@WWWWWWWWWWWWWWWWM#;;**+***iii;;iiii*+###++#znxMMWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@Mxnzzx@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWxzM@@@@@@@W@@@@@@@@WWWWWWWWWWWWWWW#;;i*+****i;i;i;i*#####zz##zznxxMMWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@WxnzznW@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWnnW@@@@@@@@@@@@@WW@WWWWWWWWWWWWWWx*;ii+++++++ii;;i*+++#zzzz#++#nnxMMWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@xnz#zW@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWzxW@@@@@@@@@@@@@@WWWWWWWWWWWWWWWMz*i*+++##+*++iiii*****#z#z#++#znxMWMWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@Mnz##x@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWW#MW@@@@@@@@@@@@@@@WWWWWWWWWWWWWWM#***#z##****++ii+++z#*+z##++++#nxMWMWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@Wxn#+nW@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWx#M@@@@@@@@@@@@@@@@@W@WWWWWWWWWWMxz+*+#n##+#z#****+****++###**++#zxxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@Wxxz+nW@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWnzW@@@@@@@@@@@@@@@@WW@WWWWWWWWWWMx#i*+#z#+*+*iii***iiii**+++**++#znxxMWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@@@@@MxnzzM@@@@@@@@@@@@@@@@@
WWWWWWWWW@WWWWWWWWWW#nW@@@@@@@@@@@@@@@@@@@WWWWWWWWWWM#ii*+zz+***iii****i*ii**++#**+##zznxMWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@@@@@@Mxnz#M@@@@@@@@@@@@@@@@@
WWWWWWWWW@WWWWWWWW@W#xW@@@@@@@@@@@@@@@@@WWWWWWWWWWMz+ii**+zn+****ii***+*i****+##+**#z#zznxMWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@Wxxn#xW@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWW@M+x@@@@@@@@@@@@@@@@@@WWWWWWWWWxn+*i+++#zx#+**iii***+*iii***#z#+*####zzxMWWWWWWWWWWWWWWWWWWWWWWWWW@WW@@WWW@@@@Mxn#zM@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWW@x#M@@@@@@@@@@@@@@@@@WWWWWWWMMxz#+**+#+z#n#+**i;i*ii+*ii***+zzn#++++#z#xMMWMWWW@@@WWWWWWWWWWWWWWWWWWWWWWWW@@@@Wxxn#n@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWW@zzWW@@@@@@@@@@@@@@@WWWWWWWWWxn#*ii+++#zzz+#***i++**##ii*++#zzxz+*+++zzzMMMMWxWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@WxnnzzxzxMW@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWW#nWW@@@@@@@@@@@@@@@@@WWWWWWMxz*iii*+++#z#+#++*i+nzznz*i+###zzxz#**#++zzxnxMMMWWW@WWWWWWWWWWWWWWWWWWWWWWWW@@@@WMxnnz+*#nnM@@@@@@@@@@
WWWWWWWWWWWWWWWWW@W+xW@@@@@@@@@@@@@@@@@WWWWWWMnz*;iii*#z++##++++*i*#z###*i++####zzn#i##+*#xxxxMWMWW@WWWWWWWWWWWWWWWWWWWW@@@W@@@@WMxnn+*i+nznM@@@@@@@@@
WWWWWWWWW@@@W@@@@@x+MWW@@@@@@@@@@@@@@@@@WWWWMn+**+***#z##+##++++ii****+*ii*++++#zznz++n#+*nxxMMxxWW@@WWWWWWWWWW@WWWWWWWWW@W@@@@WnMMxz***znnznM@@@@@@@@
WWWWWWWWW@@WW@WWWWn#M@W@@@@@@@@@@@@@@@@WWWWWMxz#zzz++#++++##+++*ii**********++++znz##*zz+*zMxxnxWWWW@@@WW@WWWWWWWWWWWWWW@@@W@@WxnMMn+i*#nn#nzxM@@@@@@@
WWWWWWWWWWWWW@W@@W#zWW@@@@@@@@@@@@@@@W@WWWWWWx#nnnz+++*++###+**i*+zxnzzz++***++++z#+#+zn#*nxxxxMWWWWWW@@@WWWWWWWWWWWWWW@@@@W@@Mz*+zn#+#zz###znx@@@@@@@
WWWWWWWWWW@WW@@@@W#nWW@@@@@@@@@@@@@@@W@WWWWWWznMxn#+++*#+###+**i*++##++#+#+*+###+#z+#+znz+nxxMMWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@M+*##+nz+*+#zznzxM@@@@@@
WWWWWWWWWW@@@@@@@MnxW@@@@@@@@@@@@@@WW@WWWWWWWnnMn#*+#**#+##++**i**+****++++++####+##z+#nn+znxMxMWWW@WWWWWWWWWWWWWWWWWWW@@@@@@@Mn+#+##+*+#zzzzzxx@@@@@@
WWWWWWWWWWWW@@@@WMxxWW@@@@@@@@@@@@@@@@WWWWWWMMnnn*++*+*#+#+++****i*+#z##**++*+#####zz#znxz###nnMWMWWW@WWWW@WWWWWWWWWW@@@@@@@@@MxMzzz+++#z####zxxW@@@@@
WWW@WWWWWWW@WWW@WMxx@@@@@@@@@@@@@@W@@@WWWWWWMMz+i*i*++*#+#+++**+*i**+++*i*+#+*#####nzzznxxnzzznnnnzxW@W@@WWW@WWWWWWWWWWW@@@@@@Wx@WW#*+##+++zzzxxW@@@@@
WWWWWWWWWWW@WW@@WMxM@@@@@@@@@@@@@WW@WWWWMxzxxz+**;;+#++#####+******++++*i*+++#####zx#n#znnnnnnnznnnxMW@@@WWWWWWWWWWWWW@@@@@@@@Wx@@Wn+##+++#zzznxM@@@@@
@@WWWWWWWWWWWWWWnnMW@@@@@@@@@@@@@WW@@WWxz++#++*i;;i****#z+##++******++****+++#z###nMzn##znnnnzzzznnnxWWWWWWWWWWWWWWWWWW@@@@@@@WnW@MMz###zzz##nnxM@@@@@
WWWW@W@@@W@@WxMWxxMWWMWW@@@@W@@@@@@WWxxnzzzz#+*iii+****#z+##+*+***i*******+++#zz##xMnnz#znnnznznzznznnMWW@@WWWWWWWWWWW@@@@@@@@WnW@Wn++###+++#nnxM@@@@@
W@WWWWW@@WMnn+inWMMWxMMnW@@@@@@@@@WMxxnnnnzz#+**+#++**#n####+****ii********++#zzzzxMnnz#nnxxxnnnnznnnzznMMWWWW@WWWWWW@@@@@@@@@WnM@Mnz#+**+##znxxM@@@@@
WWWWWWWWWx+#nnzxWWxzxMznW@@@@@@@@Mxxxnxnnnnzz#+*#z#z++zz##z#++***i**********+#zzzzxMnxnnznxxxxnnznnnnnnnzzxWWW@WWWWWW@@@@@@@@@Wxx@WMnz+*+znnnMxxM@@@@@
WWWWWWWWM+zxxz#zxxnMMnnMW@@@@@@Wxxxnnxnxxnnnn#++#nzn+znn#zz#++**************+##znznxnn#zzxxxxxxnnnnnnnnnnnzMWWWWWWWW@@@@@@@@@@@xn@@WznzzxMMWMMMxM@@@@@
WWWWWWWWzzxMz#++#MWWMMWW@@@@@Wxnnzznnnxxnnnnn#++#xnn+nn##zz#+++*********+****+#zzzzxz#+zznxxxxnnnnxxnnznnnnnMWWWWW@@W@@@@@@@@@@xnW@WWWWMMnnWWMMxM@@@@@
WWWWWW@x#nxnzz+++zW@@@@@@@@Mnz###zxxxMxxxnnxn#zzzxnz+nz##zz#+++*********+****+#zzzznn##zzzxxxMxnnnnnnnnnnxxxxWWWWWW@@@@@@WW@@@@xnW@WW@MnnzzxMMMxW@@@@@
WWWWWWWznxn##nnz#zxW@@@@@Wn#zzznxMxxMxxxxxxxxzxnnxnn#zz#zz#++++****++********++#zzznxnz#nzxnnxMxxxxxnnnnnnxxxxWWWWW@@@@@WWW@@@@xnM@WW@MnxzzxWMMMW@@@@@
WWWWW@Wnxxnz###zz#nMW@@@WnnxxxxMMxMMMMxxxxMMxnxxxxnnzzz#zz##++++****+*********++#zznxxn#znxnnnnxxnxxnnnnxxxxxnnMWWWW@@@@@@WW@@Wnnx@@MWWxxnznMMxMW@@@@@
@@@@@WMnxMxz##++#zMMW@@@MWW@WWWMMWWWWWMxxxWWW@@@WWxzMxxxxxnxnnnnzz+*+*+#znnzznnzzzznxxxxxMWWMxxxxnxxMWWW@@WMxnnnMW@@@@@@@@@@@@Wnnx@@MMWMxnzzMMMMW@@@@@
@@@@@@Mnxxnz###zzznMWWWxx@nnnnxWWMnnnnWxxW@ni:,;*xWMMWzzzzzzzzzzznn*+*#xzzzzzzzxMWxnxxxzzznzzzMMxxMWM+;::;+MWxnnxWni;,:iz@@@WMnnnnW@WMWWxzzzxMMM@@@@@@
@@@@@@xnxxx###znznnMxnnnxW.   :@@*   .@MWW;      `i@xM`          ix***zn`       `iWxnM+       #MxxW#`      `+WnxW;       ,x@nnnnnnW@WMW@MnzzxMMM@@@@@@
@@@@@@xnxxxnz#+znnMWMxxxM@.   `M#*   .@M@;         *WW`          iM***zx          iWxWi       +WxWn`         nMW*         .WxxxxnxM@@MW@MxnnxMMW@@@@@@
W@@W@@Mnxxxxnz#nxnxWWMMxM@.    ##*   .@Wx`   `i`   `MW`          iM+**zx     `    `Mx@:       ;@M@i    ,:    iWW.    ;.    nMMxxnxx@@WW@WMnnxMMW@@@@@@
WWW@W@MnxxxnznxxxxMWWWMMM@.    :#*   .@@+    ;#:    zWiii`    :ii+n+**zx     x+    xx@.       ,@M@,   `MM`   :@M`   ,@#    #WMMxnxxW@W@#@MnxxxM@@@@@@@
@WWWWWMxxxxx#+#zzxWWW@WMW@.    `W*   .@@*    i#:    +@WW@,    zWMn#+++zx     MM`   xMW`   .   .@W@,   `WW`   :@M`   :##    #WMMMnxxW@@@#@WxxnxW@@@@@@@
@@WWWWWxxxxMnzzzzM@@W@WM@@.     #*   .@@;    i#:    +Wnz@,    #n+**+++zx     MM`   xMx    i   `MM@,    zWi;;;*WM`   .Wn;;;;nWMMMnxnW@@##@WMxnxM@@@@@@@
@@WWWWWxMMxxMxMMM@@@@@WM@@.     ;*   .@@;    i#:    iWnz@,    #n++*+*+zx     MM`   xWn    #`   nW@;    .n#@@@WMW`    :M#@@@WMMMMnxxM@@##@WMxxxx@@@@@@@
@@WWWWWxWWMMWWW@@@@@@W@WW@.     `i   .@@;    i#:    iW#z@,    #x++*++*zx     Mz    xW#   `x`   #W@#      ;MWMxM@:     `+@@MMMMMMnxxM@@##WWWxxxxW@@@@@@
@@WW@@MM@@@W@W@@@@@@@W@WW@.      `   .@@;    i#:    i@xx@,    #x++++++zx     ,`   `M@*   `M.   i@WW:      `z@MMWx`      ,M@WMMMxnxxM@##@MMWMxxxW@@@@@@
@@WWWWMW@##@@W@@@@W@@W@WW@.          .@@;    i#:    i@MM@,    #x++++#+zx          .W@;   .W,   ;@MWW;       *@MM@n.      `n@WMMMnxxM@##@MxWMxxxM@@@@@@
@@@WWWMW@###WW@@@@W@@W@@W@.          .@@;    i#:    i@Mx@,    #x++++#+zx         `zMW,   :@:   ,@MMW@#`      #@MMWWi      `MWWMMnxxxW##@xxWMxnnxW@@@@@
@@@WWMW@@##@WW@@@@@@@@@@@@.   :`     .@@;    i#:    i@xx@,    #x#+++##zx     ;ii#MMnW.   ;#i   `WMWW@#M:     ,@MW@@@z.     +@WWMnxxxW##WxxMWxxnxW@@@@@
@@@WWMWW@##@WW@@@@@@@@@@@@.   *,     .@@;    i#:    i@nx@,    #x##++##zx    `MWMnz#zW`   :#:   `M@z++++M*    `WW#+++#M,    :@WWMxxxxW##WxxMWMxnxM@@@@@
@@@WMWWWW##@M@@@@@@@@WW@@@.   +*     .@@;    i#:    *@xx@,    #M##+++#nx     Mz++++nx           z@;    n@.    MW.   .@n    ,@MWWMxMxW##MxxMMWxnnM@@@@@
@@@WMWWWW##WW@@@@@@@@@W@@@.   *n     .@@i    i#:    +@MM@,    #M###+##nx     Mz++++xz           +#;    n@,    MW.   .@M`   ,@MMWWMMMW##WxxxxMMxnMW@@@@
@@@WMWWWW#@WM@@@@@@@@@@@@@.   *@.    .@@*    i#:    #WxM@,    #x##z+##nx     Mz++++M+     `     i#i    x@,    M@.   .@M`   ,@MMMMMMMW##WxxxxMMxxxW@@@@
@@@WMWMWW#@MM@@@@@@@@@@@@@.   +#;    .@@n    .n.    xWxM@,    #x##z+##nx     Mz+#+#Wi    ;W#    ,##    *z`   `W@:   `n*    :@MMMMMMMM##WMxxxxMxxxM@@@@
@@@MWWWW@#@xM@@@@@@@@@@@@@.   +#z    .@WW,         :@WMM@,    #x#zz+##nx     Mz+#++W:    i@x    .@M`         :@W#          #@MMMMMMMM#@WMMxxxxMxxxW@@@
@@@MWWWW@#WnW@@@@@@@@@@@@@.   +#W`   .@MWx.       .MWMMM@,    #x#zz+##nx     Mz+#+#W.    +@x    `W@#`       .xWxW;        :WWWMMMWMMM@@WMMxxxxMxnxW@@@
@@WMWWWW@#WxW@@@@@@@@@@@@@i;;;z@@*;;;i@MMWM*.```.*WWMnMx@*;;;;nx###++#zx;;;;;x#+#+#M;;;;;nWM;;;;;MW@x;.```.*MWxnMW#:````,#@WMMMMWWMMM@@WMMxxxxxxxxM@@@
@@WWWWW@@@Mx@@@@@@@@@@@@@@@@@@@@@@@@@@WMMxW@WMMWWWMxxzxnMWW@WWWz#*#+*++xMMWWMn#++++zxWWW@WxM@WWWWWMMWWWMMWWWMxxxxMWWWMMW@@WWMMMMMMMMM@@WMMxxxMMxxxxW@@
@@WWWWWW@@xx@@@@@@@@@@@@@WMW@WWWW@WWWWMMMnxxxnMxnxxxxznxzzxznnnx+*z#+++*++#+z+#**+i+*##zMxzznnnnxWMxxxxMMxxxxxxxxxxxxMMWWMWMMMMMMMMMMW@WMMMMMMWxxxxW@@
@@MWWWWW@WxM@@@@@@@@@@@@WWMWWWWWWWWWWMMMMMzzMzzxn#xxnzzxnzxznnnx#*z##+#+++z+n##+++i+*#z#xxzznnxnxWMMxxxxxxxxxxxxxxxxxxxWWMMWWMMMMWWMMM@WMMMMMM@xxnxM@@
@@WWWWW@WMnM@@@@@@@@@@@@WWW@@WWWWWWWWMMMMWnnMnzMMzMnnnnzxnxxnxnnn+zz###+#+#+nzz#++**+##nnxnzxnxxnWMMxxxxxxxxxxxxxxxxxxxWWMWWMWWWWWWWMM@WMMMMMMWWxxnxW@
@@WWWWWWxxzM@@@@@@@@@@#@@WW@@WWWWWWWWMMMMWMMMxxMMMMMxMxxxxxMMMMMx#zzzz#zzz#znnnn##**+znxxxMMMMMMMWWMxxxxxxxxxxxxxxxxxxxWWMWWWWWMMWWMMMWWMMMMMMWWxxxxW@
@@MWWW@@WxzM@@@@@@@@@@@@@WW@@WWWWWMMMMMMWMMMMMMMMMMWxxxMxMxxMMMMxnzzzzzzzn##nnxnz####znxxMMxMMMMMMWMMxxxxxxxxxxxxxxxxxMWWMWWWWWMMWMMWMWWMMMMMMWWMxxxM@
@@WWWW@@@MMW@@@@WW@@@@@@WWW@@@WWWWWMMMMWWMMMMMMMMMxWxxxMxMMxxMMWxnzzzz#znnn#znnxz###zznMMMMMMMMMxMWMMxxxxxxxxxxxxxxxxxxWWMWWWWWMMznzzzznzzzzzzzxznz#zM
@@WWWW@@@W@@@@@@@@@@@@@@WW@#@@WWWWWWMMWWWMMMMMMMMMxWMxxMxMMxxxMMMxxnnzzznnxz#nnnz##zzzzxMMMMMxMMxxMWMMxxxxxxxxxxxxxxxxMWWMMWWWWMMMxxxxnxznnnnnxMxxnnnM