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