+#i#+*#*+#*#+*#*+#*#+*#*+#i#++#*#+*#*+#*#+*#*+#i#+*#*+#i#+*#*#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z*##*z++z*##*#++#*##+z+##*#++z*##*z++z*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#*##*#++#*##*#++#*#+*#*+#*#+*#*##i#++#*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#++#*##*#++#*##*#++#*#+*#*##*#++#*##*#++#*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**#i++i#**#i++i+**+i++*+*++i+**#i++i#**#i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*#*+#i#++#*#+*#*+#*#+*#*+#i#+*#*+#i#+*#i#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z*##*z++z*##*z++#*##+z+##*#++z*##*z++z*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#*##*#++#*##*#*+#*#+*#*+#*#+*#*##*#++#*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#*#++#*##*#++#*##*#++#*##*#*##*#++#*##*#++#*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i#**#i++i#**#i++i#**#i++*+*++i+**#i++i#**#i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*#*+#i#++#i#+*#*+#*#+*#*+#*#+*#*+#i#+*#*#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z*##*z++z*##*z++#*##+z+##*#++z*##*z++z*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#*##*#++#*##*#++#*#+*#*+#*#+*#*##i#++#*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#*#++#*##*#++#*##*#++#*#+*#*##*#++#*##*#++#*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**#i++i#**#i++i+**+i++*+*++i+**#i++i#**#i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*#*+#i#++#i#+*#*+#*#+*#*+#i#+*#*+#i#+*#*#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z*##*z++z*##*z++#*##+z+##*#++z*##*z++z*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#*##*#++#*##*#*+#*#+*#*+#*#++#*+#i#++#*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*#+*#*+#*#++#*##*#++#*##*#++#*#+*#*+#*#+i+*##*#++#*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**#i++i#**#i++i+**#i++*+*++i++;*i++i#**#i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*#*+#i#++#i#+*#*+#i#+*#*+#i#*:**+#i#+*#*#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z*##*z++z*##*#++#*##+#*##*#i;*+++*z++z*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#*##*#++#*##*#+;i;ii;i;*#*+i:*+*i*#++#*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*#+*#*+#*#++#*##*#++#*##i;;;:.;,,:,;;;i:,i+iii#++#*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**#i++i#**+i;;,,:,:.:,,,.::.,.,*+iii#**#i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*#*+#i#+*i:,:.:,,:.,,,:.:,.:.,;i;:i#+*#*#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z*##*#*;,,,:,:,,;:;:,;,:,,:,,,.::;#++z*##*z++z*##+z+##*#++z*##
+#*##*#++#*#+*#*+#*#+*#*##*+;:::::,:::::i;i::::,:,::,;:ii++#*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#++#*##*;:,,,,:.:;i;;iii;;i,,;,,:.:,:;++#*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**#i+*:,,,,,:;ii;i*+*++**i;.,.,:.:,:,i*#i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*#*+;,,..,::;i*+++#+##++*;.,.,,.:,.:,*#i#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++z+;:,,:,:;i+#+###++##+#*;,,,:,.::::,i+*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#;;:,:,;ii+##++#+++##+#*;,:,::,;:,:,;**##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#++#::,,,:;i*+##+##+++##+#+:,:::,.;:.:,:ii##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**i::,,;;i*++++*+++*+++++i,.,,:,.,,.:.:,i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#++;,,,,;:i*+*##+##+*+++++i,.:,:,.::.,.:::++*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++::,::;i++++##+##+*+++++*;,:::,.:::,,:::*#*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*:,::;;*#+#+##+##++###+#*:,::::,::,:,:::i#*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#+;,,,,;;*#########+#+###+;:,:,:,.,:.:.,:,i+*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+*;,.,;;i+++*+#+++++++++*i;:.:,:,.::.,,:,.:*i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+:,,,;i++*#i#+*+####+##*;,,.,,::.,,.;:::,:**#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#+;,,;#*#++z*##+#####+#+*::,.:,:::;,,;;::::+*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+;::i#*#++#*##*#++##+##+:::,;,::,;:,i+i;:;**#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#+;,:i#*#++#*##*#+++#++**i+i:;:i;:::,*+*:,:+*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+*;,,i+i#**#i++i+**++*+*;i+i,:;*+i;:.:**:,;+i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*,,i#i#++#*#+*#*+#+**i;;#*,:i**ii,.:i::,;+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++:,;+*z++z*##*z++##++;;;*#i;*iiii,::;:::*#*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#++;,;+i#++#*##*#++##+#*i:i+#*iii;;;::i:::##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#++*,:**#++#*##*#++#+++*i;i**+ii;;;++;::,i##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**#:,;+***+i++i++++++++i;ii*++#+++#;:::;*++i+**#i++*+*++i++*#i++
+#i#+*#*+#*#+*#*+#*#+*#;::;i++#i#+*#++#++++*i;:;++***i:,:,,**#+*#*+#*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+##*#++#+*i;i++#*##*#+#++###++*ii**ii;::,;;+#*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#+*+i;*#+++#*+###+#++#+++i;ii;;:::;;*+*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#*#++#*;*i*+###++++##+*#++#++++*+i;***;iii+*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**+;:;i*#++++#+*+++i++*++++++++*i+#+*i;**++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*+:,,:i++#++##++++*++*+++++++#++*#+*;::i#+*#*+#*#+*#*+#i#+*#*+#
+z*##*#++#*##+#+##*#+++:,:i*++#++##+##+#+##+#+##+##+*###*i::*##*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+**:::+#++#*#z#+###+###+####+###*##++i::*##*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#+++:,:*++++*#+*#+++#+####+#++++#*##+*;::*##*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i+**+;,:i++##*++i#++#*#+*#*+#*#**+i+++i;,:i++i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+*+,,:;i+##+++*+*+#*#+*#*+#*#+++*+#*::,,*++*+*+#*#+*#*+#*#+*#*+#
+z*##*#++#*##+#+#*i*ii+*;i*i++#++#++++#*##++++#+++#+*##+;;;***ii*i+#*##+z+##*#++z*##
+#*##*#*+#*#+*#+ii;;;ii+++i;*+#+##+++#+#++#+#+##+++#+#*ii;++*i;i;ii**#+*#*+#*#+*#*##
+#*##*#++#*#++**+*i;;ii++#+i;++*##++++++++++++#++*+#++*i*+#+*i;;;;ii*++*#*+#*#++#*##
*#i++i#**+i+++*;ii;;*+*++#+*+#+i++*+*+++*+++++++++*+++++*+#+++++*iii;i+*+*++i++*#i++
+#i#+*#*+#*#+*::;;i*+++++#+++#++++*#*##+++++++#+++#++++#++#+++++*+*;i*+*#*+#i#+*#*+#
+z*##*z++#*##+***+#+##+++#+++###+#*#++#*##+#++#+++#+#+#++##+++##+##***#+z+##*#++z*##
+#*##*#++#*#+++#+##+##+###++++####*+++#*#+*#*+#++####+##+#######+##++#+*#*+#*#+*#*##
+#*##*#++#*##++#+##+#######+#++**+*++*+*++++++++++++*+##+#z#########+#+*#*+#*#++#*##
*#i++i#**+i++*#+i++++#+++#+*+#+++#*#++#*++*+*++*++++++#+*+#+++#++#+*i++*+*++i+**#i++
+#i#+*#*+#*#+++i;i++##+#+##+##+++#*#*+#*++*++++*++++++##+##+#+#++*;i*++*#*+#i#+*#*+#
+z*##*z++#*##+*i;i++++#####+##+++#++++#*##+#*##++##+#+##+##+#+##+iii*+#+z+##*#++z*##
+#*##*#*+#*#+iii;*++#####z+##z#####+++++++++++#++#####z#+####+##++*;i*+*#*+#*#+*#*##
+#*##*#++#*#+ii;i++###+++#+*+###+z##++#++++##+##++#+#+++++*+**##++*;ii+*#*+#*#++#*##
*#i++i#**+i+ii;;i++*++++++*+*++++++*i;;;;ii;:ii+*++++*+*+*++*+++*++i;;**+*++i+**#i++
+#i#+*#*+#*+;;;;++#++++++#++*++*++*+*::.,,,::;*#++++*++*+*#+++##+##+;;;i#*+#i#+*#*+#
+z*##*#++#+*;i*+##++++##+#++++#++#*+*;;,;,,::;+#+++#++#+++##++##+##++;;i++##*#++z*##
+#*##*#*+#*iii*+##+++###+#++++#++#*#+i;,;:,;:;+##++#++#++++#++#*####+iii**+#*#+*#*##
+#*##*#++#*iii+###+***##*#+++*#**+*+*i;,::,::;********#+*+*+#***+##+#+ii*++#*#++#*##
*#i++i#**#iiii+++++++++++#*+++++++*++i;;;::;;;i+++++*+++*++++++*++++++ii;i++i+**#i++
+#i#+*#*++;:;i+#++++++++*+++++#++++i:;:,,:,,,;;i++++*+++++++*++*++#++*i:;i+#i#+*#*+#
+z*##*#+#+i;*++#+#*+++##+#++++#++#+*ii;;;;;;;i*#+++#++#++++#++#+++#+#++iii+#*#++z*##
+#*##*#+#**;+#+#+#*++++++#+##+#++#+++i;;;;;;:ii#+++#++##+#+#++#+++###++i;i*#*#+*#*##
+#*##*#+#+ii++#+++****+**++*+*#**+*+iii;;;;;;i+++**+**+*+#*+**+****###+*;;i#*#++#*##
*#i++i+*+*;i++++++*+++#+*#*+++++++*++*i:;;;;:i++++++*+##++++*++*+++++*++;;i+i+**#i++
+#i#+*#+*;:i+#++++*+++####+*+#+++++++;i;::::;*i*++++++#+*+##+++*+++##++*;ii+i#+*#*+#
+z*##*z++i*+##+++#*++++++##+##++##++#*i;;:;;;*++++#++##+++#++++*+++##+#+i;i#*#++z*##
+#*##*#+*+++###++#*++++#+##+#z#++#+++*i;;;;;i*i+++z#####+##+#+#++++#+###*;*#*#+*#*##
+#*##*#+i*++###+++***++++#++#z##+#++#*i;i;;ii**+**z###z#++#++++****####+*i*#*#++#*##
*#i++i+*ii++++++++*+++*++#+*+#++++*++*ii*++**i**++++++#+++#+i*+*++++++++ii++i+**#i++
+#i#+*#+*;**+#++++*++;i++##+##++++++++i::;;;:;*+++++++##++#+*i#*+++##+++*;i+i#+*#*+#
+z*##*#+#i++##+###+++*+#+##+##+#+#+###*;;i**;;*+++#+#+##+##+++#*++++#+##+i+#*#++z*##
+#*##*#*++++#######+#+++##+##z####++##+;;ii;;+#*++####z#+##+++#++#######+++#*#+*#*##
+#*##*#++#++#######++++##z#+#+#+++*+#+*;;;i;;*+***++##z#+####++#+######+**+#*#++#*##
*#i++i#**++*+++++++++++++#*++#++++*++++i;;;;;*+*++++++#+*+++++++++#++++++*++i+**#i++
+#i#+*#*+#+++#+##+#++++#+#++#+#+++*+#+*;::;:;+#+++#++###+##++++#++#+#++++*+#i#+*#*+#
+z*##*z++#++##+#++#+##+++#++#+#++#*++#++;;;;+++*+++#++#++##+++#+###+#+###+##*#++z*##
+#*##*#++#*###############+#++#+++++#+++i;;i++++++++++##+#z####++####+#*#*+#*#+*#*##
+#*##*#++#*#++###########z+++*#*++*++++*i;;*+++*******+++#z#####+#####+*#*+#*#++#*##
*#i++i#**+i++++++++++#+++#++*++*++*++**i;i;i+++*++++*+++*+#+++#+++++*++*+*++i+**#i++
+#i#+*#*+#*#+*#++##+##+###++*+#+++*++++++++++++*++++*+++++#+#+##+##+*#+*#*+#i#+*#*+#
+z*##*z++#*##+#+###+##+#+#++++#++#+#++#*+++#++#++++#++#*++###+##+#+#*##+z+##*#++z*##
+#*##*#++#*#+*#*+##+####+#*+++#++#++*+#*#++#*+#*#++#++#*+++####+##+#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#+###+**+****+**+*#++#*#+++*+#++**+**+****+###++*+#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i#+++*++*++++*#+i+**+i++*+*++i#++#*++*+++++++*#**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+++++#*+++#*#+*#*+#*#+++*+#i#+*#++#*+++++++*#*+#*#+*#*+#i#+*#*+#
+z*##*#++#*##+#+##*#+#+#+#*#++z*##*#++#+++++++#*#++#++#*#++#++#*#++#*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+*#++#i#++#*#+*#*+#+++++++#*#++#*+#i#++#+*+*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##*#++#**#*#++#*##*#+++*++****+i#+++++#*#++#+*+*#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i++i+*++i+**#i++i+*+#i++++*+#*+*+++++i++++ii+i+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*#+++*+##++*#*++*++++*++++#*+i#+++++#i#++++i+*#*+#*#+*#*+#i#+*#*+#
+z*##*#++#*##+#+##*#+#+*###*++z++#*#+#+++##+#+#*#+#+++#*#++#++#*z++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#+##*+##+++#*+#*#+#####+#++#*#+#+#+#i#++##+#*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#*#+#+*###+++#*++*#++####*+**+*++#+++#*#+++*#*i#++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++*++#+i+#*+**+i#+i+*+++*+++++#*++*++*+i+**+++**+**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#*i*++*##+++*#i#+*#*+++++++++#*++++++#i#++#++i;+*+#*#+*#*+#i#+*#*+#
+z*##*#++#*##+#+##+**##++#++++#*##*#++#++##+++#++++#++#*#++#++*i+++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#+*++#++#++++#i#+*#++#++#i*++#++++#++#i#++###*i+++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##+++++*+z++++#*#+*#+*+*++**#*+*++*++##*#**++#+i*++#*#+*#*+#*#++#*##
*#i++i#**+i++*#*+++i*+#++#*#**#i++i++++++#*i++#*+*+#++#*+++#*++ii**#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#+i*+#++#*#+*#i#+*#++++++*i+++*+++#+++*+++#*+#***+#*#+*#*+#i#+*#*+#
+z*##*#++#*##+z+##++++#++#*#++#*##*#+++++#+*++#+#++#++#*#++#++##*++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#++++#+##*#++#*#+*#++###++++##+#+*###z*#++#*+#++++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*##+++*+#+zi#++#*##*#*+#+*+#++++*+++#*#zi#++#*#+++++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*+#+++*#+++*+**+i++i#++++++#+++#+++*+*+#i+**#*+##***#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#++++#+++*#++#i#+*#++#+++++#+#+++*#++#i#++#*+##i*+#*#+*#*+#*#+*#*+#
+z*##*#++#*##+#+###+++#++#++++#*##+#++#+###+#+#*#++#++#iz++#++##**+z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*++++###++++#*#+*#++#+#++**+#*#+*#+##i#++#++#++++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#i++*+#++i+++#*##*++#+*##+*i++*#++#*+z+++++**##+++#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++i*+*+++#*+**+i++*++++*++**i++*+**#++#*+*+#++++***#i++*+*++i+**#i++
+#i#+*#*+#*#+*#*+#++#++#++*#+*#*++*+#***#+*#+*+*#++#++#++++#++#++*+#*#+*#*+#*#+*#*+#
+z*##*#++#*##+#+##+#+#+++#*#++#++#+++i**##+#+++*#++#++#++++#++#+#++z*##+z+##*#++z*##
+#*##*#*+#*#+*#*+#*#++##+#*#++#++##++++*#+*#+i+++++#*#z#+++#+++*#++#*#+*#*+#*#+*#*##
+#*##*#++#*##*#*+#*#++#++#*++++*+#++#+#*#+*#++#++++#*#+*+*iii*+*+*+#*#+*#*+#*#++#*##
*#i++i#**+i++*+*++*+***;*++++*#*+#i+++#i++*+*++i*+*+*+#*++*;i*i;;;i+i++*+*++i+**#i++
+#i#+*#*+#*#+*+i*i;;:;:::*++++#++#***+#*#+*#*++;*+++*+#*++;:;::,,,,,**+*#*+#*#+*#*+#
+z*##*#++#*##*i;:,,;::;;:+++++#++*i+++#*##+z+##i*+##++#++++i::,,:,,,:;++z+##*#++z*##
+#*##*#*+#*#*i:,:::::,::i#++++++*ii+*+#*#+*#*++ii*++++#++#+;,::,:,::,;i*#*+#*#+*#*##
+#*##*#++#**;,::,,,:,,,,i#+**+++*+;*++#*#+*#*+*i*ii*#++**++::::,:,,:,,:*#*+#*#++#*##
*#i++i#**+**,,:,,,.:.,,,:+++++++++*i**+i++*+*+*i*+#+++#*+i;::::.,.,,.,,:+*++i+**#i++
+#i#+*#*+#*:,,,.,,,,,,:::i*++++++#*i*+#*#+*#*+i;*+++*+#++;;:::::,:,:,,,:+*+#i#+*#*+#
+z*##*z++#i:,::.;:,::;:;;ii+++#++#**++#*##+z+#*i*++#++#++*i;;;;i:;;;;:,i#+##*#++z*##
+#*##*#++#;:,:::::;;i+i;;+++++#++*i*++#*#+*#*+*i**++++++++++*iii+++++*++#*+#*#+*#*##
+#*##*#++#,;,;::i;;;ii;;i+++##++++i*++#*#+*#*+*+++##+##+++##+#++#+##+#**#*+#*#++#*##
*#i++i#**#+i;i*i+++++#++*+*#++#*+#****+i++*+*+#i++++**+*+**+*++**+++**+*+*++i+**#i++
+#i#+*#*+#+++++++#*#++#++#*++##*++*+*+#*#+*#*+#i#+++*+#+++##+++++++#*#+*#*+#*#+*#*+#
+z*##*z++#+##*++++++++###z+#++z*##*#++#*##+z+##*#++z*##*z++z*##*#++#*#++++++*+++#*##
+#*##*#++#*#++#++#+##+#*+#*#++#*##*#++#*#+*#*+#*#+*#*##i#++#*##*#++#+#+++*++**++**##
+#*##*#++#*##*#*+#*#++#*##*#++#*##*#++#*#+*#*##*#++#*##*#++#*##*#++#+#+#**++**#*++++
*#i++i#**+i++*+*++i+**#i++i#**#i++i+**+i++*+*++i+**#i++i#**#i++i+**+++*+*+*+*i#*++++