*************************************************************************************
*********************************************************************************++**
*************************************************************************************
*******************************+******++*+++*****************************************
*****************************+++********++++*****************************************
*****************************+++********++++++**********************************+****
****************************+++++++++***++++++++++**********************************+
****************************++++++++++**+++++++++++*++**+**************************#x
*********************+************++++*+*++++#####+***+**+***++******+*******i**+#nMW
************************++++****i**+#++++++++#znzz#++****++**++********+****i*#zMMWW@
************************+####++*i**+##++***+##zzzz#+++******************i**i*#nM@WWWW
***********************++#zzzz##+++####+*ii*++++###++++**i**********+**ii*++zxWWWWWMM
*********************++#+#znnnzzzz#zzz#++*i*****+++++###+**++************#nxMWWWWWWWM
*******************++##z##zznnnznnzzzzz##+******+++++###z#+++*******ii*+zxWWWWWWWWWWW
******************++#zzzzzzzzzzzznnzzzz##+*****++++#####zz#++*********#xMW@@WWWWMMWWW
******************+#zznznz###zzzzznzzzz##++****+++##z####zz#+**+***++zxW@WMMWWWWWWWWW
*****************+znnnnznzzzzzzznnnnzzzz#++++*ii*++###++####+++****+nWWWWMMWWWMMWWWWW
****************+#znnnnnnnnnnnnnnnnnnnzzzzzz#+**i**++##z####++***+++zMWWWWWWWMMWWWWWW
***************+#znnnnnnnnnnnnnnnnnnnnzznxxxxnnz#####zzzzz#++++*+##+#nMWWWWWWMWWWWWWW
***************#zznnnnnnnnnnzzzzzzzzzzznxxMMMMMMxxnzzzzzz##++++++####znMMWWWWWWWWWWWW
**************+znnnnnnnnnnnnzzzznzzzzznnnxxxxxxnnz##++++##++++########zxMWWWWWWWWWWWW
**************+nxxxxxxxxnnnzzzzznnzzzzzznxxxxxnz#+*iii*+###+++###++#z#znMWWWWWWMWWWWW
**************+nMMxxxxxxnnzzzzzzzzzzzznnnxxxxxnz#+*ii**+###+++###+++zzznMW@WWWWWWWWWW
**************+nMMMxxxxxxnzzzzzzzzznnnnnnxxnnnnnz#++++++++#++++###++#zzzxW@WMMWWWWWWW
**************+nxMMxxxxxnnnzzzzzznnnnnnnnnnnnnnzzz##z#####+++++####+i#xznMWWWWWWWWWWW
**************+zxMMMMMMxxnnnnzzznnnnnnnnnnnnzzzzz###zzz###++#++##znz*+zzzxWWWWWWWWWWW
**************+zxMMMMMMxxxnnnnnnnnnnnnnznnnzzzznzzzzzzzzzz#+++##znxn+*#zzxMWWWWWWWWWW
**************+nxMMMMMMMxxnnnnnnzzzzznnnnnzzzznnxnnnnzz###+ii*+znxxxz++zznMWWWWWWWWWW
**************#nMxxxMMMMxxxnnnnnnnzzznnxnnzznnxxxxnnzzz#zz+ii*#zxnxMn#+#znMWWWWWWWWWW
*************+#xxxxxMMMMMMxxxxxxxnnnnnxxxnnnnxxxxxnnzzzznxnzzzznnnxMxz##znMMWWWWWWWWW
*************+#nxxxMMMMMMMMxxxxxxxxxxxxxxnnxxxxxxxxxnnnnxxxxxxnnxnxMz#z#znxMMWWWWWWWW
*************+#nxxxMMMMMMMMMxxxxxxxxxxxxxxxxMMMxMMWMxxxxMxxMWMxMWMMx##nznnxxMWWWWWWWW
************++#nxxMMMMMMMMMMMMxxxxxxxxxxxMMMxxxxMMMMMMMMMMMWWMMMWWWMn+znnnxMMMMWWWWWM
************++#nxxxMMMMMMMMMMMMMxxxxxxxxxxMMMxxxxxxMMMMMMMMWWMMWMMMxn+zxxnnnxxMWMWWWW
************++#nnxxMxxMMMMMMMMMMMxxxxxxxxxMMxxxxxxxxMMMMMMMMMMMMxxxxn+zxxnnznnxMMMWWW
*************+#zxxxxxxMMMMMMMMMxxxxxxxxnxxxxxxxMMxxxMMMxMMMMMMxxnzznz*+xMMxnnxxxMMWWW
**************+zxxxxxxMMMMMMMxxxnnxxxxxnxxxxxxxxxxxMMMMxMMMMMxxx#++zz**nMWWMxxMMMMWWW
**************+znxxxxxxMMMMMMMxxnnnnnnxxxxMMMxxxxxxMMMMMMMMMxxnnz++zzi;nMWWWMMMMWWWWW
**************+znxxxxxxMMMMMMMMMxnnnnxxxMMMMMMxxxxMMMMMMMMMMxnnnnnzz#i;zMWWWWMMWWWWWW
**************+zxxxxxxMMMMMMMMMMMMxxxxMMMMMxxxxxxMMWMMMMMMMMxnnnxxn#*i;nWWWWWMWWWWWWM
**************+zxxxxxxxMMMMMMMMxMMMxxxxxnnxxxxxMMMMMMMMxMMxxxxxxxxn*;:;nWWWWWMMW@WMMx
***************#nxxxxxnxxxxMMMxxxxnnnnzzzzznnxxMMMMMMMMMxxxxxxMMxn#i:,;nWWWWWWWWWMxxn
***************#nMWxxxxxxxxxxxxxnz##++++++++#zzznnnnnxMMMMMMMxxxz#+i;,:zWWWWWWMWMxnnn
***************#nxn+*#nnnxxxnnnnz#*ii***iii**++++++##znxxxxxxnz#+++++iizWWWWWWMMxnnnn
***************#z+i::;+#nnxnnnnn#*;;;;;i;iiiiii******+#zzzzz###+#zz#z#+nWWWW@Mxxxnnnn
***************+#*i+*ii+znnnnnnz+i;;i;;;iiii;;iiii**+#zzzz##+###znxnnn#zWWWWWMnxxxxxn
***************+*i+z#***+#zznnz#*;;;ii;iiii;iii*++#znnxxnnz####zznxnxz#nWWWMMxnxxxxxx
****************i*+*i*+**+#zzz#+*;:;ii;i;;;;i+###zznnzzzzz##+##zznnznzzMWWMxnnnxnnnxn
********************i;;ii*+#zz#+*i;;i;;i;ii*+#znnnnnnnz##+++++#nxxnzz#zWWxnnnzznnzznn
*******************i;;:;ii*+###+i;;;i;iiii*+#####znxxnnz##+++#nMWMnzz#zMxnzzzzznznnnn
*******************;;**+****+#++i;;;iii***+#znnnnnznnxnn##+**+nMWMn##+zMnzzznnnnnnxxn
*******************i*#zz+*ii++++ii;;iiii*+##znxMWx##znzz##+i;*zxMxz#+*#xxnzznnnnxxxxn
*******************i+#+**;:;*+++*i;;iiii**+++#znxz++zz#+#+*;:;+znz##+i+xxnnznnnxxxxxn
*****************iii*+*ii;::i++*ii;iiiiii***i*++##+#zz##+*i:,:*#z##z+i+xxxnnnxxxMxxxx
********++******+iii*+*iii;;i***iiiiiiiiiiiiii*+++######*i;:::i+####**#xMMxxxxMMMMMMW
********++*********iii;:;ii;;***iiiiii;;i;;;i**+++###+*i;;::::;i###+*+zxMMMMxxxMxMMWW
****************+*iii;;:;;;;;i***iiiiii;;iii;ii***+++*i;::;;:::;++++++zMWMMMxxMxMMWWW
****************+**i;;;;:;;ii****iiiiiii;iii;iii*****i;:::;;;;:,;*+**#xMWWWMnxMMxMMWW
************++******;;;i;;;i***i*iiiiiiiiiiiiiii*iii;:::::;;;:,..i**+zxMWMMMnnxxxMMMM
***********+++++*++**i;;i;;;i**i*iiiiiiiiiiiiiiiii;;;;;;iii;;:::.:;i#nxMWMMxxxxxxxMMM
**********++++++**+++*i:;:::;i****iiiiiiiiiiiiii;;;;;;ii;;;;::;;;::i#xMWWWMMMxxMxxMMx
********+++++++++***++*i;;;;iii***iiiiiiiiiiiiii;;;;ii**;;;;ii**+*;;#MWMMMWMMnnMMMMMM
********+++++++++****++*****iiii***iiiiiiiiiii;;;;;;i*****+####+#+iizMMMxMMMMnzxMMMWM
********++++++++*****++++##+i;i*******iiiiiiii;;i;;;i*+++#zzz###+i;+nMMMMxnxMxzzxxMMM
***************++*****+**+##*ii*ii****iiiiiiiiii;;;ii****#z#####+::#MMMMxxnnxxnzxxxxx
****************++++*++***++i;i*********iiiiiiiiiiiiiii;i+#++#zn+,,zMMMMMxxxxxxnnxxxx
**********++++**+++++++*ii**ii*************iiiiiiiiiii;;;*####zn#::zWMMMMxxxxxxxxxMMM
***********+++****++++**iiiiii*************iiiiiiii;;iii*#zzzzzn#;:z@WMMMxMMMMMMxxMMM
***********+++****++****i;iii***************iiiiiii;;i*+#######z#*izWWMMxxxMMxxxxxxMM
***********+++**+*++*++*iiiii******************iiiii**++#######znz#nMWWMxxxxxxxxxxMMM
****************+*++*++*iiiii***++***+++**+++***ii*++###zznnxnznxxznMMMMxxxxxxxxMxxxM
******************++*+**iiiii*+++++++*****++++**i**+#zzznnnnnzzzznznxxxMMxxMMMMWWMMMM
************++**++++****iiiii*++#+++++++*+++++**i*#zzzzzzzz######++#xnnMMMMMMWWW@W@WM
****************+**++***iiiii*+##+++++++#+++#+++*+###############+##nnxMWWMMMMMWWWWWW
************++**+***++**iiiii*+############+###+########+###zzzzz#znnnxMWMMMMWWWWWWW@
************+++*+***++**iiiii**+#zz##################+####znnnzzzzzxxxnMMMMMWWWWWWW@@
********************++*iiiiiii*+#zzzzzzz###++++######+####znnnzz#+#MMxnMWMMWWWWWWW@@n
*******************++**iiiiiii**+#znnnnnzz#+*+++####++++++#zzzz####xWMnMWWWWWWWMW@Wxi
************++****+++*iiiiiiii***+znnnnnnzz#+++++++++*****++####zzznWMnMMMWWWWWWW@x*:
*****************+++**iiiiiiiiiii*#nnnnxnnnnzz#####+++++****++##zn##MMxMWWWWWWWWWW#,i
**++++++****++**++++**iii;iiiii***+#znnnxxxxxxnzzzzz####++++#+#nzzz#xMMWWWWWWWWW@x;i+
++****+++++***++**+z#i:;:;iii;iiii**+znxxxxxxxxxnnnnnzzzn##z#nxzzz##xMWWWWWWWWWWWn;i+
***+++****+++**++*+nn+iiiii;iiiiiiii*+zxxMMxxxMMxxxxxxxxxnxxzxx#####xMWWWMMWWWWWWn;**
+****++++**iii*+**+zxx#;i;;;iiiiiiii*+#zxxMMMMMMMMMMMMMMMWWMMMxxzzzzxMWMMxxMWMWW@ni**
++******i*##+*****;i#Mx#i;;;i;;iiii****+#nxMMWWWWWMWWWMMxxnxMxxMMxxxxMWMMMMWWWWWWx***
*********zMWWn+i;;;:;+xWz*;:;;;iiiiiiii**#znxMMMWMMWWMxn*izMxnxMWWMxxxMMWMMWWWWWWM+**
+**ii+znxMWW@@Mz::::::*zMn+i;;i;iiiiiiiii*+#znnxxxxxxxz#i;+MMxxnxMMxMxMMWWWWWWWMW@+i*
***+#nM@W@@WW@@Wx*,,::;izMWzi;;;;;ii;;iii**+#zznnnnnnz##+;,*xMnzzxMxWMMWWWWWWWWMW@#i*
+zMWWWWWWWWMMWWWWMz;,,::;*xWx+;:;ii;;iiiii*+##zznnnnnz#++; ,n@Mx#+MMMMWWWWWWWWWMM@n;*
xWWWWWWWWWWWWWWWW@@M+:.,,,;zMx#i;;iiiiiiii*++#zzznnnn#++i;,:zMW@n#zMMMMMWWWWWWMMMWx**
@@WWWWWWWWWWWWWWMWWWWMz*;,`,i##+i;;ii;;i;;ii**++znnz#+++#znxMMxMWn+zxMMMWWWWWWMMMWW#*
WWWWWWWWWWWWWWWWMWWMW@@Mxxz+*+++*;::;:;i;;;;iii*ii***#nMWW@@WMMMWW##nxMMMWWWWMMMMMWni
MMWWWWWWWWWWWWWWWWWWMMM@MW@WMWWWWMxxMMMMMMMMMMMMMMMMMWW@@WWMMMMMxWn+xxMxMWWWWMMMMMWW+
MMMMMMWWMWWWWWWWWWMWWWWMWWWWMWWWWWWWW@@WWWWWWWWWWWWWWWWWWWW@WMMxxMx+xxWxMWWWWWWWMWM@n
MMMMMMMMMMMWWWWWW@@WWWWWMWWWWWWWWWWMMMW@WWWWWWWWWWWWWWWWWMMWWMWWWWM#nxWMMMWWWWWWWWMWW
MMMMMMMMMMMWWWWWWMWWWWW@@WWWWWWWWWWWMMMWWWWWMWWWWWWWWWMMWWMMWWW@W@@##xMMMMMMWWWWWMMM@
WWMMMMMMMMMMMWMMWWWWWWWWWWWWWWWWWW@WMMMMWWWMMWWWWWMMMMWWWWWWWWWMWWWn+nxxMWWMWWWWMMWWW
WWWWWMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWMxMWWWWWWWWWWWWWWWWWWWWWWMMMWx#nxMMWWMWWWWWWWWW
WWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWMxxMWWWWWWWWWWWWWWWWWMMMMMxM@W#nxxMWWMWWWWWWWWW
WMMMMWWWWMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWxxMWWWMWWWWWWWWWWMMMxxxxxxWW#zxxxMMMWWWWWWWW@
MMMMMMWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWMWW@WMxMWWWMWWWWWWWWWMMxxxxxxxMWzzxxxMMMWWWWWWWW@
MMMMMMMMWWWWWWMMMMMWWWWWWWWWWWWWWWWWWWWW@MxMWWWMWWWWWWWWWMMxxxxxxnxWzzxxxMMMWWWWWWWWW