################################W;iii#nnnxxxxnnnnxxxMWWWWWWWMMnz++***iiiiiiii;;;;::::,,,,.................,:;;:,:;+nx@################################
################################W;iiiznnnxxxxnnnnxxMMWWWWWWWMxz#+**ii;;;:::::::::::,,,,,,..................,,;;::;*nx@################################
################################W;ii*znnnxxxxxnnnxxMMWWWWWWMMn#+**i;;::::::::::::,,,,,,,,...........,.......,:;:;;*zx@################################
################################W;ii*znnnxxxxxxnnxxMMWWWWWMxnz+**i;;;::::::::::::,,,,,,,,.....,,,:::::,,,,,,.,;:;;*zn@################################
################################W;ii+nnnnxxxxxxnnxMMWWWWWWxnz#+*i;;;;::::::::::::,,,,,,,,,,,,:::iiiiii;;;::,,,::;i*#n@################################
################################Wiii+nnnnxxxxxxnnxMMWWWWWWnz#+*iiii;;;;::::::::::,,,,,,,,,,::;ii++++++**iii;:,,:;i*#n@################################
################################Wiii#nnnnxxxxxxxnxMMWWWWWMz##+iiiii***iii;;;;;::::::,,,,::;ii*++#zzzzzz##+**i;::;i*#n@################################
################################Wiii#nnnxxxxxxxxxxMWWWWWWM#++*ii**+#zz#++*i;;;;;:::::::::;i*++##zznnnnnnzz##+*;::i+#n@################################
################################WiiiznnnxxxxxxxxxMMWWWWWWM#+*ii+#znxnnzzz#+*ii;;;;::::::;i*++##zznnxnnxxxnnz##*;:i+zn@################################
################################WiiiznnnxxxxxxxxxMMWWWWWWx#+***znxxxxnnnnz#+*iii;;;;:;;;i*++####zznnnnnxxxnnnz#*;i+zn@################################
################################W;i*nnnxxxxxxxxxMMMMWWWWWx++*+znxxxnnnnnzzz#+*ii;;;;;;;;i*++######zzzzznnnnnnnz+ii#nx@################################
################################W;i+nnnxxxxxxxxxMMMMMWWWMx+*+#nxxnnzz#######+*ii;;;;;;;ii*++++++#########zzznnn#**#xx@################################
################################W;i+nnnxxxxxxxxxMMMMMWWWMn+*#nxxnz##+++++++#+**i;;;;;;ii***+++++############znnz+*zxx@################################
################################W;i#nnnxxxxxxxxnMMMMMWWWMn++znnz##+++++++++++**i;;;;;;ii****+++##########++++#zz#+znx@################################
################################W;i#nnnxxxxxxxxxMMMxMMWWMz+#nnz#++++++++++++***i;;;;;;;ii***+++####z#####+++++#zz+zxx@################################
################################WiiznnnnxxxxxxxnMMMxMWWWxz+#z##+***+++++#++++*i;;::::::;ii**++###zzzzz#####+*++zz#zxx@################################
################################W;iznnnnxxxxxxxnxMMxxMMMxz+zz#+***++++#####++*i;:,,,,,,:;i*++##zzzzzzzzz###++*+#z#zxx@################################
################################W;iznnnxxxxxxxxnxMMxxMMxxz#z#****+++++######++*i:..```.,;i*+##zzzzzzzzzzzz##++*+##zxx@################################
################################W;*znnnxxxxxxxnnxxMxxMMxxz##+i**++++#########+*i:.`` ``,;*++#zzzzzzz#########+++##zxx@################################
################################W;*znnnxxxxxxxnnnxMMxMMMxz##*i**++++++###zz###+*;.`   `.;*+#zzznnnz##++++##z#++++#nxM@################################
################################W;+znnnxxxxxxxxxnnxMxxMxxz#+*i*++++***+##zzz##+*;.     `:*+#zznnnnzz+++++++###+++#nxM@################################
################################W;+znnnxxxxxxxxxnnxMxxxMxz#+i*+++**iii*+#zzzz#+*;`     `,*+#zznnnnnnnz##+++####++#nxM@################################
################################W;#nnnnxxxxxxxxnnnxxxxxMxz+*i*+++iiiiii*#zzzzz#*:`      .i+#zznnnxxxxxxnz#+####+++zxM@################################
################################W;znnnnxnnxxnxxxnnnxxxMxxz+*i*++*iiii*+#zzzzz#+*,`      `;*+#znnznxxxxxxnn#####+++zxM@################################
################################WiznnnnxxxxxxxxnnnnxxMMxxz****++*i*+znnnnnzzz#+i``      `,i+#zzz#nxxxxxnznn####+++zxM@################################
################################WiznnnnxxxxxxnnnnnnxMMxxxz*i**++*+#znnxxnnzzz#*,``       .;*##zz#nnxxxxz#zn####+++zMM#################################
################################W*znnnnxxxxxxnnnnnnxMMxxxz*i***++zzznnxxnnz##+;.`        `,;*+###zznnnnzzzz#++#+++zMM#################################
################################W*znnnnxxxxxxnnnnnnxxMxxxn*ii*+##zzzznnnzz#++i,``        `.,i**+###z#zzz###+++++*+zMM#################################
################################W+znnnnxxxxxxnnnnnnnxxxxxn*ii**++######++##+*;```         `.:;i++########++*i*****#xM#################################
################################W#zznnnxxxxxxxnnnnnnnxxxxniiii*i**++######+*;.``          ``.:;i**+++##+++*i;;iii*#xM@################################
################################W#zznnnnxxxxxnnnnnnnnxxxxniiiiiii*+++####+*;..``          ```,:;;ii******ii;:;;;ii+xM@################################
################################@zzznnnnxxnnnnnnnnnnnxxxnni;;;;:;i****+**i:...`            ``.,,:;;;iiii;;:::;::;;*zx@################################
################################@zzznnnnnnnnnnnnnnzznxxxnni::::::;iiiii;:,...``             ``..,:;;;;;;::,,,,,,:;izn@################################
################################@zzznnnnnnnnnnnnnzzzznxxnzi::,,,,:;;;::,..`..````           ```..,,:::::,,,....,:;i#n@################################
################################@zzznnnnnnnnnnnnzzzzznxxnzi:,,,,,,:::,..``....````````     ````....,,,,,,,.....,,:i+z@################################
################################@#zzznnnnnnnnnnzzzzzzznxn#;:,,,.......````.,,,,.......````.....`..........`.....,:i+z@################################
################################@#zzznnnnnnnnnzzzzzzzzznn#;:,,.....``````.,:::::::,,,,,,,,:::,..````.....```...,,:i+z@################################
################################@#zzznnnnnnnnzzzzzzzzzzzn#;,......``````..:::;i;;;;;;;;;;;;;;:...``````````....,,:i#n@################################
################################@zzzznnnnnnnzzzzzzz#######;,.....```````.,:,;i**iiiiiiiiiiiii;,..``````````....,,;i#n@################################
################################@zzzznnnnnnnzzzzzz########;,.....`````..,:;;i*#z+*********##*;:..``````````...,,:;i#n@################################
################################@zzzznnnnzzzzzzzzz########;,.....````..,:;;;*+nxn#***+++*znz+i:,.`````````...,,,:;*#n@################################
################################@zzzzzzznzzzzzzzzz########i,.....```..,,:;;i+#nxxx#+++++zxxn#*;,.`````````...,,::i*zn@################################
################################@zzzzzzznzzzzzzzzz########i,..........,::;;i+#znxxz++#+#nxxz#*;,..````````...,,:;i+zn@################################
################################@zzzzzzznnzzzzzzz#########*:,........,,::::;+#zznzz#####nxnz+*;...```````...,,:;i*#zn@################################
################################@zzzzzzzzzzzzzzz##########*:,.......,,:::,,;+zznnnnzzzzzzzz#+*;..````````...,:;;i*#zz@################################
################################@zzzzzzzzzzzzzzz##########+:,,....,,,::::,,;#nxxxxnzzznnz##++*;.`````````..,,:;ii+zzz@################################
################################@zzzzzzzzzzzzzzz#######++++::,,,,,,,:::::::*#nxxMxxnnnnnnz#++i:.``````.....,:;ii*+zz#@################################
################################@zzzzzzzzzzzzzz########++++;::,,,,::::::::;*#nxxxxxnnxxxxnz#+i:.````......,,:;i**+zz#@################################
################################@zzzzzzzzzzzzzz#########+++;::::::::;;;;;;i+znxxxxnnxxxxxnz#+i,.```....,,,,:;ii*+#z##@################################
################################@zzzzzzzzzzzzzz#########+++i;::;;;;;;i;;i*+#zznnnzzznxxnnnz#+i,.``..,,,,,,::;i**+####@################################
################################@zzzzzzzzzzzzzz#########+++i;;;;;;;iiiii*+##z##++++##znnzzz#+i,.....,:::::;;ii**+####@################################
################################@zzzzzzzzzzzzzz#########+++*i;;;;iii****+##zz#*i:;;;i*#z##z#+i:,...,,:;;;;;iii**+##+*W################################
################################@zzzzzzzzzzzzz########+++++*iiiiii**++++###zzz+i;:;;i*+#++##+*;::,,,:;iiiiiii***+##+*W################################
################################@zzzzzzzzzzzzz########+++++*iiiii**+++###zzznzz#++++++###++++*i;;;;::;iiii******+##++@################################
################################@zzzznzzzzzzzz########++++**iii****+####zzzznnnzzzzzzzzz#++++*iii*i;;;i*********+z##n@################################
################################@zzzzzzzzzzzz#######++++++***ii****+####zzznnnnnnzzzznnzz##+++ii****iii*********+nxxM@################################
################################@zzzzzzzzzzzz#######++#++++********#z##zznnnnnnnnzzzznnnzz###++**+++***********++xMMM@################################
################################@zzzznzzzzzzz########++#++++******+#zzzznnnnxnnxzzznzzzznzzzz+++i+###+***++***++#xMMM@################################
################################@zzzznzzzzzzz########+++++++*******#zzznnnxxMMWWxzxMzzznxxzzz###*+####++++++++++zMMMM@################################
################################@zzzznzzzzzzz#######++++++++*******+znnnnnxMWW@@@WWWWMMMWWxzzz#z#+#####+++++++++nMMMM@################################
################################@zzzzzzzzzzzz#####+#+++++++++*i****+znnnnnxxMWW@WW@@@WWWWWMnnn#zz##zz#z#+++++++#xMMMM@################################
################################@zzzznzzzzzzz########++++++++*i****+znnnnnnxMWWWWW@@@WWWWWMMxxzzzzzzzzzz#++++++zWWWMM@################################
################################@zzzzzzzzzzzzz####++#++++++++******+#nnnzznxxMWWWWWWWWWWWWMMMxzzzzznzzz##++++++nWWWMM@################################
################################@zzzzzzzzzzzz######+++++++++++*****+#zzzzzznnxMWWWMMxxMWWMMMxxzzzzzzzz###+++++#MW@WMM@################################
################################@zzzzzzzzzzzz#####++++++++++++*****+#zzzzz#zznxMWMxxxxxxxMMxnnzz#zzzzz#++++*++zWW@WMM@################################
################################@zzzzzzzzzzz######+++++++++++++****+#zzzzz##znxxMMxxxxxxxxxnzzz####zz##++++++#xW@@WMM@################################
################################@zzzzzzzzzzz######+++++++++++++****+#zzzz####zznxxxxxxxxxxnz#######zz###+++++zWW@@WMM@################################
################################@zzzzzzzzzzz######+++++++++++++****++#zzz#####znnnnnnnnnnnz#########z###+++++nW@@@WMM@################################
################################@zzzzzzzzzzz######++++++++++++++**+++#zzz######zzz####zzzz##########z###++++#MW@@@WMM@################################
################################@zznzzzzzzzz######+++++++++++++++*+++#zzz###############################++++zMW@@@WMM@################################
################################@zznzzzzzzzz######+++++++++++++++++++#zzz###################zzzzz########++##MW@@@WMM@################################
################################@zznzzzzzzzz######+++++++++++++++++++##z###zzzzzz######zzzzzzzzzzzzzz####+##+zW@@@WMM@################################
################################@znnzzzzzzzz#####+++++++++++++++++++###z###zzzzzzzzzzzzzzzzzzzzzzzzzz####+##+#xW@@WMM@################################
################################@znnzzzzzzz######++++++++++++++++++###z####zzzzznnzzzzzznnnzzzzzzzzzzz######++#MW@WMM@################################
################################@zzzzzzzzzz######++++++++++++++++*+###zz###zzznnnnnnnnnnnnnnzzznzzzzzzz##z#++++zW@WMM@################################
################################@zzzzzzzzzz#####+++++++++++++++***+###zz####zzznnnnnnnnnnnnzzzzzzzzzzzzz#z#+++++zWWMM@################################
################################@zzzzzzzzzz#####++++++++++++++****#z##zzzzz#zzznnnnnnnnnnnzzzzzzzzzznnzzz#++++++*zMMM@################################
################################@zzzzzzzzzz#####+++++++++++++*++**#zzzzzzzz#zzzzznnnnnnnzzzzzz##zzzznnnzz#++++****zMM@################################
################################@zzzzzzzzzz#####++++++++++++++++*+#znzzzzzzzzzzzzznnzzzzzzzz####zzznnnnz##+++*****#MM@################################
################################@zzzzzzzzzz#####++++++++++++++++++#zxxnzzzzzzzzzzzzzzzzzzzz#####zzznnnnz#+++******nMM@################################
################################@zzzzzzzzz######++++++++++++++++++znxMnzzzzzzzzzzzzzzzzzzzz#####zznnnnz##++++****+xMM@################################
################################@zzzzzzzzzz####++++++++++++++++++zxMMMz#znzzzzz##zzzzzzzzzzz###zznnnnzz##++++****zMMM@################################
################################@zzzzzzzzz#####++++++++++++++++#nMMMMx#+znnnnzzzzzzzz#zzzzzzzzzznnnnnz##++++****+xMMM#################################
################################@zzzzzzzzz#####++++++++++++++znMMMMMMx#*+znnnnnzzzzzzzzzzzzzzzznnnnnz###++++****zMMMM#################################
################################@zzzzzzzzz#####++++++++++#znxMMMMWWWMMz+*+znnnnnzzzzzzzzznnnnnnnnnnz###+++++**+#xMMMM#################################
################################@zzzzzzzzz#####++++++++#zxMMMMMMWWWWMMz+**+#nxnnnnnnnnnnnnnnnnnnnnz####+++++*+#nMMMMM@################################
################################@zzzzzzzzzzzz##+++++++zxxMMMMMMMWWWWWMn+***+znnxnnnnnnnnnnxxxxxnzzz####+++++++zMMMWMM@################################
################################@zzzzzzzzzzzzz#+++++#nxMMMMMMMMWWWWWWWn+***+#znxxxxxxxxxxxxxxxnzzz######+++++zxMMMWMM@################################
################################@zzzzzzzzzznzz##+++#nxMMMMMMMMMWWWWWWWx#+**+#zzznnxxxxxxxxxnnzzzzz#######+++#xMMMWWMM@################################
################################@zzzzzzzzzznzz##++zxxMMMMMMMMMMWWWWWWWMz++++#zzzzzznnnnzzzzzzzzzz###########xWWWWWWWW@################################
################################@zzzzzzzzzznz####znxxMMMMMMMWWWWWWWWWWWx#+*+##zzzzzzzz###zzzzzzz##########zxMWWWWWWWW#################################
################################@zzzzzzzzzznz###znxxMMMMMMMMWWWWWWWWWWWMn#++##zzzzzzz####zzzzzz##########nMWWWWWWWWWW#################################
################################@zzzzzzzzzzzz###nxxxMMMMMWWWWWWWWWWW@@@WMz#####zzzzzz###zzzzzzzz######znMWWWWWWWWWWWM#################################
################################@zzzzzzzzzz####nxxxMMMMMWWWWWWWWWWWWW@WWWMz#+##zzzzzz#zzzzzzzzzzz##znxMWWWWWWWWWWWWWM#################################
################################@zzzzzzzzz####nnxxMMMMMWWWWWWWWWWWWWWWWW@Wxn####zzzzzzzzzzzzzzzzzznMWWWWWWWWWWWWWWWWM@################################
################################@zzzzzzzzzz##zxxxxMMMMMWWWWWWWWWWWWWWWWWWWWMn####zzzzzzzzzzzzznnxMWW@@@WWWWWWWWWWWWMM@################################
################################@zzzzzzzzzz#zxxxxMMMMMMWWWWWWWWWWWWWWWWWW@WWxz###zznnzznnnnnnnMWW@@@@@@@WWWWWWWWWWWMM@################################
################################@zzzzzzzzzzznxxxMMMMMMMWWWWWWWWWWWWWWWWWWW@@WMnzznnnnnxxxxMMWW@@@@@@@@@@@WWWWWWWWWWWW#################################
################################@zzzzzzzzzznxxxMMMMMMMMWWWWWWWWWWWWWWWWWWW@@@WWWMMMMMMMMWWWW@@@@@@@@@@@@@WWWWWWWWWWWW#################################
################################@zzzzzzzzznxxxMMMMMMWMMWWWWWWWWWWWWWWWWWWW@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW#################################
################################@zzzzzzzzzxxxxMMMMWWWWWMWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW#################################
################################@zzzzzzzznxxxMMMMMWWWMMMMWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW#################################
################################@nnzzzzzzxxxMMMMMMWWWWWWMWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@WWWWWWWWWW#################################
################################@nnzzzzzxxMMMMMMMWWWWWWMMMWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWMMWW@################################
################################@nnzzzznxMMMMMWMMWWWWMWMMMWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@zMnWWnMWWWMxx#MM@################################
################################@nnzzznxMMMMMWWMWWWWWMMWMMWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ii#;#**#Mi*#+*#M@################################
################################@nnzznnxMMMMMWWMWWWWWWMMWMWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@WxxnzxnnxWnnxzxxM@################################
################################@nnnznxMMMMMMWMMWWWWWMMMWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@nM@zx@@#@@@@WM**n#WWWWWWWWW@################################
################################@nnnnxMMMMMMMWMMWWWWMMMMWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@M#zzz+*++*x**z+#x;*z**#+zzM@################################
################################@nnnnMMMMMMMWWMWWWWWWWMMWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@i+x++n*ii*x+#M#in*iM*ii:MW#################################
################################@nnnxMMMMMMMWWMWWWWWWWWMWWMWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@nWMM#zMzzM#nx+#xMxn+xnx#WW#################################
################################@nnnMMMMMMMWWWMWWWWWWWWMMMMMWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWW#################################