@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@#################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@@@@@@@@@@@@@@#############@@#################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#######@@@@@@@@@@@@###@@################@#@@#################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@##@@@@@@##@@@#######@@@@@@@@@@@###@@@@######@########@@@@#################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMxxnnnz###zzznnznxxxnW@@@@#@@@@#@@@@@###@@@@@@@@@@@@@##@@@@###############@@@#@@################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMMMMxMMMMMMMMMWWWMxnzzz#+#++#######zz#znnz*zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#################@#@@@@#########@@@##
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxzzz####z####zzzzzz####+#+##+######+#+++#zz#zxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@#@###############@@@##
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mn####################+++++++++++++++#+++#*z#+#znM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@###############@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x#################+++++++i***+++++++++++#*##z####W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@#############@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wz######zzz#######+++++*+*;;i++**+**++++++#zzzz#in@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@#############@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x#zzzznzz##++#*++++++*****i**++****+++++++*i++*+zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@#############@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnnxxnz####+#++++**********+*******++++++i:i*i*nnW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@#############@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxz#####++++++******************++*++++***i*z#W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@#########@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wx#######+++**********************+i#+++*++;***M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@#########@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wz######+++**********i+#***********i#i*+++i;+i*n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@#########@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mn#####++++***********:i#;***********+;*++*;:+;*zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@#########@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wn#######+*+**********+;i#;i+*******ii*******;*;++M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@###########@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz######++ii***********;i+;i+*******ii*****++i::**x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@##########@@@@#@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mz#######*i**********iiii***iii*i****i*********;;*;n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wz#######++i*********iiiii***iiii***************ii*iz@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M########+++*****i*iiiiiiiiiiiiiiiiiiii;;i*******ii*#M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@########@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxzz######+++****ii*iiiiiiiiiiiiiiiiiii*;;;i********+*n@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@##############@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnzzzz###++++****iiiiiiiiiiiiiiiiiiiiii*ii;;*i*****i;i#W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mzz#####+++++****iiiiiiiiiiiiiiiiiiiiiii*i;;******++*+zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@####@@@@@#@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz#####++++#*;**iiiiiiiiii;::;iiiiiiiiiiiii********+#znW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@#@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz#####+#+;+*i+**iiiiiiiii::*,;iiiiiiiiiiiii*******+#znW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@#@####@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnz########*#i:**iiiiiiiiii;,*::iiiiiiiiiiii********++znW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@#@####@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnz#######+i+*i**iiiiiiiiiii:,:;iiiiiiiiiii********i++#nW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@#@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnz######+++++***iiiiiiiiiii;;;iiiiiiiiii*;*********++*z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@####@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz######+++****iiiiiiiiiiiiiiiiiiiiiiiii*;*ii*****++#izW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz######+++****iiiiiiiiiiiiiiiiiiiiiiiiii:ii******++#+xW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@####@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz#+####+++****iiiiiiiiiiiiiiiiiiiiiiiiiii*;i*****+++#xW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@######@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz#####++++***iiiiiiiiiiiiiiiiiiiiiiiiiiii**i****++++#x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@#@@@#@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnz#####++++***iiiiiiiiiiiiiiiiiiiiiiiiiiiii******+++#zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@#@@#@@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnz#####+++*****iiiiiiiiiii;*+iiiiiiiiiiiiiii*****++##zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz####++++*i;i*****i*****i,;*,:iiiiiiiiiiii******+*+#n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xzz####++++*****ii;;;iii**i*+;*+*iiiiiiiii*******+*i#x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@######
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xzz#######+*i;;::,,,,,,,,,,,,,:;;;iiiiiii;;i*****+++#n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xnzzzzz#+*;;:::,,,,...........`.,,:;i****;:;*****++++zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####
@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnzzz#++**i;::,,,,...,,.....,,:i**+++*iii*i;i*****+++#M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnzz#++###++*i;::,,.,,,,,,:;*+#zzz####+*iiiii****++++#x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnnz+#znnxxxnz#+i;,,,,,,,:i#zzzz#+iii*+++iii*+++++++##M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz##znxxxxxxxxn#*;:,,,,:;*++#+++*iiiii**i;ii*++++*+#zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz#znnnz##znzzzz+*;:,,,,:ii*++#z#+++**iii;;ii*+++++#zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz##zzzzzzzz####++*;,,,,:;i*++#nnzz##+*iiiiii*+#+++#zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mz####zznzznz#++##*;,..,:i*++i*#zz##z#+*iiii**+#z#+#zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@@@#@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz###znz++zz++*+#+i:..,:i***;:i++*****iiiii**+zxn###M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wn####znz**##*;i*+#i:,.,:ii**iiiii;;iii;iiii**+#znn##M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x####zz#+*+*;:;*++*:,,,:;i***iii;;;ii;;;iii*++#+*nnzM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mz######++**iii**+*:,,,:;;i******ii;:::;;ii*++#+;+#zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wz##++##++***ii**+*:,,,,::;;iii;;;:::::;;ii*++++;ii#W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wn##++++++***ii*++i:,,,,,::::::::::,,,::;;i*++++;;:*W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz#+******iiii***i:,,,,,,,,,,,,,,:,,,,::;i*++++;:,iM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz#+*iiiii;;;i***i:,,,,,,,,,,,,,,,,,,,::;i**+++;;:ix@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xz#+*i;;;;;;;i***;,,,,,,,,,,,,,,,,,,,,,:;i**+++i;;+W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xz#+*i;;;;;:;i***;,,,,,,,,,,,,,,,,..,,,:;i**++#i;in@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz#+*i;;;;:;;i***;,,,,,,::,,,,,,,,,,,,,:;i**++#++#x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@###@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xz#+*ii;;;:;;i**i;,,,,,::::,,,,,,,,,,,:;;***++##+#xW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mz#++*ii;;;;i***i:,..,,,,,::,,,::,,,,::;i***+##+*+n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mn#++**ii;;ii**i;,,..,,,,:::,,,::;;::;;iii**+##+*+zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wnz#++*iiiii**ii;,....,:ii;:,,,:::;;i;iiii**+##+*+zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxzz#+**iii***+*i:,..,:ii*;:,,,,:::;iiiiii**+##+*+zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xnz#++*iii**+#z#i::::;;;;:,,,,::;;;iiiiii**###+++zx@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz##+**iii**+###*ii;:::::::::::;;iiii*ii*+###+++#xW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz###+***ii**++#+*i;::::::::::;iiiiiiiii*+###++##zx@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnz##++**iii*****i;;:::::::::;i*****iii**+###++###nMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mnz###++**iiiiiii;;:;;:::::;;****ii*****+####++##znxMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxzzz##++*iiii;;;;;;;::;;ii+++**ii*****++####++##zznnxWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnzzz##+**ii;;;;;;;;iii*****iiii******+####+++##zzzzznMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxzzzz#++**ii*******+***iiiiiii***+**+####+++###zzzz#zznMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnzzzz#######++++**i;;;iiiiii****+++#####+*+###z#######znMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnnnzzzzzz##+*ii;;:::;iiiiii**++++#####+**+#######++####zxWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnzzzz##+*i;:::::;iiiiiii**+++#####+***+######++++++###nMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnzz###++*iii;iii*iiiii***+++#####ii**+#####++++++++++#znxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnzz####++********iiii**++++#####*ii**++###+++++*++++++##znxWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnzz###########+ii;ii**++######+*ii*++++#++++*+***+*++++##znMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMxxnzz##+##znnz+*i;ii**+++#####+*iii*+*++++++****++*+++++++##znMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnz##+++#zn#*i;;;i*++++#####+*iii+***+++++++***+***++++++###zxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnz#+++###*i;;;;i**++##zz#++*ii*****++++++++***++*****+++++##nM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnnz#+++++*i;;;iii*+++#zz##+****+*ii**++++++++***********+++++#zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnnz##+++++iiii****++#zzz#++**+++*iii*+++++++*+**************++#zxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnzz####z#+******++#zzz##+++++++*iii*+++++++*****iiiiiii******++zx@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnzzzz#znz#+++++++##zz##+++++++**i;i*++#+++*****iiiiiiiiii*****++#xW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnnzzzznnnz###++##zzzz##+++++++**i;i*+###++****iiiiiiiiiiiiiii**++zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnnnxxnzz###zzzzz##++++;i++*i;;i*+###++***iiiiiiiiiiiiiiii***+#xW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxxxxxxxxxxnzzzzzzzz###++#i:+++*i;;;*+###++***iiiiiiiiiiiiiii****++zMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxnxxxxxxMMxxnnnnzzz######*i++++*i;;;*+###+***iiiiiiiiiiiiii******++#nM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMxnnnnnxxxxxxxxnnnzzz#####*;+++++*i;;;*####+***iiiiiiiiiiii********++##nMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnnnnxxxxxnnnnnzz#####*;+++++**i;;i*####+****iiiiiiiiii*****+***+++##zxMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnnnnnxnxxxnnnnnzzz###+:+#++****i;;i*####++******iiiii*****+++++++++####zxWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxxnnnnnnnnnnxxxnnnnnzzz#z+;+#+++****iiii*#####+++++***iii*****++++++##+####+##zM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnnnnnnnnnxxnnnnnzzzz+;+#+++*****iii*+######+++**********++++++++########++#zxW@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxxnnnnnnnnnnnnnnnnnnnnnz+:*##+++**+**ii**+######+***********++++++++++#########+#zxW@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnnnnxxxxnnnnnnnnnnnnn#;+##+++++++****++#####++***+++++++++++++****+++#########+##xW@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxxnnnxxxxxxxnnnnnnnnnxn#i#zz#+++++++***+++++++++++++######++++++********++########+#zx@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@Wxnnnxxxxxxxxnnznnnnnnn+izzz##+++++++**+++++++++++#######++++++++*********+++#######+#zM@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@Mxnnxxxxxxxxxxnnznxnnz+*znzzz####++***++++++***+######+++++++++++**********+++#########zM@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@Mxxxxxxxxxxxnxxnnzzzz+#nnnzzz###++***+##+++***+###++++++******+**************++#########nW@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@WMxxxxxxxnnnnnnnnnzz*+znnnnzzz##+++*++###++****###+++++************i***********++####++++zM@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@WMxxxxxxnnnnnnnnnnnn##nnnnzz###++++++###++****+##+++++***iii******iii***********++###+++++nW@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxxxnnnnnnnnnnnnnxnnnnnzz###+++++##z##+*****###+++****iiiiiii*ii*i************++###+++++#M@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxnnnnnnnnnnnnnnnxnnnnzz##++++++##zz#++****+##++++***iiiiiiiiiiiiii***********+++###+++++nW@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnnnnnnnnnnnnnnnnnnzz##+++++##z##++****+##+++++**iii;;;iiiiiiiii************++###+++++zM@@@@@@@@@@@@@@@@#@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxxnnnnnnnnnnzznnnnnnnnzz##+++++##zz##++****+##++++**iii;;;;;;;iiiiiii***+*******+++##+++++#x@@@@@@@@@@@@@@@@#@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnnnnnnnnnzzzznnnnnnnz##+++++##zz##++*****+#++++**iii;;;;;;;;;iiiiii***********+++##+++++#zW@@@@@@@@@@@@@@@#@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@WMxnnnnnnnnnzzzzznnnnnnzz##+++++##zz#+++**i**+#++++*iii;;;;;;;;;;;iiiii******ii***+++##+++++#zM@@@@@@@@@@@@@###@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxxnnnnnnnnzzzzznnnnnnzz###+++++##z##++***ii*+#+++**ii;;;;;;;;;;;;;i;ii******ii***++###+++++##x@@@@@@@@@@@@####@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnnnnnnnzzzzzznnnnnnz##++++++#####+++**iii*+#+++*ii;;;;;;:::::::;;;ii***********++###+++++##nW@@@@@@@@@@@##@##@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnnnnnnzzzzzzznnnnzzz##+++++++####++***iii*+#+++*ii;;::::::::::::;;iii**********+++##+++++##nW@@@@@@@@@@@#####@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnnnzzzzzzznnnnzzz###+++++++###++****iii*+#++**i;;;::::::,,,,:::;;ii*****i****+++##++++++#zM@@@@@@@@@@@####@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@WMnnnnznnzzzzzzznnnzzz###+++++++++##++***iiii*+#++*ii;;:::::,,,,,,,::;;ii*****i****+++++++++++##xW@@@@@@@@@@@###@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@Wxnnnzzznzzzzzznnnnzz###++++++++++#+++**iiiii*+#++*i;;:::::,,,,,,,,::;;i****i******+++++++++++##nW@@@@@@@@@@@@##@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnnzzzzzzzzzznnnnzz####+++++++++###++**iiiii*+#++*i;;::::,,,,....,,:;iii****i*****++++++***++##zM@@@@@@@@@@@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnzzzzzzzzzznnnzzz###+++++#++++###+**iiii;i*+##+*i;;::::,,,.....,,:;;ii***iii****++++++****++#zx@@@@@@@@@@@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnzzzzzzzzzznnnnzz####++++###+++###+**iiii;;*+##+*i;;:::,,,.......,:;;ii**iiii****+++++*****++#zn@@@@@@@@@@@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnzzzzzzzzzznnnnzz####++++###+++###+*iiii;;;*+##+*i;;:::,,,..```..,:;;ii**iiii****+++++*****++##nW@@@@@@@@@@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnnzzzzzzzzzznnnzzz####++++###+####++**iii;;i*+##+*i;;:::,,...```.,,:;;ii**iiiii***++++*******+##zM@@@@@@@@@@####@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnnzzzzzzzzzznnnzzz####+++#########++**iii;;i*+##+*i;:::,,,..````.,,:;;iiiiiiiii***++++*iii***+##zM@@@@@@@@@#@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxnzzzzzzzzzznnnzzz#######+##########++*ii;;;i*+##+*i;:::,,,...```.,::;;iiiiiiiii***+++*iiii**++##zx@@@@@@@@#@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnzzzzzzzzzznnnzzz#############z####++*ii;;;i*+#++*i;:::,,,...``..,:;;;iiiiiiiii***+++*iiii**++##zx@@@@@@@@@@@###@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnzzzzzzzzzznnnzz#############zzzz##++**ii;;i*+#++i;;:::,,,.......,:;;;iiiiiiii****+++iiiii**++##zx@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@Mxnzzzzzzzzzznnnzz#############zzzzz##++*iii;i*+#++*i;:::,,,...`..,,:;;iiiiiiii*****++*i;iii**++##zx@@@@@@@@@@####@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@Mxnzzzzzzzzzznnnzz############zzznnzz##+*iiiii*+#++i;;:::,,,,.....,::;;iiiiiiii*****++*iiii**+++##zx@@@@#@@@######@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnzzzzzzzzznnzzz########zzzzzznnnzz##+*iiiii*+#+*i;::::,,,,.....,:;;iiiiiiiii*****++*iiii**++###zx@@@@#@@@######@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnnzzzzzzznnnnzz########zzzzzznnnnzz#++*iiii*+#+*i;;::::,,,....,::;;iiiiiiii******++*iii**+++##zzx@@@@@@@@######@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@Wxxnnnzzzzzznnnnzz########zzzzzznnxnnzz#+*iii*+##+*i;;::::,,,....,::;;iiiiiiii******++*iii*+++##zzzM@@@@@@@@######@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxnnnnzzzzznnnnzz########zzzzznnnxxnnz#++*ii*+##+*i;;::::,,,...,,:;;;iiiiiiiiiii***++iii**++###zznW@@@@@@@@######@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@WMxnnnnnnnnznnnnzz#########zzzznnxxxxnnz#+****+##+*i;;;:::,,,,,,,::;;;iiiiiiiiiiii**++ii**++###zzznW@@@@@@@@######@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxnnnnnnnnnnnnnzzz########zzzznnxMMMxnz#+****++++*i;;;::::,,,,,::;;;;iiiiiiiiiiii**++***++###zzznxW@@@@@@@@@@@##@@@
zxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@WMxnnnnnnnnnnnnzzz#########zzznnxMMMMxnz#+***+#++*ii;;;:::,,,,::;;;;iiiiiiiiiiiii**++++++###zzzznx@@@@@@@@@@@@##@@@
i*nW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxnnnnnnnnnxnnzz#########zzznnxxMMMMnz#++*++#++*ii;;;;::::,::;;;i;iiiiiiiiiiiii**++++###zzzzznnx@@@@@@@@@@@@##@@@
i*+M@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@Mxxnnnnnnnnnxxnzzz#########zznnxxMMMMxnz#++++#++*ii;;;;:::::::;;;iiiiiiiiiiiiiii**+###zzzzznznnnM@@@@@@@@@@@@##@@@
*++nW@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@WMxxnnnnnnnnxxnnzz##########zznnxxMMMMxnz#++##++*ii;;;;;:::::;;;;;iiiiii;;iiiiii**+#zzzzzznnznnnM@@@@@@@@@######@@
*++zxW@@@@@@@@@@@@@@@@@@@@#@#@@@@##@WMMxnnnnnnnnxxxnnzz##########zznnxxxMMxnz#++##++*ii;;;;;;::::;;;;;;;iii;;;;;iiii**+zzznzzzznzznnM@@@@@@@@@########
**+#zxW@@@@@@@@@@@@@@@@@@#####@@@###@WMxxnnnnnnnxxxnnnzzz########zznnxxMMMxnz#+++++*iii;;;;;;:::::;;;;;;;ii;;;;;iiii**#zznnnnzzzzznnM@@@@@@@@@########
**+##zxW@@@@@@@@@@@@@@@@#######@#####WMMxxnnnnnnxxxxnnzzzz######zzzznxxxMxxz##+++***iii;;;;;;::::::::::;;;;;;;ii;iii**#znnnnnnzzzzznM@@@@@@@@@########
+*++##zxMW@@@@@@@@@@@@@@@@##@########@WMxxxnnnnnxxxxxnnzzzz####zzzznnxxMMxn#++*****iiii;;;;;;:::,,,,,,,::;;;iiiiiiii**#zzznzzzzzzzznM@@@@@@@@@@@######
z#+###+##nM@@@@@@@@@@@@@@############@@Mxxxxnxnnxxxxxnnzzzzzzzzzzzznnxxxxnz++**iiiiii;;;;;;;:::,,......,::;;iiiiiiii*+#zzzzzzzzzzzznxW@@@@@@@@#@######
###+#+++++zW@@@@@@@@@##@@@@@@@########@WMMxxxxxxxxMxxnnnzzzzzzzzzznnxxxxnz#+**iiii;;;;;;;;;;;::,..`....,::;;iiiiiiii*+#zzzzzzzzzzzznxW@@@@@@@#######@@
*+++++****+x@@@@@@@@@##@@@@@@@@########@WMMxxxxxxMMxxxnnnzzzzzzznnnxxxxnz#+*iii;;;;;;;;;;;;;;::,..`....,::;;iiiiiiii*+#zzzzzzzzzzzznxM@@@@@#@#######@@
*****+****+zW@@@@@@@@##@@@@@@@@#########@WMMxxxxxMMMxxxnnnnzznnnnnxxxxnz#++*ii;;;;;;:;;;;;;;;::,,.....,,::;iiiiiiii**+#zzzzzzzzzzznnxM@@@@@@@#######@@
iii********#W@@@@@@@@##@@@@@@###@@@@####@@WMMxxxxMMMxxxxnnnnnnnnnnxxxnz##++*ii;;;;:::;;;;;;;;;;:,,,,,,,::;;iiiii*i***+#zzzz#zzzzzznnxMW@@@@@@@#@####@@
iiiii******#W@@@@@@@@##@@@@@@############@@WMMMMMxMMMxxxxnnnnnnnnxxxxn#+++**i;;;;;::;;;;;;;;;;;;;::::::;:;;iiiii*****+#zzz##zzzzzznnxxW@@@@@@@@@####@@
iiiii***ii*zW@@@@@@@@###@@@@@@@#@@@@@####@@@WMMMMxxMMMMxxxxnnxxxxxxxxz#++***i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii*******+#z######zzzznnxxW@@@@@###@####@@
iiiii***i**zW@@@@@@@@###@@@@@@@@@@@########@@WMMxxxxMMMMMMxxxxxxxMMxn#++****i;;;;;;;;;;;;;;i;iiiiiii;;;;;;iiiii******+#z#####zzzznnnxxM@@@@@##@@@###@@
iiiiii****+zW@@@@@@@@###@@@@@@@@@@@@########@WMxxxxnxMMMMMMMMMMMMMMxz#++***ii;;;;;;;;;;;;;;i;;iiiiiii;;;;;iiii*******+#z#######zznnnxxM@@@@@##@@@###@@
iiiiii****+zW@@@@@@@@###@@@@@@@##############@WxxxnnxMMMMMMMMMMMWWMnz#++***ii;;;;;;;;;;;;;iiiiiiiiiii;;;;;iiiii******+#z######zzznnnnxM@@@@@###@@###@@
ii********+#W@@@@@@@@@@@@@@@@@##############@@WxxxnnnxMMWWWWWWMWWWMn##+****iii;;;;;;;;;;;iiiiiiiiiiii;;;;;ii********++########zznnnnnnM@@@@@@@#@####@@
*********++#M@@@@@@@@@@@@@@@@@@##########@###@WMxxnnnxMMMWWWWWWWWWMn##++****ii;;;;;;;iiiiiiiiiiiiiiii;;;;;ii********++#######zzznnnnnxx@@@@@@@@@@###@@
********+++zM@@@@@@@@@@@@@@@#########@@#######@MxxxxxxMMMWWWWWWWWWMnz#+++****iiiiiiiiiiiiiiiiiiiiiiii;;;;ii******++++######zzzznnnnxxxM@@@@@@@@@@@#@@@