.;.,;,.;....;...::..::,.....,,,,,,,:,,,::::;::;;;;;;;'+++++''++###@###############+#+#+++++++++++##+++''''+++##@#####+''''''+++###
.:::;:.:,...:.::.:..,:`.....,,,,,,,:,,,::::;::;;;;;'+++++++#'+;;'############@######++++++++++++++##++'''''++########+++''''+++###
..::...;....;,:;.,:........,,,,,,,,:,,::::::::;;;''++++++##@#',:'++#@@@#######@#####++++#++++++++++#++'''''++########+##+++++#@###
...:;:;;....:::..,:........,,,,,,,,:,,::::::::;''''++++###+++:,:'#+#+####@####@@######+++#++++++++++++'''''+++#######+++'''+++####
;:,,,,,......::..;,.........,,,,,,,:,::::::;;;''''+++##+'';'';:;;#+#++++###@###@@#####+###++++++++++##+''''++########+++'''+++####
,,..,,:;;:,...,;;,..........,,,,,,,::::::::;;''''++##'';;;;''+':;##+++++++###@@##@@@####+++++++++++++@#+#############+++'''+++####
::::::;:,,..,,:;:,.........,,,,,,,,:,::::;;;''+'+##+;;;;;;;''+#:'##++++++++####@##@@#######+++++++++++@+'+++#########+++''''++####
::::::';,::::::,,,.........,,,,,,,:::::::;;''+++##;;;;;;;;;;''+:'#+++++++++++########@###+#+++++#++++++@++++#########+++''''++####
::::,:'',,::::::,,..,...,.,,,,,,,:::::::;;''+'+#+;;;;:;::;;;'';''#++++++++++++++##@##@#####++++++##++++@@+++#########++'';''++####
:,::,:;',:,:::::....,,,,,,.,,,,::,::::::;'''++#';;;;::::;;;;';#;'#'+++++++++++++###@##@###+#++++#+++##+###++#########++'';''++#+##
:::::::',::,::;+....,..,,,,:,,:,,,:::::;''''+#';:;::::::;;;;;##;'##;+++++++++++++####@######+++#+###++##@##+#########++';;''++#+##
,::::::::::::,'+,..,,,,,,,,:,:,,,,::::;;'''+#;;::::::::::;;;#####@#';'++++++++++++++##@#######+####+#++#@############++';;'''+#+##
,;:,..,,,,:::;'#:.,,,,,,,,,:,,,,:,::::;'''+#;;::::::::::;;:######@#+';++++#++++++++++##@#########+###################++'';'''+####
...,:;'''';:.;;#,.,,,,,,,,:,,,:,:::::;;''+#;::::,,::::;;;:+#########+';++++#+++++++++###@######+#+++################+++';;'''+####
...........,:;;+:,,,,,,::::,::::::::;;;'+#';:,:,:::::::;;+###++''+##@+':##++#++++++#+####@########++################+++