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