..:.                 ,,:,::,+*##***##################################################################################################**+:,.          ,         
               ..,,,::+#**##################****************:,,,,,,,,::::,..,*+++++++++++++++++++++++++*********************************+::,          +        
           ,,,,:+#**############**++***#**#*******+:,,,,,,,::::,,,,,,,:+##**##########**********########**#######################*......*+:+,          *       
     .,,:::,:,,#########*:+++***+***********+............,,,,,::::,,****##******+++++:::::::::::+++++*******#*#+####################.....*::+,          +.     
.:::++*###########*+:::::*+**+#********:.......  ...........,,,:,,*****++++:+:,::::,,,,,,,,,,,,,,::+**++********#####################*....*+:+,          :.    
+*#*#########*++::,,,::****+******+,....,,,......   ...  .......,+++***++::,::...,****......:*:,,,:###****####***######################....*+:+,          ,.   
########*+++:::,,,,::+***+***+,,,.,,,,,,.........   ....   .   .++,::,,,..  ++,......  . ,***#,..,,*####*+++****#*######################....*+:+,          ..  
###*++++:::::,,,,:+:**+++:,,,,:::::,..............   .....   ..*+:,,,...  ..    .,:*: ...+***#*#*:...,+*:::++****#**#####################....*+::,          ., 
++++:::::,:,,,,:++**:***+:++*******+:,,,,,,,,.......  ....   .**++::,,,.....,,..+**+,....,,,,:+. ....::.,,:::*##**#*#####################,....*+::.          .:
+::+:::+,,,,,:+***:::::::..:+++++:,,,,,............... ...   :*+::,,,,,::,..,,,******+.    .:.     ....,+**+:*##**#################***####.....*:::.          .
::++++,,,,:++**+,:++++::++++::*****+:::+:,::,.  ....        .,++:,:,,,,:++:,.    ,+:       ..    ., ...*##*,.,*#,+*#########**+++:++++*###......*:+:.          
++++,,,,::+**+***+:+++*****+++::*++++:,,,...,,,......      +:,,,,,,,,....... ..,+,          . ...... .:#**:,,+++*#::+*####*********#######....*#**:+,          
+:,,,,::+**+***+++:,:+++:+:::::,,,,,,,,,,,...,:::::,..    ..,.....................................,. ,**#:,,,*#*+:+++#############################+:+,         
,,,,::+**:******++*+:::+++++::::,,,,,,,,,,...,::++::.   ..,,,,,::++**+::::,,,**##+,::::::::,:,:...,. +*#*##*:++#*+*##*########**#**###############*+:+,        
,,:*+**+++,:*++****+*++,,*+::+:::,,,,.,,,,,..,::,,+**+:::+:,,,,,:+:**::::::::+++,,,,,::::::::+*...,.,+**#*::::++++*##*########***#################,*:::.       
:**+*+++****,:***********,:**********+::++:::::::::::+++++,,,,,,:*+#*:,,:,,,,:,::,,,,,,,,,,:+*#:..,...:*:,:::+**+***+*###########################,..*::,.      
*++***++*+:+*+,:+******+:*,:********+::,:+++++:::+:,,+++++,,,,,,:#:#::,,,..,,:,,,,,,:,..,,,+*##:..,..+:,,,::*##**:+++#########################*+.....*:+,      
***::+++++****++,,**+++*****::+***+:+***+,,++++:::+++:,+++,,,,,,:#+#,,,......,:,,,,,....,,:*###,..,.:*##+::*##::::+**#########################*:.....:+:+,     
*****::*+********+::**********+::+*********:::::+++++++:,+,,,,,++*+*,,,,.,,..,,,......,,,:+*###...,:*#*+::,,*::::+*##*#######################+#.......*+:+     
***+:+:,+********::,:+********+,,+*********+,,:++++++++++,,,,,+***.+.,,,::::,...,,..,,**+++*......,,:*+:,,::,,:#*#*#*#########################........**:+,    
*+*#####+,:***++*****:,+****++***+,:+****+:+*+,,++++++::+*:,,:#:,......:+:+:,,,:,,,****..  . ,. .,*####*,,,+,:+#*############################........*#*:*,    
****####**+::+*********:,+++*******+::+++****+++:,++:++*+*+:,,........................ .:. .,,:::+####++,,,+###*#################.##########,.......+##*++:    
:***###***+:,:+*********:,***********:,******++++*,:******+,,,,,............ ........ .,:::+:::,,,+*:::++##################################+.......+###*++:    
*+:*###*++++++::++++++++++:::******++**::*****+++:+::++++++:.:. ..... .,:,.    .,,......,,::,,,,:+,::+*######################################*:...*####*:+,    
****++*+**++++++::++:++++++++,:++:+++++++::+++::++++::++++++::,  ..    ,,,..........,.,*,,,,,,,+##***##*#*##########***##################*######*******+:+.    
,.,,..,,,,..,,,+**##########################***###++++++::::++,:****++,,,........,.:##:::,,,,,**###*##############************##############***********+++     
,,:,,,::++:::,:+*+*****#########*******+++***************####*++++*:,,:,,,,,,,,,*##+,:::,,,:+*****###################################*###*************++#,     
#***#####*######*+:::,,,:,:+**################################*+*++*,:*+,::+++,,:,+++:,,:::::::**########################****#######*###*#####*******++**.     
####+***######******##*++**#*###################################+*+::,,::::,.,:+++:,,,::::*######*######################***#######*#############*****++*,      
####****+#####**:#######*+***####################################++*****+*:+,+::::::+*#########+###*####********###*********#*********+++++++++::::::,:,.      
::::::::::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,.,,,,,,:::,,:::+:::        
::,:,::::::::::::,:::::::::,,,,,,,,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..:.                 ,,:,:::+*##***##################################################################################################**::,.          ,         
               .,,,,::*#***#################****************+,,,,,,,,::::,..,*+++++++++++++++++++++++++++*******************************+::,          +        
          .,,,,:+#**############***+*******#******+,,,,,,,:::::,,,,,,,:+##**##########**********########**#######################*......*+:+,          *       
     .,,,::,::,#########*::++***+***********:.............,,,,::::.,*****#*****+++++::::::::::::::+++*******#*#*####################.....*+:+,          +.     
.::::+*#*##########+:::::*+**+#********,....................,,,,,,*****+++++++,::::,,,,,,,,,,,,,:::+**+********######################*....*+:+,          :.    
+*#*#########*++:,,,,::****+******+,....,,,......  ....  .......,+++*+*++::,:,,..,****......:*:,,,:###****####***######################....*+:+,          ,.   
########*+++:::,,,,::+***+***:,,..,,,,,,.........   ....   .    ++,:,,,,... ++,......  ..,**##,...,*#####+++****#**#####################....*+:+,          .,  
###*++++:::::,,,,:+:**+++:,,,,,::::,..............   .....  . .*+::,,...  .. .. .,:*:.  .+**#*##*:...,**::::+****#**#####################....*+::,          ., 
++++:::::::,,,,:*+**+***+:++*******+:,,,,,,,,.......  .....  .*+++::,,,.....,...+**+.....,,,,++. ....::,,,:::*##**#*#####################,....*+::.           :
+::::::+,,,,,:+***:::::::..:+++++::,,,,...............  ...  :*++:,,,,,,:, .,,,******+.    .:.     ....,+**+:*##**#################***####.....*:::.           
::++++,,,,,+:***:+++++::++++,:*****+:::+:,::,.   ....       ,,:+:::,,,,:++:,.    ,*:       ..    ., ...*##*,.,*#,+###########*++::++++*###......*:+,.          
++++,,,,::+**+***::+++******++::*++++:,,,...,,,......      +:,,,,,,,,....... ..,:.         .  ...... .:***,,,+++*#+++*####**#******#######....+##*:+,          
+,,,,,::+**+***+++:,:+++:++::::,,,,,,,,,,,...,::::::..    .,........,.............................,. ,*##:,,,*#*+:+++*############################+:+,         
,,,,::***:******++**:,:+++*+::::,,,,,,,,,,...,::++:,.   ..,,,,,:::***+::::,,,*###+,::::::::,,,+...,. +*#*##*::+*++*##*########**#**################+:+,        
,,:****+*+::*++***++++*,,*+::::::,,,..,,,,,..,+:,,++*+:::+,,,,,,:+:**::::::::+++,,,,,::::::::+#...,.,+**#*:,::++++*##+########***#################,*:::,       
:**+*+++****,:***********,:**********+::++::::::,::,:+++++,,,,,,:*:#*:,,:,,,,,,::,,,,,,,,,,:+*#:..,...:*:,:::***++**+*###########################,..*::,.      
**+***++*+++*+,:*******+:*::********+::,:+*++++::+:,,+++++,,,,,,:#+#::,,....::,,,,,,:,..,,,+*##:..,..+:,,,::*#***:+++#########################*+.....*:+,      
+**::*+++******+,,**+++*****::+***+:****+,:*+++:::++*:,+++,,,,,,:#+#,,:......::,,,,,....,,:*###,..,.:*##+:+*##::::+*##########################*:.....:+:+,     
*****::**+*******+::**********+:++*********:::::+++++++:,+,,,,,++*+*:,,,.,...,,,......,,,:+*##*...,:##*+:+,,*::::+*##*#######################+#.......*+:+     
***+:+:,++*******::::+********+,,+*********+,,:++++++++++,,,,,+***.+.,,::::,,...,,..,:+*+++*......,,:*+:,,,::::#*#*#*#########################........**:+,    
*+**####+::***++*****,:*****++***+::*****+:+*+,,*+++++::+*:,,:#:,......:+::::,,:,,,****..... ,. .,*#####,,,+:::#*############################........*#*:+,    
****####**+::+*********::+++*******+::+++****+++,,++:++****,,,,,...................... .,. ,,::::+####++,,,+###*#################.##########,.......+##*++:    
:***###**++:,:+*********:,***********:,******+++*+,:****+*+,.,,............. .. ....  .,:::+:::,,,+*+::++##################################+.......*###*++:    
*+:*###*++++++,:++++++++++:::******+++*::****++++:+::++++++:.:. .... ..,:,.    .,,......,,::,,,,:*:::+#######################################*:...#####*++,    
****+++***++++++::++:+++++++:::++++++++++::+++::+++++:++++++::,. ..   .,,.....,.......,*,,,,,,,+###**##*#*##########***##################*######*******+++.    
,,,,..,,,,..,,:+**##########################***##*++++::::::++::+****+,,.........,.:##:,:,,,,,**###*#############*************##############***********++:     
.,,,,,,,:+,:,,:********#########******++++***************####*+*++*:,,:,,,,,,,,,*##+,:::.,,:+*****###################################*###*************++*,     
#***#####*######**:::,,,:,,+**################################*+*+:*,:*+,::+++,,,:+++:,,::::::++*#########################*#*#######*###*#####*******++**.     
####+****######*****##*++**#*###################################+*+::,,:::+,.::+++:,,,::::*######*#######################**#######*##############****++*,      
####****+#####**:#######*+***####################################++*****+*:*,+::::::+*#########+###**###********###********###********+++++++++::::,,::,.      
::::::::::::::::::,::,:::,::::::::::::::::::::::::::::::::::::::::::::::::,:,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,.,,,,,,:::,::::+,::        
::,::::::::::::::,:::::::::,,,,,,,,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..,.                 ,::,:::+*##***##################################################################################################**::,.          ,         
               ..,,,::*#**##################****************:,,,,,,,,::::...  ++++++++++++++++++++++++**********************************:::,          +        
          .,,,,:+***############***+**************+,,,,,,,,::::,,,,,,,:+##**###########*******#########**########################*......*+:+,          *       
     .,,:::,::,#########*:+++***+*#*********:.............,,,,::::,,****##******+++++::::::::::+++++*****#####*#####################.....*+:+,          +      
.:::++*#*##########+:::::*+**+#********,........ ............,,,,,*****+++++:+::::::,,,,,,,,,,,,:::+*##***###########################*....*+:+,          :.    
+*#*#########*++::,,,::****+******:.....,,,......  ....  .......++++++***+:::,,,...+**+:....,+**,,::*#####**###########################....*+:+,          ,.   
########*+++:::,,,,::+***+***+,,,.,,,,,,,........   ....   .   .+++::,,,,... .*:....... . .+#*#*,,::****#*++*#*#########################....*+:+,          ..  
###*++++:::::,,,,:+:**+++,,,,,,::::,..............   ......  .,:+::,,.....  ..  . ,+**,  ..*#####*:,,,,+*:::+*###########################....*+::,          ., 
++++:::::::,,,,:*+**+****:++******+::,,,,,,,,..,....  .....  .**++::,,,,... ..,,..***+::::.   ,+:.....,:,,:::+*#**#######################,....*+::.           :
:::+:::+,,,,,:+***::::::+..:****++::,,,..,............  ...  :*++:::,,,,,.., ..,,+****++.    .,   .....,,*##*:*#**#################***####.....*:::.           
::++++,,,,,+:***::::++::+++*::***+::,,:::,,:..   ... .      ,,,:,:++::::::++:,.    .+:       ,,. .,.,...:#*+,.,*+**#*#######**++++++++*###......*:+:.          
++++,,,,::+**+***::+++********::*++++::,,,..,,,......      ,,,,,,,,,,,............,,         .  ......,,*#*:.,+*#*++######*******#*#######....+##*:+,          
+:,,,,::+**+***+++:,:++:+:::::::,,,,,,,,,....,::::::.     .,,.......................................,..:***+++*++*:+*#############################*:+,         
,,,,::+**:******++*+:,:++++:::::,,,,,,,,,....,::++::.   ...,,,,:::#+##::::,,,+*+**:::::::,,:,,:##,..,..+####*:++****#*#########****################+:+,        
,,:*+**+++,:*++***++**+,,*+::::::,,,.,,,,,,..,+:,,+**+:::+:,,,,:::*+*+::,::::*+++,,,,,,,,,,,,,###,..,...,**:::+++**#**########***#################,*:::,       
:**+*+++****,:***********,:**********+::++::::::,::::++++++,,,,:::**#::,,::,,*++:,,,,,,,,,,,,,###+..,,.,*+,:::*#******########*##################,..*::,.      
*++***++*+:+*+,:*******+:*::********+::::+++++:::+:,,++++++,,,,::++*#:,,,,,..,::,,,...,.....,+###+..,..:,,:::*#**:+***########################*+.....*:+,      
+**::**++******+,,***++*****::+***+:****+,,++++:::+++:,++++,,,,:+:***,,,,......:,...,,.....,:*###:..,,:##*+++##:::+**#########################*+.....:+:+,     
*****::+*+*******+::**********+:++*********:::::+++++++:,+:,,,,:*+**+,,,,......,,,......,,:+*####...,+***++,:::::+*#*########################+#.......*::+     
***+:+::+********:::,*********+,,+*********+,,:++++++++++,:,,,,+:*#*,. .::+:,,,..,....,:**###+....,,,:*#++,:::::##############################........**:+,    
*+**####+,:***++*****,,*****++***+::*****+:+*+,,++++++::+*:,:,+##+*.......::::,,,,,,,****......, ..,*####*,,:::+#*###########################........*#*:+,    
****####**+::+*********::+++********::+++***++++,,++:++****+:,,,,.......................,.,..,:::+++**#*++,::####################.##########,.......+##*++:    
:***###***+:,:+*********:,***********:,******+++++,:*******+,,,,,................. ,....  ,,,+:::,,,**::++#################################+.......*###*++:    
*+:*###*++++++::++++++++++:::******+++*::****++++:+:,++++++++.:.......... .,,.    .,,,......::,,,,:+:::*****#################################*:...*####*++,    
**#*++****++++++::++:++++++++,:++::++++++::++:::::+++:++++++++:,.   .     .,...........,.+*,,,,,,:*##*#####*#########**##################*######*******+:+.    
,,,,..,,,....,,+**#########################****###+++++:::::::+:::**#***+,,...........*##,::,,,,+*################**********#*##############***********++:     
,,:,,,:,:+,::,:+*******#########*******+++************########*++++::+,,,:,,,,,,,,,*#*,:++:,,:+**++**####*###########################*###*************+:*,     
#***#####*######**:::,,.:,,+**##################################++**,+:,:*+,,::++.,,:++::,,:::::+*##########################*#######*###*#####*******++**.     
####+****######*****##*++**#*####################################**:::*:,,+,,+,.,::+:,,,,:::*####*#######################*########*##############****++*,      
####****+#####**:#######*+***######################################:*+++*:++*,*,:::,,,:*#######+###*************###********##*********++++++++::::::,,:,.      
::::::::::::::::::,::,:::,::::::::::::::::::::::::::::::::::::::::::::::::,:,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,::::::::+,::        
::::,::::::::::::::::::+,::,,,,,,,,,......                                                                                                                     
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..:.                 ,,,,:::+*##***##################################################################################################**::,.          ,         
               ..,,,::*#**##################****************:,,,,,,,,::::,..  +++++++++++++++++++++++++*********************************:::,          +        
           ,,,,:+#**############**++*******#******+,,,,,,,:::::,,,,,,,:*##**###########********#######**#########################*......*+:+,          *       
     .,,,::,::,#########*:+++**++*#*********:.............,,,,::::,,****###*****++++++::++:++++++++*****############################.....*::+,          +      
.::::+*#*##########+:::::*+**+#********:.,,..................,,:,,*****+++++::::,::::,,,,,,,,,,:::++*##***###########################*....*+:+,          :.    
+*#*#########*++::,,,::****+******:....,,,,,.....  ....  .......*+++++***+++::,,,..,**:::....:*#*,,:+######*###########################....*+:+,          ,.   
########*+++:::,,,,::+***+***+:,,..,,,,,,........   ....   .   :++*:,,::,,...  +:...........:*##*+***::+*#***###########################....*+:+,          ..  
###*++++:::::,,,,:+:**+*+,,,,,,:::,,..............   ......  .++::,,...... . ..    .+**+....+***##*:,,,,*+:++*###########################....*+::.          ., 
++++:::::::,,,,:*+**:***+:++*****+::,,,,,,,,,....... .....  .:**+++:::,,,... ..... :++++++:,  .,*+...,,,,,::++*#*#*######################,....*:::.           :
+::+:::+,,,,,:+***:::::++..:*****+::,,,..,............  ...  :#*:+::,,,.,...,...,,,+*++++,     , ......,,,*#*,+*#*#################***####.....*:::.           
::++++,,,,,+:***,::::+::+***::**+::,,:::,,,,..  .... .      :,,::,.::++++:+++:,,.    ,+.      .,....,,.,,:+*:.,+*##*########**++++++++*###......*:+,.          
++++.,,,::+**+***+:+++********::**++++:,,,..,,,......      .,,,,,,,,,,.............,,.       ...........,,++,,,***+**#####*********#######....+##*:+,          
+,,,,,::+**+***+++:,:::+::::::::,,,,,,,,,....,,:::::.     .,,,,:,:+,:,............................,..., ,+*#***+*+:*+#############################+:+,         
,,,,::+**:******++**:,:++::::::,,,,,,,,,,....:::++::.   ...,,,,,::*:##::::::,*++**:::::::::::,,###+..., +*###*++*****##########***#################+:+,        
,,:*+**+++::*++***+++++,,*+::::::,,,,,,,,,,..,+:,,++*+:::+:,,,::::*:#*::,,::,+*+::,,,,,,,,,,,,:####...: .,**:+++*****######*##***#################,*:::,       
:**+*+++****,:***********,:**********+::++::::::,::,:++++++,,,,:::*+#*::,,::,:*+:,,,,,,,,,,,,,*####...: ,++::+**#****########**##################,..*:::.      
*++***++*+++*+,:*******+:*::********+::::*++++:::+:,,++++++,,,,+::++#::,,,,,.,::,.............*####,..:.:+++++*##++**#########################*+.....*:+,      
+**::**++******+,,+**++*****::+***::+***+,,++++:::+++:,++++.,,.++**:*,,,,,,.....:,,..........+*####...:,*##+*:#*:++*+#########################*+.....:+:+,     
*****::+++*******+::+*********+:++*********:::::+++++++:,+:,,,,+:*++#,,,,,.................,,#####....,***+*::+::+**#########################+*.......*+:+     
***+:+:,++*******::::*********+,,+*********+,,:++++++++++,:::,,*#,:**,.. ::,,,,,........::**+##.......:*#*+:::::*#############################........**:+.    
*+*#####+::***++*****,,*****++***+::*****+:+*+,,++++++::+*:,:,:###***..... .+::,,,,,,,,***:.... :..,,:*###*,:::+##*##########################........*#*:*,    
****####**+::+*********::+++*******+::+++***++++,,++:++*****:,,,.*,...............  ......,,. .,::++++*#*+*,:*###################.##########........+##*++:    
:***###**++:,:+*********:,***********:,******++++*,:****+**+:,,,,,,,.,...........  . :,.... ..,::::::+*+:+*################################+.......+###*++:    
*+:*###*++++++,:++++++++++:::+*****+++*::****++++:+,:+++++++++,:............ .,.     .:,....,.::,,::+++++****################################*:...#####*++,    
*##*+++***++++++::++:+++++++:,:++::++++++::+++::+++++:++++++++::.    .       ,,..........,.+*,,,,,,+##**#############**##################*######*******+:+.    
,.,,..,,,....,,+**#########################****###++++++:::::::+:,:+*++***+:,.........,.+##,++,,,,*##**###########************##############***********++:     
,,,,,,:,:+,:,,:********#########*******+++************##*######*++:+:,:+,,,,,.,,.,,,.*#*,:++:,,:***+**###############################*###*************++*,     
#***#####*######**:::,..:,,+**###################################+++*+:,,,::*,,,,++,.,,:++:,::::++*######################*##*#######*#########*******++**.     
####+****######*****##*++**#*#####################################**+:::**,,+,,*:.:,::::,,:::+###*#######################*########*##############****++*,      
####****+#####**:#######*+***#######################################*++****+:**+*:+,,,,,:*#####+###*###***********#********##*********++++++++::::::,::,.      
:::::::::::::::::,,::,::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::,,,,,,,,,,,,,,,.,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,:::,::::+:::        
::::,::::::::::::::::::::::,,,,,,,,,......                                                                                                                     
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..:.                 ,::,::,+*##***##################################################################################################**+:,.          ,         
               .,,,,,:*#***#################****************+,,.,,,,,::::,....+++++++++++++++++++++++++*********************************:::,          +        
          .,,,,:+#**############**++***#***#******+,,,,,,,:::::,,,,,,,:*##**###########******########**##########################*......*+:+,          *       
     .,,:::,:,,#########*::++***+*#*********:............,,,,,::::,,#**####*****++++++:::+++++++++*****#############################.....*+:+,          +      
,,::++*###########*+:,:::*+**+#********:,,,....  ...........,,,,,:*****+***++::::,:::,,,,,,,,,,:::++###**############################*....*+:+,          :.    
+*#*#########*++:,,,,::****+******:....,,,,,.....   ...  .......*+++++***++++:,:,,..:*+::....:*#*::::*####**###########################....*+:+,          ,.   
########*+++:::,,,,:++***+***+::,,,,,,,,,,........  ....   .   ++*::::::,,,,.. .*:...........*###****:::*#***###########################....*+:+,          ..  
###*++++:::::,,,,:+:**+++,,,,,::::,...............   .....  . *:::::,,......  .   . ,+**: ...***#*#+,,,:*++++*###########################....*+::,          ., 
++++:::::,,,,,,:++**:***+::+****++:,,,.,,,,,,....... .....   :*#++,,,,,,,.......... ++++++:+,. .+*,..,,,:::++**##+#######################,....*+::.           :
+::::::+,,,,,:+***:+++++*,.:*****+:::,,..,............  ..  ,:+*:+:::.,.,...... .,,,++++++.    .:.....,,,,+#*:,*##+################***####.....*+::.          .
::++++.,,,,+:***,::::+::+***::*++:,:,,,,,,,,..   ....       ,::+::,.,,,,:::+::,,,.    ,+.      ,,...:,,.,,:++,,+*##########***++++++++*###..... *:+:.          
++++,,,,::+**+***+:+++********::**++*+:,,,..,,,......      *,,,:,,,,,,............. .,.      .. ........,,++:,,+**#+*######*#****#*#######....+#**:+,          
+:,,,,::+**+**++++:,:+::::++++::,,,,,,,,,...,,::::::..    .+:,:,,,:,,,,,,,,................... .......,,.,+*###**++*##############################*:+,         
,,,,::***:******++**:::++::::::,,,,,,,,,....,:::++::.   ...,,,....,,,:,::::::+++**::::::::::,,,####,...:.*###*+***:############***#################+:+,        
,,:*+**+++,:*++***+++*+,,*+::::::,,,,,,,,,..,:++,,++*+:::::,,,+:::#+##:::,::,+*+:+,,,,,,:::::,,####*...: ,:*+:+****#*######*##***#################,*:::,       
:**+*+++****,:***********,:**********+::++::::::,::,:++++++,,,:+::++##::,,::,:++::,,,,,,,,,,,,+*###*...: ,*::++*#***#########*###################,..*:::.      
*++***++*+:+*+,:*******+:*::********+::::+*+++:::+:,,+*++++,,,,+++:+#*:,,,,,.,,++,............+*####...:.+***+*##++*##########################*+.....*:+,      
***::*+++******+,:***++*****::+***+:+***+,,*+++:::++*:,++++.,,,++*++*+,,,,,......,...........,**####...:,*#*+::#++**##########################*+.....:+:+,     
*****::**+********::**********+::+*********:::::+++++++:,+:,,,.+*,*#*+,,::....,..............*####*....:***++::::*#+#########################*#.......*+:+     
***+:+::+*+******:::,+********+,,+*********+,,:+++++++*++,:+:,,*#*:***,,..::,:,,,.,......,,,+##*.....,,+##**::+:+#############################........**:+,    
*+**####+,:***++*****:,+****++***+::*****+:+*+,,++++++::++:,,,,###**+*..... .+::,,,,,,,,**#:.... :..,,:*###*::++##*##########################........*#*:+,    
***#####**+::+*********::+++*******+::+++***++++,,++:+++****:,,*:*##,......................,,, ,,:++++:+#*+*::###################.##########,.......+##*++:    
:***###**++:,:+*********:,***********:,******+++++,:********:,,,,,.,,,...............  :,... ..,:++:::+*++++###############################+.......*###*++:    
*+:*###*++++++::++++++++++:::******++**::*****+++:+::++++++++*::.............. .:.    .,,....,.,:::::+**+*##**###############################*:...*####*++,    
####++****++++++::++:++++++++,:++++++++++::+++::::++::++++++++*:,  ......      .............:*,,,,::+################**##################*######*******+:+.    
,,,,..,,,...,,:+**#########################****##*++++++:::::::*:::+*,,,,,+**:,..........,##+:+:,,:*##*###########************##############***********+++     
,,,,,,:::+,::,:+*+*****##########******+++***************#######*+:::::,::,..,,,.,..,,,##:,++:,,:***+**##############################*###*************++*,     
#***#####*######**:::,,.:,,+**###################################*++:**+::,::*+,,,,++..,:+++,,::++**#####################****#######*#########*******+++*.     
####+****######*****##*++**#*######################################***+*:*#+,::,:#,.,,:+::,::::##*#######################*########*#############*****++*,      
####*****#####**:#######*+***#######################################*+:***#+***:*,*,:,,,,,+*###+##*************************##*********++++++:+:::::::,:,.      
::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,.,,,,,:::::::::+,::        
::,:::::::++:::::,::::::::,,,,,,,,,,......                                                                                                                     
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$ .:.                .,,:,:::+*##***##################################################################################################**::,.          ,         
               ..,,,::*#**##################****************::,,,,,,,::::,... ++++++++++++++++++++++**++++******************************:::,          :        
          .,,,,:+#**############**++***#**#*******+:,,,,,,,::::,,,,,,,:*****###########******#########*##########################* ... .*+:+,          *       
     .,,:::,:,,#########*::++***+***********:.............,,,,::::,,####***#****++++++++++++++++++*****#############################.....*::+,          +.     
.,::++*#*##########+::::+*+**+#********:,,,..... ............,,:,+*********+*+:+::,::,,,,,,,,,::::+*###*##############################.. .*+:*,          ,.    
+*#*#########*+++:,,,::****+******,....,,,,,.....   ...   ......**++++*++++++:,:,,..:*+::....:*#*:::+#####*############################....*+:+,          ,.   
########*+++:::,,,,::+***+*****:,,,,,,,,,,........  ....   .   +++::::,,...,,. .+:...........**##**#*:::#*+*############################....*+:+,          ..  
###*++++:::::,,,,:+:**+++,,,,,::::,...............   .....  . :+::::.....     ..  . .:**: ...***#*#+,,,:*+++**###########################....*+::,          ., 
++++:::::::,,,,:++**:***+:++****++:,,,.,,,,,........  ....   :**:,,,,... .......... :+++++**....+*,.,,,,::+****##########################:....*+::,           +
+::::::+,,,,,:+***:++****.,:******:::,,..,...........   ... ,.**:+:::,,.. ..... .,,,+*++++.    ,,.....,,,,+#*,+###################****####.....*:::.          .
::++++,,,,,+:**+,:::::::+***,:+++:::,,,,,,,,.   ....        ,::+,::,,,....,,,,..,.    .+,      ,,...:.,.,,:++,.+##*########***++++:+++*###......*:+,.          
++++,,,,::+**+***+:+++********::**++*+:,,,...,.......      +,:,.::,,,,.............. .,      . ...,...,...++:,,****#*#####***#***#*#######....+#**:+,          
+,,,,,::+**+**++++:,:+:::++++*+:,,,,,,,,,...,,,:::::.     ::,,::,,::::,....,,,,........... .....,,,....,.,++##**++*+##############################*:+,         
,,,,::+**:******++**+::::::::::,,,,,,.,......:::++::..  ..,,,,...........,,::*****::::::::::,,,####*...:.+*##*++*+**###########***################*+:+,        
,,:****+*+::*++***+++*+,,*+:++:::,,,,,,,,,..,:+:,,+**+:::+:,,:++::#:#*::::::,+*+::,,,,,,:::,,,:#####...: ,:*+++*****#######*##***#################,*:::.       
:**+*+++****,:***********,:+*********+::++::,::::::::++++++,,,+++:++##::,,::::+*+:,,,,,,,,,,,,+*###*...:.,*::+**#*+*#########*###################,..*::,.      
*++***++*+:+*+,:*******+:*:,********+::::*+++++::+:,,+*++++,,,:+**:+**:,,,,,,,,:+,.,.....,....+*####...:.:*#*+*#*+**##########################*+.....*:+,      
***::+++++****++,,**+++*****:,+***+++***+,:++++:::+++:,++++,:,,+,+++*+,,,,,,.....,............**##*#...,:*#*+::*++*+##########################*+.....:+:+,     
*****::*+********+::**********+:++*********:::::+++++++:,+:,:,,+*,:*+*,,::,.....,...........,+#####....,++*++::::*#*#########################+#.......*+:+     
**#+:+:,+********::,:+********+,,+*********+,,:++++++++*+,:+:,,###:++*,,,,,:,:,,,...,.....,,,###.....,,:##**::+:+#############################........*+:+,    
*+*#####+,:***++*****:,+****++***+,:*****+:**+,,+*++++::+*:,:,,####+**:....  +::::,,,,.,,,,,.... ,..,,:*###*::*+############################# .......*#*:*,    
****####**+::+*********::+++*******+::*++***++++,,++:+++****::,*####*,.............. .......,,..,::+++:+**+*:+################### ##########,.......+##*++:    
:***###***+:,:+*********:,***********:,******+++++,:********+:,,,,,................. . .,.... ..,+::::+*++++###############################+.......+###*++:    
#+:*###*++++++::++++++++++:::******++**::****++++:+::+++++++++:................  ,.    .,,.....,::::::***+###*#*#############################*:...#####*++,    
####++*+**++++++::++:+++++++:::++:+++++++::+::::::++::++++++++*::,.,,,,.,...    . .. ........*+,,,,,:*##*###########***##################*######*******+:+.    
,,,,..,,,....,:+**########################*****##*++++++:::::::*:::+,.... .,+*:,..........:##,+:,,,:*#**##########************##############***********+++     
,,,,,,::++,::,:********#########*******+++************##########*++:::,,,,,,..,,,,,..,,:#*,:++:,:+**++*##############################*###*************++*,     
#***#####*######**:::,,.:,,+**###################################*++++*+:+,,:,*+,,,::+..,:++:,:::++*######################***#######*#########*******++**.     
####+***#######*****##*+:**#*######################################******:**,:*,.:*:.,,:+:,,:::*#*######################**########*#############*****++*,      
####****+#####**:#######*+***#######################################***:**+*+***:*,*,:,:,,:+###+##****#********************#**********+++++++++:::::,,+,.      
:::::::::::::,::::,:,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,.,,,,,::::::::::,::        
::,::::::::+:::::,:::::::::,,,,,,,,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..,.                .,,:,:::+*##***##################################################################################################**::,.          :         
               .,,,,::*#***#################****************+:,,,,,,,::::,..  ++++++++++++++++++++++++++++******************************:::,          +        
          .,,,,:+#**############***+***#**********+:,,,,,,,::::,,,,,,,,+****##########****###########*############################......*+:+,          +       
     .,,,:,:::,#########*:+++***+***********:.............,,,,:+::.,####********+++++++++++++++++****###############################.....*+:+,          +.     
.,:::+*#*##########+,,:::*+**+#********:,,,..... ............,,,,***********++::,::::,,,,,,,,::::++*##**##############################....*+:+,          ,.    
+*#*#########*+++:,,,::+***+******,...,,,,,......  ....  ......:**++++*+++++::.:,,..+*++,...,*##+:::*####**############################....*+:+,          ,.   
########*+++:::,,,,::+***+****+,,.,,,,,,,,,......   ....   .   +++::::::,...,...*:..........+*##*##*:::*#***############################....*+:+,          .,  
###*++++::::,,,,,:+:**+*+,,,,:::::,...............   .....   ,++::+,,......   ..    ,+**....:#*#*#*,,,,++:++*############################....*+::,           : 
++++::::,,,,,,,:++**+*+++::+***+++:,,.,,,,,,........ .....  ,*+,:,,,....     ..,,...++++:+*+....*:.,.,,:::***+*#:########################+....*+:+.           +
:::::::+,.,,,:+***++*****..:******+::,,.,............   ... ,,*+:+:::,,,.   .....,.:+++++:    .:.....,,,,:*#*:+*#*################****####.....*:::.          .
::++++.,,,,++***,:::++::+***,,++++::,,,,,,,,..  ....       ,::::,::,,.,..,........    :+.     .:,..:,...,:*+:,,*############**++++:+++*###......*:+,.          
++++.,,,::+**+***+:++*********::**++*+:,,,,..,.......      :,,.,:+:,,,...............,.      .........,..:++,.,**###*#####*********#######....+#**:+,          
+,,,,,::+*++**++++:,:+::++++**+:,,,,,,,,,...:,,:::::.     +:,,,,,,,,,,,,.....,::.............. .::,...,,,:++***++:################################*::,         
,,,,,:***:******++**+,::::::::::,,,,,,,,....,:::++:,.   ..,,,,.............,,+*+**:::::::::,,,:####,..,,,+*#*++**:**###########***################*+:+,        
,,:*+**+++,:*++****+*+*,,*+:++::::,,,,,,,,..,+++,,++*+:::+,,::+:::#+#*::::::,++*+:,,,,,,::,,,,*####*...:.,+*+++****+##########***#################:*:::.       
:****+++****,:***********,:**********+::++::,:::,::::+++++,,,,+:+:*+#+:,,:::,:*++,,,,,,,,,,,,,**####...:.:+:++*#**+*##########*##################,..*::,.      
*+:***+*++++*+::*******+:+:,********+::,:++++++::+:,,++++++,,,:+**:+#::,,,,:,,,*+,.,.....,....+*##*#...:.+*#+**#++*+##########################*+.....*:+,      
***::+++++*****+,,**+++*****:,+***+:+***+,:++++:::+++::++++,,,++,*+:*:,,,,,,....,,...........,*###*#...::*#*+,:*++*+##########################*+.....:+:+,     
##***::*********+*::**********+:++********+,::::+++++++:,+:,:,,**,:**+,:+:,...,.,............*####*...,:+***::+::*###########################+#.......*+:+     
##*+:+::++******+::::+********+,,+*********+,,:++++++++++,:::,,*##**+*,,,,::,,,,:.........,,,##*....,:,+####::+:+#############################........*+:+,    
*+*#####+::***++*****:,+***+++***+::*****+++*+,,++++++::++:,:,,####***:...  .+:::,,,,,.,,,,:.... :.,,,:*###*::+*############################# .......*#*:+:    
*#**####**+::+********+::+++*******+::+++****+++,:++:+****+*:,,*####*+..........    ........,, .,:+++::+**+*:*###################.##########,.......+##*:+:    
:*#*###***+:,:+*********:,***********:,******++++*,:********+:,,.,.................. .  :,... ..,:+::::*++++###############################+.......+###*++:    
#+:*###*++++++::++++++++++:,:******+++*::*****+++:+::+++++++:::................. .,.   .,,......,,::,+*****####*#############################*:...*####*++,    
###*+++***++++++::+++++++++++,:+::++++++::::++::::++::++++++++*:, ,,::+::,..      .. ........*:,,:,::*###*##########****#################*######*******+:+.    
,,,,..,,....,,:+**########################*****##*++++++::::::,*::::,::::,..,++,..........:##,++:,:+##**##########************##############***********+*+     
,,,,,,::++,:,,:+*******##########******+++************#########**+:::::::,,,,.,.....,,,,#*,:++:,:+**+***#############################**##*************++*,     
#***#*###*######**:::,,,:,:+**###################################*++++*::+:::,*+,,,:++..,:++:::::++*################################*#########********+**.     
####+****######*****##*+:*##*######################################++*+**,**+:*:,:*+..,:+:,,:::*#*########*#############***#######*#############*****++*,      
####****+#####**:#######*+***#######################################**+++++::+**:*:*,:,:,,:+###+#**+***********************#**********++++++++:::::::,:,.      
:::::::::::::::::,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,..,,.,,,,,,,..,,,,,,,,,,,,.,,,,,,::::::::+,::        
:,,::::::::::::::,::::,:::,,,,,,,,,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..,.                .,::,:::+*##***###################################################################################################*::,.          :         
                ,,,,::*#**##################****************:,,,,,,,:::::,... ++++++++++++++++++++++++++++***************************#**:::,          +        
          ..,,,:+#**############**++*******#******+,,,,,,,:::::,,,,,,,:++:**##########***#######**##*#############################......*+:+,          *       
     .,,::::::,#########*:+*+***+***********:............,,,,,:+::,,###***********++++++++++++++*****#*#############################.....*+:+,          +      
,,,::+*#*##########+::,::****+#********:,,,..... ............,,,,***********+++::::::,,,,,,,,:::++*###*###############################....*+:+,          :.    
+*#*#########*++::,,,::****+******,...,,,,,.....    ..   ......***+**++++::+:,,:,.,.+*+:,.,,+*#+:::*####***############################....*+:+,          :.   
########*+++:::,,,,::+***+****,,..,,,,,,,,,......   ....   .  +:++:::+::,,..,..,+,.........:**#***#+::+**+**############################....*+:+,          .,  
###*++++::::,,,,,:+:**+++,,:,::::,,,..............  ......   :+::+,,,......  ..    .,+*. ..,*##*#*,,,,:*+++**############################....*+::,           , 
++++::::::,,,,:::+**+*+++::+**++++::,,.,,,,,........ .......+:,,,,,,,....    .,... ++++:**+....*+..,,,,,:+##***#*########################*....*+::.           :
:::::::+,,,,,:+***+******,.+******+::,,...............  .. .,**:++::,,,,.    ...,.,++++++.   .:,.....,,,:*##++*####################***####.....*:::.          .
::++++..,,,+:**+,:::++::+***:,+++++:,,,,,,....  ....       :,:::++::,,,..,,,.....    .+,      .,,..,,..,:*#:,,*#############**++++++++*###......*::,.          
++++,,,,::+**+***+:++*********::**++++:,,,,,,,..,....      ,::,,:,::,,,......... .. ,:       . ........,,+*:.,*+*#*#*#####*********#######....+#**:+,.         
+:,,,,::+**+**++++:,::::+++***+:,,,,,,,,...,:,,:::::.   . *,,,.,,,,,,...,,....,::,.............,:,,..., ,+++++*+:+################################+::,         
,,,,::+**:******++*++,::::::+::::,,,,,,,....,+::++::. ....,,,,,,.............:+**+:::::::::,,,####*..., :**#++***:*############****###############*+::,        
,,:****:++,:*++***+++**,,*+:++::::::,,,,,,,.,++:,,++*+:::+,,,::::++**:::::,,,:++:,,,,,,,::,,,,#####.. :..:*+:+******########*#****################,*:::,       
:****+++****,:***********,:**********+::++::::::,::,:+++++,,,:+++:**#::,,,::::*++.,,,,:,,,,,,,*###*,..:.,+::++*#*+**#############################,..*::,       
**+***++*+:+*+::*******+:*::********+::::*+++++::+:,,+*+++.,,,++*+*+#::,,,,,,,:++,,,....,....,*###*+..,,,*#*+*##++*+##########################*+.....*:+:      
*#*::+++++*****+,:***++*****::+***+:+***+,:++++:::+++:,+++::,,+::*++*,,,,,,,....:,...........+*###++...:*#*+*:::++**##########################*+.....:+:+,     
##***::+********+*::+*********+::+*********:::::++++++*:,++::,:*+,+**,,:+:......,...........,#####,,...++***::+:*############################+*.......*+::     
##*+:+:,++******+::::+********+,,+*********+,,:++++++++++,:,:,,##****:,,.,:,.,,:,,.......,,,,##,....,,,*##*#::::*#############################........*+:+.    
****####+,:***++*****:,*****:+***+::*****+:+*+,,++++++::**:,:,,####***+ .. .,+:,,,,,,,.,:::,... ,:.,,:+*##**::+############################## .......*#*:+,    
##**####**+::+********+::+++*******+::+++****+++,:*+:+++**++:,,#####**........ .,.  .... ..,., ,,:++++:***+++#################### ##########,.......+##*:+:    
:***###**++:,:+*********:,***********:,*****++++**,:********+:,,.,.................. . .,,......::+:::+++++*###############################+.......+###*++:    
#*:*###*++++++::++++++++++:::******+++*::*****+++:+::++++++++:.,,,,,..... ....... ,.   .,,.... ,:::::+****###*###############################*:...*####*++,    
###*+++***++++++::+::++++++++:++::+++++++:::++::++++::++++++:**,,:. .  .,::,      .. ... ....*,,,,,:+*##############****#################*######*******+++.    
,.,,..,,.....,:+**########################*****##*++++++:::::::+:::....  .:. ,+,,.......,.+#*:+:,,:+*#**############********#*##############***********+++     
,,,,,,:::+,:,,+********#########*******+++**************#######*++:::+:++::,,.,,,....,.:#*::++:,:+**+**##############################**##*************++*,     
#***#####*######**:::,,.:,:+**###################################++:+++:,**:,,*:,..,:*,.,:++:,:::++*#####################*##*#######*#########*******++**.     
####+****######*****##*+:*##*#*#########**#########################+++***:**:+*+.***,,,:+::,::++#*########**############***#######*#############*****+**,      
####****+#####**:#######*+***######**#*+::+#########################+*:***+:+++*:*,*,::::::+###+##*+**********************************++++++:::::::::,:,.      
::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,..,,,,,:::::::::::,        
:,,:,,::::::::::,,::::::::,,,,,,,,..........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$. :.                ,,,,,:,:+*##**####################################################################################################*::,.          ,         
                ,,,,::*#**##################****************::,,,,,,:::::,... ++++++++++++++++++++++++++********************************:::,          +        
          .,,,,:+#**############**++***#**#*******::,,,,,,:::::,,,,,,,:++,**##**####**##########**##*#############################......*+::,          *       
      .,::,,,:,#########+::++***+***********:.............,,,,::::,,##************++++++++++++++****################################.....#::+,          +.     
,,,::+*###########*+::::+*+**+#********:,,,..... ............,,,,***********++::::::,,,,,,,,,::++*####################################....*+:+:          :.    
+*#*#########*++::,,,::****+****+*,..,,,,,,.....    ..    .... ***+*++:::::::,,,,..:++:...,+*#+,::*#####**#############################:...*+:+,          ,.   
########*+++:::,,,,:++***+***+,,,,,,,,,,,,,......   ....   . .*+++:+++::,,,,,. :+.........:*###***+:::**+**#############################:.. *+::,          ,,  
###*++++:::::,,,,:++**+++,:::::::,,,......,.......  ......   ++*:,:,,,..... .   . ..:*, ..,*###*#:,:,:*+:++*#############################....*+::,          ., 
++++:::::,,,.,,::+**:*+++::+**++++::,,.,,,,,........  ....  +.::,,,,.....    ..,. :**+::*+, ..+*,...,,:,+*#*+#*###########################....*+::,           :
:::::::+,,,,::++**+******,.+******++:,,...............    .,+*+::::,,...   ....,.,++++++,    :: ...,:,,,+##*:+#####################***####.....*:::.          .
::++++..,,:+:**+:::++++:****,:+***++,,,,,,,...  ....       :::,,:::,..,..,,,....... .+:      .....,...,,*#*,.:###*##########****+++++**###......*:+:.          
+*++.,,,::+**+***+:+++********::**+++:,,,.,,,,..,....     .,::,,.,:::,,.......  .  ::. .     ..........,+++,.:***#########**##*****#######....*#*++:,          
+:,,,,::+**+**++:+:,,+:+++****+:,,,,,,,,...,:,,:::::..    :,::.,,,,,,..........,+,   ..... ...,,:...., :++++::*+:**###############################+:+,         
,,,,::***:******++*++,::::++::::::,,,,,,....,:,:++::.... +:,::,,,:.,..........,:*::::::::::,,,####...,,:+*#*++++++#############**#*################+:+,        
,,:****+++::*++***+++*+,:*+:+++::++:,,,,,,,.,+*:,,+**+:::,,,,,,,:*:#*:::::,,::+++,,,::::::,,,,####+...,.,*++++*****#########*##***################:*:::.       
:****+++***+,:**********+::**********+:::+::,::::::,:+++*:,,,++*:*+##:::,:::+**++,,,,,,,,,,,,:#####...:.:+,:+*##*+*##############################,..*::,.      
**:***++*+:+++::+******+:*::********+,:::*+++++::+:,,+*+++,:,,+**:**#:::,,,,,,++:,,,,,.......+*###*...:.******#+++*###########################*+.....*::,.     
*#*::+++++****++,:**+++*****:,+***+++***+::+++::::+++:,+++,:,,++:+*+*,,,,,,,...,:............*####*...::***+::*:++############################*+.....:*:+,     
#****::**********+::**********+:++*********:::::+++++++:,+,:,,+#:,*:*,,,::..................,#####....,:**++:::+#############################+*.......*::+     
#***:+:,++******+::,,*********+,,+*********+,,:++++++++++,:::,+#*+***,:,,,,..,,,,........,,,,#*....,,,+###*::::+##*###########################........*+:+,    
#+**####+,:*+*++*****::+***+:+***+::*****+++*+,:*+++++::**:,:,,###**#*+,.  ::+:,,,,,,,.,,:,. .. , .,,:*##**:::*#############################*........*#*:+:    
#**#####**+::+*********::+++*******+::+++***++++,:++:+++***+:::#####*+....... ,::,    .....,,..,::+++:+**++:#####################.##########,.......+##*++:    
:***###**++:,:+*********:,***********:,+::++++++++,:********+:,+.:*,.................. .,..  ..,::::::++:+**###############################+.......*###*++:    
#+:*###**+++++::++++++++++:,++***+,,:+++:::+**+++:+::+++++++::.,,,,,............  ,.   ,,......::::::*##**####*##############################*:...####**++,    
##**+++***++++++::++++++++++::::,,+::::*++:::+::::::::++++++**,:.  .....  ,:.     .. .......+*,,,,,:*##**###########*****######################********+++.    
,,,,...,....,,::**#############*:,:+++**++::***#*+:+++++::::::*:::,   .   ., .+,..........*#+:+:,,:*#***##############*******###############***********+*+     
.,,,,,:::+,:,,:**+*****########**+:+::::++::+**+:,,:******#####*+:::++****+:,,......,,.:#*,:++,,:+*++**##############################**##*************++*,     
#***####***#####*+::+,,,:::+**#*++::+:,,,,,,:**+:::+#############++::::::+:,,:+,,..,:*,.:+++:,::::+*########################*#######*#########********:**.     
####+****######*****##*+:**##*:::+:,,,,,:::::+***++*##############***+**,+**.+*+:**+,,,:+:,,:::*#*####**###***##########***#######*#############****++**,      
####****+#####**:#######*+******+:,,,,,,::::::+++***################+*+:+::,++::**+*+::::::+###*#*++**********************************++++++++:::::::,+,.      
::::::::::::,,:,,:,,::::::::::::,:::::::::,::::::::::::::::::::::::::::::,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,..,,,,:::::::::+:,:        
::,:,:::::::::::,,::::,:,:,,,,,,,,,,........ ..                                                                                                                
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$  :.                ,,,,,:::+*##**###################################################################################################**::,.          ,         
               .,,,,::*#***#################****************::,,,,,,,::::,... ++++++++++++++++++++++++++++***************************#**+::,          +        
          .,,,,:+#**############***+***#**#*******::,,,,,,:::::,,,,,,,::+:**#***########****##**##################################......*+::,          *       
      .,::,,:::#########*::++***+***********,,......,.....,,,,::::.:##*##*##********++++++++++++****################################,....*+:+,          +.     
,,::++*#*##########+:,::++***+#********:,,,..................,,,,**********+:+::::::,,,,,,::::++**##**################################,...*+:+,          ,.    
+***#########*++::,,,::++**+****+*,..,,,,,,.....    ..    .....***+*+++:::+:,,:,.,.:+:,.,.:*#*,,,+#####***#############################*...*+:+,     .    ,,   
########++++:::,,,,::+***+***+,,,,,,::,,,,,..... .  ....   . +*+++++*+:::,.,. ,*,........,*##***#*:,:*#*+**#############################*.. *+::,          .,  
###*++++:::::,,,,:+:**+++:::::::,,,,......,.......  ......   +*:::,:,,....  ..  ...,:,...,*####*+,,,,++::+**#############################:...#+::,          .: 
++++:::::::,,,,:++**+++++:,+*++++++::,.,,,,,..,,.... .....  ,*:::,,,....    .,,,.:***::+*,,. :*,..,,,,::***+*#**##########################....*+::,           ,
:::::::+,,,,::+***+******,.:#******+::,...............  ....*++:,,,,....    ..,,.:****+,.   .:....,,,,,:##*++*#####################*+*####.....*:::.          .
::++++..,,:++**+::+++++:***+,:+****+:,,,,,,...  ....      ,:::,:::,,..,...,....... .++.     .,,.,:....,:##+.,*###*#*#########**+++++++*###:.....*:+:.          
+*++.,,,::+**+***:,+++********::**+++:,,.,,,,,.......     ::::,,.,,:::,,.,,...... ,,,        .,.....,.,:++:,,++**####*####****#****#######+...*##*+:,.         
+:,,,,,:+**+**++:::,::+++****++:,,:,,,,,...,:,,:::::..    ::,:,,,,,.,.......,,.,:,  . ........,:,....,,,++++:+*::**###############################+:+,         
,,,,,:+**:*****+++*+:,:::+++::::::,::,,,....::::++::..  .+:,+:,,::::...........,+::::::::::,,:###+...,.:+**++++*+**#############**#*##############*+::,        
,,:****+++::*++*****+*+,:*+:++:::++::,,,,,,.,++:,,++*+:::,.,...,,::*+:::::,,::++:,,,:::::::,,+####...,..:*::+*#**+*##########*##***###############,*:::,       
:****+++***+,:**********+,:**********+,:++::,::::::,:++++:,,:+:*:#:#*::::::,**+++,,,::,,,,,,,*####,..:,,::::+*#*++*##############################,..*:::.      
#*:***++*+:+*+,:*******+:*,:*********,:,:**++++::+:,,+*+*+,,,::**++#*:::,,:,,:++:,..,,,,.....*####*...,,*#*++*#:++*###########################*+.....*,+,      
***::+++++****++,:**+++*****::+**+::+*+:,,:++++::+++*:,+*+,:,,+:+:+*+,,,,,,....,,............*####+...++**++::+:+*############################*:.....:+:+,     
#****::**********+::+*********:::,,,+**:,,,:::::++++++*:,:,:,,*#*+*+*,,,:,..................,####:...,::**+,:+::#############################+*,......*::+     
#***:+:,++******+::::+********:,.,::,+*+::::,,:++++++++++,,::,*#***+#,:,,:,.,,,,.........,,,+#+....,,,+###*,:::+##*###########################........*+:+.    
#+**####+,:***++*****::+***+:+++:,::,,+*+::,++,,+*++++::**+,:,:#*#****,.  :,+::,,,,.,,.,::....,...,,:+*##**,:+############################### .......*#*:+:    
***#####**+:++*********::+++***+::,:,,,:::,,,+*+,:,::+++***+:,+**####,...... ,::+:....  ...,,..,:+++::+*+++,#####################.##########........+##*++:    
:***###**+::,:+*********:,****++::,,::,:+::,,+++:,,,+******++:,*+**,................. .,... .,,,::::::++:+*#*##############################:.......*###*++:    
*+:*###**+++:+::++++++++++::+:,,:::,,,......,:++:,:::+++++++::,,,,,,,,........   .:.  .,....,.,::,:::*#***###################################*:...####**++,    
##**+++***++++++::++:+**+++++*+:,:,,,,,,,,,,,:*+++++::+++++++++, ...,...  .,...   .. .......*:,,,:::*###################*######################********+++.    
,.,,..,,.....,::**###########*+:,,.,,,,,,,,,,,+*++++++++::::::*+:,,.  .    . .:,.........,*#:::,:,:*****################*****###############***********+++     
,,,,,,:,:+,:,,:**+*****#######++,,,,,,,,,,,,,,.:,,,:+**#######**+::+***#*++:,.,.....,.,+#*,:+:,,:+*++**##############################**##*************++*,     
#****###***#####**::+,,,:::+**++:,,.,,,,,,,,,,,.,,,:*#######*###*+++++:::+:,,+:,,.,,:*,.:+++:,::++**#####################*##########*#########********+*+      
####+***#######*****##*+:**#***+:,,,,,,,,,,,,,,,,:+*##############*****+,+#::**:+**:.,::+:,,::+*#*######*###**##########**########*#############****++**,      
####****+#####**:#######*+****#*+::,,,,,,,,,,:::++*#################**:::,:::+:,*++*+::,,,:*###*#*++++**********++****************+***++++++++::::::,,:,.      
:::::::::::::,::,,:::,::,::::::::::::,,,,,:::::::::::::::::::::::::::::::::::::::::::,,,::,,,,,,,,,,,,..,,,,,,,,,,,,....,,,,,,,,,,,,.,,,,,:::::::::+:::        
,,,,,:::::::::::,,,,::::,,,,,,,,,,,,..........                                                                                                                 
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**##################################################**#*#############################################**+::.          :         
                ,,,,::*****###############******************:,,,,,,,,::::,..  *+++++++++++++++++++++++++++******************************:::,          +        
          .,,,,:+##*############***+***#**#*******::,,,,,,,,:::,,,.,,,::+,**#######***##****######################################: ...,*+,:,          *       
     ..,::,,::,#########+::*+**++***********:,............,,,,::::,:*####*##**********++++++++******################################+....*+::,          +.     
,,,:++*#*#########*+:,::+*+**+#********:,,,..................,:,.**********++::::::,,,,,,,,:::+*###***################################+. .*+:+,          :.    
+***#########*++::,,,::*+**+******,..,,,,,,.....    ..    .....**+**++++:::::::,..,:+,,..,+*#+,::+#####**###############################.. *+:+,          :,   
########++++:::,,,,:++***+***+,,,,,:::,,,,,..... .  ....   . +*++++***+++,., .,+,........:*###*##+,,:**+***##############################.. *+::,          .,  
###*+++::::::,,,,:+:**+++::+::::,,,,,.....,...,...  ......  ,+*,:,::,,....  ...  ..,:,.  :*##*#*:,,,:++::+*##############################*...*+::.           : 
++++:::::::.,,:::+**+++++,:+**++++++:,,,,,,,................++:,:.......  ...,,.,+***++++,...*+..,,,,,,+*#*+****##########################....#+::.           :
:::::::+,,,,::++**+******,,:*******++:,.,.............  .. ,*+::,,,,....   ...,,,*+*+*+,    :: ...,,.,,+##*:*######################*++####+ ...*:::.          .
::++++,.,,,++**+,:+++++:***+,:+****+:::,,,,...  ....      :::,,:::,,.,,..,,.....,...+:      ..,,,,....,+*#+.:*#####*#########***++++++*###*.....*:::           
++*+.,,,::+**+***::+++********::*++++:,,.,:,,,.......     :::,,,.,,:::,,..,..... .,:..       .,.....,.,+++:.,+**#*########***##****#######*...*#**:+,.         
*,,,,,,:+**+**+++::,::+++***+++:,:+:,,,....,,,::::::..  . ,:.:,,,,......  ..,..,:,  ..........:+,.....,:+++:,+*++**###############################+:+,         
,,,,,:+**+******:+*+:,::++++::::+:,::,...,..,:::++:,..   :,:::,:,:::,..........:+:::::::::,,,*###,...,,,+**++:**+**##############*#*##############*+:+,        
,,:****+++::*++*****+*+,:*::++++::,.,,,,..,:,,::,:+**+::+,..,,..,::*+:::::,,:+*+::::::::::,,,*####..,, .+*+:+*##*+*###########*#***###############,*:+:.       
:**+*+++***+,:**********+::******+:,,::,,:::,,,,,:,::++++,,,:++**#:#+:::,:::**++:,,,::,,,,,,,*####...:.,::::+*##++*##############################,..*::,.      
**:***++*+++*+,:*******+:*:,***+*+::,,::,:++,,,,,+:,,:+++::,,+##**+#:,,,,,:,:+++,,,,,,......,*####,..,,:##**:#*:++*###########################*:.....*::,      
***::+++++*****:,:**+++*****:,:,++::,,:,.,:+:,,,:+++*:,+++::,:#**:**+:,,,,,...,:.............*####...,:***++::::+*############################*+.....:+:+,     
*****::+*********+::+*******+++:,:::,.::,,::,,,,++++++*:,+::,,**#:**+.:::,...,..............:####,,.,.:+***,:+::#############################+*.......*:++     
****:+:,++******+::::+*******++:,,+:,,::,,:::,,,++++:++++,,::,**#+*+*,,,,:..,,,,........,,,,*#.,..,,.,*#**#::+:+##############################........*+::.    
++**####+,+**+++*****::+***+:++::,,,..........,,::,,.,:+**+,:,:###***+..  +,+:,,,,,.,..,,:.. . , .,,:+*##**,:+###############################........*#*:+:    
***#####**+::+*********::+++***::.....,,,,,,,,.:+:,,,:++***++:+######,...... ,+++,.    ...,,..,::++++,+*++*:#####################.##########........+##*++:    
:***###**+::,:+*********:,+***+:,,,,..,,,,,,,,,:+::::++****++::#*##:................  ..... ..,,:::::++:++*#**############################*:.......*##**:+:    
*+:*###**+++++::++++++:+++:,+++:,,..,,,,..,,.,,::::::+++++++::,,,,,,,,............,   .,....,.,,,,,,:*#***###################################*:...*####*:+,    
#***+++***++++++::++++++++++::::,,.....,,,,,,..:,,,,,+++++++++*.,,,,..... .,,.    ......,..,#:,,.:::*###########################################*******+++.    
,,,,..,,.....,:+**#############+,,.....,,,........,,:+:+::::::*+,,.   .   ....:,.........:*#:::,:,:****##################****###############***********+++     
,,,,,,:,++::,,:**+*#****#######*::,,...,,,,,,,,,,,:+****######**++:+******::,..,....,..***,++:,,+++++**##############################*##**************++*,     
#***####**######**::+,,,:,:+**##+::,,,,,,,,,:::::**#########*###**++++::++:,,+:,..,,:*,.:+++:,::+++#################################*##########*******+**      
####+***########****##*+:*##*####**+++++++++++++##################+*+***:**:,**+:**,.,,+::::::+*#+######*###**##########**########*#############****+++*,      
####*****#####**:#######*+***####+********##########################**:::,::+++,++**::::,:+*###*#*++::********************************++++++++:::::::::,       
::::::,:::::::::::::::::,:::::::,:::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,::::::::::,::        
,,,,::::::++::::,,::::::,,,,,,,,,,,,..........                                                                                                                 
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                               .               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          ,    .    
               ...,:::+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****###########***++**************:,,,,,,,::::::,,.,,,::*.***###************######################################+....,#+,:,          *       
     ..,,,,,:,:#########+::++**++***********:,............,,,,::::,,*#######********+++++++++********###############################*... #+::,          +.     
,,:::+*#*#########*+,:::+*+**+*********:,,,..................,::.**********+++::::::,,,,,,,::+++*##**##################################.  *+:+,          :.    
+***#########*++::,,,::****+******,,.,,,,,,.....    ..    .....****+++++++::,::,,.,+:,,..,+**+,:+*####**################################...*+:+,     .    ,,   
########++++:::,,,,:++***+***+:,,,,:::,,,,,..... .  ....   . +*++++***+:+,.,..:+.........+###****+:,+**++**##############################,..*+::,          .,  
###*++++::::,,,,,:+:**+++++*::::,,,,,,....,...,...  ......  :*+,::::,:.... ....  .,,:... :##**#*,,,,:++:++**##############################...*+::,          ., 
++++::::::,,,,:::+**+++++,:+*+++++++::,,,,,,................+++::.,,....  ...,,.,****+:*:,...*+..,,,,,,+##*+*#**##########################:. .*+::.           :
::::::++,,,,,:++**+******,.+*******+++:.,,............  .. ,*+,,,,,.....   ...,.,+*++*+,   .::....,,.,,+##*+*##*###################*++*###*....*:::.          .
::++++,,,,::+**+,:++**+:***+::+****+::::,,....  ....      :::,,:::,,,,,..,,....,...,+:.       :.,....,,+#*+.:*###*##*########**++++++++*###.....*:::.          
++*+.,,,::+**+***::+++********::*++:+:,,.,,,,,..,,...     ::+,,,.,,:::.,.,,...... ,:        ..,,...., .+++:,,+****########***##****########...*#**::,          
*,,,,,:++**+**+++::,::++****+++:,:::::,,...,,,,,,,,,..    ::.:,:,,,,........,,.,,,  ..........++,...,.,:++++,++:+**###############################+:+,         
,,,,:++**:+****+:+*+::::++++:::::::::,,,,..,:,:::::,.... :,::,:+,:::,..... . .,:++::::::::,,,*##*,...,,,:**:++*++**###############################*+:+.        
,,:****+++::*++*******+::+::+++++++:::,,,,,:,,::,:++:,.,:,,,,,,,,,:**:::::,,:+*+::::::::::,,,*####..., .+*+:+****+*############*#***##############:*:::.       
:****+++**+*,:**********+,+*********+:,::::::,::,:::,,,:+:,,:*##:#+#*:::::::**+::,,,,,,,,,,,,*####...: ,:::+**##++*##############################,..*::,       
#*+++*++++++++,:*******+:+:,*+******:,,,,:,,.:,,,:,:,,,:++:,,+##**+#+,,,:,,,:*++,,,,,,,,....,*####,..,.:##**:**::+*###########################*:.....*::,.     
***::*++++*****+,:+**:+*****::+***+::,.:+,,,:,,,::,,,,,:++::,:#++:***,,,,,,..,,+,............*####....:***+:,:::+**###########################*+.....:+::,     
*****::**********+::+*********:::+*:,,.,,...,.,,+:,,,,+:,+,:,,**,:**+,:::,..................:####,..,.:+**+,:+::#############################+*.......*+:+.    
****:+:,++******+::::+********+,:+,,,............,,,,::++,,:::###+*+#,,,,:...,,,........,,,,+#,...., ,*##*#::+::##############################........**:+.    
*+**####+,:**+++****+::+***+:+**+,,,........,,,,..,,.,.,+++::,:###****..  +,+:::,,,....,,,...  ,.,,::+*#***,:+##############################*....... *#*:+:    
***#####**+::+*********::+++****+,,.........,,,,,::,,,:++**++:+######,.......:++:,..   ...,,..,:++++:,+*++*:#####################.##########........+##*:+:    
:***###**+::,:+*********,,+*****,,,...........,,,,::::+++*+++:+#*##:................  ,...  ..,,::::,++:+**#*##############################:.......+##**++:    
*+:*###*+++++:::++++++:+++:,+**+,,........,,...,:,,:::++++++:+,,,,,,,,.......... .,   .,,.. ,.,:,,,,:*#***###################################*:. .*####*:+,    
#***+++***++++++::++++++++++:::+:,,,..,,,,......,,,,::+++++++**.....,,,.  ,:,.    ........,,#:,,,,,:*#*#########################################*******+++.    
,.,,..,,.....,:+**#############*:,,,,.,,,,,,,,,,,,,,:+++::::::*+,,,  ..    ,..:,.........:*#:::,:,+*#**##################****###############***********+++     
,,,,,,:::+::::+**+*#***########**+++::,,,,::::::+*****########**++++*****+:::.......,..*#+,:+:,,:+*++**##############################*##**************++*,     
#***####**######**:::,.,:::+**##++++++**+++++**#################***++++:++:,,+:,..,:+*,.:+++::,:+++#################################*##########******+:++.     
####:+**######**#******++***###*+++++******#######################+****+:**:.**+:**+.,,::::,::+*#+######################***#######*#############****+++*,      
####*****#####**:#######*:***##*++++*****###########################**::::::++:,*++*+:::::+*###***++::**********++********************++++++++::::::::+:.      
::,,::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::::,,,,,,,,..,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          ,    .    
               ...,,,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****###########***++******#*******:,,,,,,,::::::,,.,,,:::,:***##**********#########################################....,#+,:,          *       
     ..,,,,,:,,#########+::++**++***********:,............,,,,::::,.**######********+++++++++*****###################################,...*+::,          +.     
,,:::+*#*#########*+,:::+*+**+*********:,,...................,,,,:*********++++::::::,,,,,::++++*##**##################################.  *+:+,          :.    
+***#########*+++:,,,::****+******:,,,,,,,......    ..    .... ****++++++:::,::,,.,::,,..,+*#+,::+#####*################################...*+:+,     .    ,,   
########++++:::,,,,::****+***:,,,,,:+:,,,,...... .  ....   . :*++++***++:,.:..:+,........:###***#+,::**+***##############################,..*+::,          .,  
###*++++::::,,,,,:+:**+++++*::::,,,,,,,,......,...  ......  .*+,::,,,,....  ...  .,,:,.  :*#*##*:,,,:++:++**##############################...*+::,          ., 
++++::::::,,,,:::+**+++++,:+**+++++++:,:,,,,.............   *++::,,,....  ...,,.,****+:++, ..**..,,,,,,+*#*+****##########################*. .*+::.           :
::::::++,,,,,:++**+******,.+******++++:...............     ,*:::,,,......  ...,..*+*+*+,    ::....,,.,,+*#*:+######################*++*####....*:::.          .
::++++,,,,::++*+::++**+:***+,:*****+::+::,..    ....      ,+::,:::,,,,,.,,........ ,+:.     . :.,,..,.,+*#*,,*##**##**#######***+++++++*###.....*:::.          
++*+.,,,::+**+***::+++********::*++:++,,,,,,,,.......     ::::,,,,,,::.,,........ ,, .      ..,,...., ,+*+:,,+***####*#####****#**#########.,.*#**::,          
*,,,,::++**+**++:::,::++****+++:,::::::,..,.,,,,::,,,,,,,,::,,,,,,,,....  ..,,.,,,  ..........+*,...,,,:+**+,+*:+**###############################+:+,         
,,,,:++**:+****+:+*+::::++++::::+::::::,,.:,,,:,::::,,,,,,,::::++:::,.........,:++::::::::,,,:###:..,,.,:**+::**+**################*##############*+:+.        
,,:****+++::*++*******+::+::+++++++:,:::,,:::++::,::,,,,:,,,,,,..,,**:::::,,::++:,::::::::,,,+####..., ,+++:+****+*#############*#***#############:*:::.       
:****+++**+*,:**********+,+***********::::,,,::,,,+,,,:+::,,,:####:#*:::,:,,+++++,,,,,,,,,,,,+###*...,.,:::++*#*++*#############################*,..*::,       
#*:*+*++++++++,:*******+:+:,*+******+::,,,,::,.,,+,,::+:,,,:,:###:+*#:::,,,,:+++:,,,,,,,.....*####+..,::*#*+:*#::+**##########################*:.....*::,.     
***::*++++*****+,:+**:+*****::+***+++*+,.,::,,,::,,,::,,,,:,,,##*:***,,,,,,,.,,+,............*####,...:***++::+:++#*##########################*+.....:+::,     
*****::**********+::+*********:::+**+,,..........,,::,.,::,:,:##,:*+#,,::,......,...........,####,..,,::***,::::###*#########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*+,,,.............,,,,:.::::**#+*+#,:,::...,..,.......,,,,:#.....:,,+##**::::+##*##########################*........**:+.    
*+*#####+,:**+++****+::+***+:+**++,,......,,,,.......,:,,,,,:::###**#+,,  :++:::,,,.,..,:,.... , .,::+*##**,::############################### ...... *#*:+:    
***#####**+::+*********::+++*****:,,..........,,,,,,,,...,+++::#####*:...... ,:::,..   ....,..,,++++::+*++*:#####################.##########........+##*:+:    
:***###**+::,:+********+:,+*****+,,.............,,:,,,,:+***+::####:................  .,... ..,,::::,:+::+****#############################+.......+##**++:    
*+:*###*+++++:::++++++:+++:,+**+:,,.............,:,::+++++++:+,,,,,,,,.......... .:   .,... ..,:,,,,:*##**###################################*:. .*###**:+,    
#***+++***++++++::++++++++++:::::,,,,..,,,.......,,,::++++++*+#,.,.,..,...,:,.    . ........#+,,,,,:*##*#################################*######*******+++.    
,.,,..,,.....,:+**##############+::,,,,,,,,,,,,,.,,,:+:+::::::*+:,,. ..    ,..:,.........:*#:::,::+*#**##################****###############***********+++     
,,,,,,:::+::::+**+*#***#########+++++++:::::::::++****########**++++***#*++:,,......,..*#*,:+:,,:++++**##############################*##**************++*,     
#***####**######**:::,.,:::+*###++++******+++*##############*####++++++:+*:,,:+,..,:+*..:+++::::+++*################################*##########******+:+*.     
####:+**######**#******++***###*++++******########################+*+***,+**.**+,**+.,,::::,::+*#*######*###**##########**########*#############****+++*,      
####*****#####**:#######*:**####*+****##############################**+:::::++:,**+*+:::,::+###*#*++::**********************************++++++::::::::+:.      
::::::::::::::,::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
               ...,,,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,::*..***###***#####*#########################################,...,#+,+,          *       
     ..,,,,,:,,#########+::++**++***********:,............,,,,::::,,+*###*##**********++++++++******#################################+.. *:::,          +.     
,,::++*#*#########*+,:::+*+**+*********:,,..,................,:,,.**********++::::::,,::,,:::::+**#####################################+  *+:+,          :.    
+***#########*++::,,:::****+****+*:,,,:,,,..,,..    ..    .....,**+*++++::++:::,.,,:++,,.,:*#*+::+*####***##############################*..*+:+,     .    ,,   
########++++:::,,,,::+***+***+,,,,:+++::,,..,,....  ....   .  **++++**++:,.:,.,+,.........*###**#*:::+#*****##############################..*+::,          .,  
###*++++::::,,,,,:+:**+***++,,::,,,,,,:,,,....,...  ........ +++::::,,..... .... ..,++....+##*##*:,,::+:+++*##############################:..*+::,          ., 
++++::::::,,,,:::+**++++:,:+**+++++++:,::,................. :+:::,.,....  ...,,,.:****+**:...,#,..,,,,:,**#****#*##########################. .*+::.           :
::::::++,,,,::++**+******,.+********++:.,.............  .. .***:,,,,,.....  ..,..:+*+*+:   . :,...,,:.,:*##+:*#####################*+++*###,...*:::.          .
::++++,,,,::++*+::++**++***+::*****+::++:,,,..  ....       ,::,::::,.,,,,,,,.... .  :+.     ..,,.,.,,.,:*#*:,+###*##**#######*****++++++###+....*:::.          
++*+.,,,::+**+***::+++********::*++:++,,,,,.,.,,,,...      ::::,..::::,.........,. :,         .,....,,,:*+:,.:+****##*######*******#########..*#**::,          
*,,,,::++**+**+::::,:++****++++:,:::::,,,:,,,,,,,,,,..  ..:,,,,,,,,,..........,:,. .....  ....**:,.... :+++++:*:+:################################+:+,         
,,,,,:+**:+****+:+*+::::++++::::+,,:::,,,,,,,,:,,,,:..   .::::::::,,..........:+*+::::::::,,,,###*.....:+***+++*::**##############################*+:+.        
,,:****+++::*++*******+::*::++++:,.,,:,.,:,,,+,,,,+**+::::,,,,,.:++*#+:::::,::++:,::::::::,,:,####:. ,:.,**:++*#****##############*#**############:*:::.       
:****+++**+*,:**********+,+*****+:,:+:,..,..,:,..,,:++++++,,::+*#***#::::::::++::,,,,,,,,,,,,,#####,.,:.::::+*##*+**#############################,..*::,       
#*:*+*++++++++,:*******+:+:,*+**:,.,:,..,:..,:,..,:,,+*++*,:,,+*#**+#::,,,:,,:*:+,,,,,,,....,:*###*...,.*##+***+:+**##########################*+.....*::,      
***::*++++*****+,:+**:+*****:,+*:,,.+,,.:,...:...,+++:,.,:,::,+##*+:*,,,,,,,...:+.....,......+####+...::***+,:+::+**##########################*+.....:+::,     
*****::**********+::+*********:::,..:............,++,...,:+::,:##*++#,,,:,,.....,...........,###**...,,:+*++::::**###########################+*.......*+:+.    
****:+:,++******+::::+********+,,,.............. ,+:,,,,:,:,:,,##**##:,,,:,...,,,,........,,,#+. ..,,.+***#*,:::*#############################........**:+.    
*+**####+,:**+++****+::+***+:+**,,...............,:,,,,:+*:,:::##*****,,.  +,+:::,......::,. .., .,::+*##**+::*###################*########## ...... *#*:+:    
##*#####**+::+*********::+++***+,,...............,,,.,,+**+*:::#***#*+........,,:...  .....,,.,,:::+::+**+++####################* ##########........+##*:+:    
:***###**+::,:+*********,,+****+,,....................,******+:*::*:................  .:,,.  ...::::,:++:+*##*##################*##########+.......+##**++:    
#+:*###*+++++:::++++++:+++::+***:,,..................,:+++++++,,,,,,............ .,   .,,......,,,:::+##**####*##############################*,. .*###**:+,    
#**++++***++++++::++++++++++::::::,...........,,,..,::++++++++:+......,, ,:,..    ........,.**,,:,,,+*#*#################################*######*******+++.    
,.,,..,,.....,:+**##############*::,,.........,,,,,:++++::::::+*+:,.   . .,,.::,.........,*#+:::,,:*#***################*****###############***********+++     
,,,,,,:::+::,:+**+*#***##########*++:,,,,,,,::::::****##########++++++**+++:,.,,....,..:#+.:+:,,:+++++*##############################*##**************++*,     
#***#*##**######**:::,.,:,:+**####*+****++****###################**++++::*+:,:+:..,::+..,:++::::+++*######################**########*##########******+:+*.     
####:+**######**#******++***######+++++++++++*####################*+**+**:**::*+.**+.,,:+::,:::*#*######*###**##########**########*#############****+++*,      
####*****#####**:#######*+****####++********########################*#*:::::++:+:*:*::::,::+###*#*::::+*******************************++++++++::::::::+:.      
::,,::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::,::::::::,,,,,,,,,,,,,,,,..,,..,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
               ...,,,:+***##################**#*************:,,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****###########***++******#*******:,,,,,,,::::::,,.,,,::+..***###########*#########################################*...,#+,+,          *       
     ..,,,,,::,#########+::++**++***********:,............,,,,::::,,:*##*###**********++++++++******#################################*.. *:::,          +.     
,,:::+*#*#########*+,:::+*+**+*********:,..,,................,,,,.***********+:+::::,,,,,,::::+++*#####################################*..*+:+,          :.    
+***#########*++::,,:::****+****+*:,,,:,,,.,,,..    ..    .... .**+*++++::++,,:,.,,:++,,..:*##+::,*#####**###############################..*+:+,     .    ,,   
########++++:::,,,,::+***+***+,,,,:++++:,,..,,....  ....   .  **++++*++::,.:..,+,......., :#*#***#+,,+#*****##############################..*+::,          .,  
###*++++::::,,,,,:+:**+****+,,,,,,,,,,::,,....,...  .........::*:::,,......  ...  .,+*,. .:*####*:,,,:+++++*##############################*..*+::,          ., 
++++::::::,,,,:::+**++++:,:++++++++++:,:,,................  .:::::,.....  . .,,,.,****+**:. ..*:.....,::+*#***#*:##########################. .*+::.           :
::::::++,,,,::++**+******,,:********++:.,.............  ....:*+:::,,,,...........,+++*+:    .:,,..,,:,,,+##*++####################**+++*###*...*:::.          .
::++++,,,,::++*+,:++**:++**+::*****+:,,:,,..    ....       :,:,,:::,..,,,,,,.,.. .  ,+,      ....:.,,.,,*#*+.:###*##**#######*#****+::++*###....*:::.          
++*+.,,,::+**+***::+++********::*+:.:,,..:,.,,.......      ,::,,,,:,:,............ :,          ......,,,*++,.,+****##*######**##****########,.*#**::,          
*,,,,::++**+**+::::,:++****++++:,:,,.:,,++,.,,::::::..    :,::..,,,,,........,::..  ..... ..,.***,.....:+++++:*+::################################+:+,         
,,,,::+**:+****+:+*+::::++++:::+::,..:,,,.,,,,,:++:,..   .::::,,,,...........,+*++::::::::,,,,####...,.,:+**+++*++**##################*###########*+:+.        
,,:****+++::*++*******+::*::++,.,+,..,,,,+:,.,::,,+**+::++,,,,,,:****+::::,,,:++::::::::::,,,,####*,.,:.,**:++******###############*##############:+:::.       
:****+++**+*,:**********+,+*++:,,:,,..,...:,..,,::,:+++++*,,::++***+#+::::::,++::,,,,,,,,,,,,,#####...:.:+::+**##++*#############################,..*::,       
#*:*+*++++++++,:*******+:+:,*+::,,:,..:,..:,,..,:+:,,,,+++.,,,++***+#:::,,,,,:*++,,,..,,.....:*###*.,.,,**#**+#*:+**##########################*+.....*::,      
***::*++++*****+,:+**:+*****:,::,.:,..+,..,:...,:+:,...,++:::,+:##++#:,,,,,,..,,*.....,......:*###*,..,:***+::+::+**##########################*+.....:+::,     
#****::**********+::+*********:,,.:,............:+:,..,::::::,,*##++*:,,:,......,...........,####*....,:+*++::::+*###########################+*.......*+:+.    
****:+:,++******+::::+********:,,...............:+:,.,:*+,:,:,,###*#*+,,.:,...,,,,........,,,#+....:,,:*###*,:::+#############################........**:+.    
*+**####+,:**+++****+:,+***+:+*,................,:,,,,::**:,:::*#*#***,.   :,+:::,....,,::.. , ,...,:+*##**+::*###################:########## ...... *#*:+:    
#**#####**+::+*********::+++**+:,...............,,,,,,++***+:::##**#*+...... ...,...  ....,,,.,,:+++:::**+:*####################*.##########........+##*:+:    
:***###**+::,:+*********,,+****:,.....................++*****+:+,,+,................  .:,... ..,:::,::++:+*#####################*##########+.......+###*++:    
#+:*###*+++++:::++++++:+++:,+**:,,..................,,++++++++,,,,,,............ ,:   ..,...,..,,,,,:+#***####*##############################*,. .*###**:+,    
#**++++***++++++::++++++++++:::::,,...........,,...,::+++++++*::+,......,::,.     .. .......**,,:,,,+*###################################*######*******+++.    
,.,,..,,.....,:+**##############::,,......,,.,,,,,::++++::::::+*::,,.. . ,.. +:,.........,*#+:+:,,:*#***################*****###############***********+++     
,,,,,,:::+::,:+**+*#***#########*++:,,,,,,,,::::::****#########*++++++++++,,........,..+#+.:+:,,:+++++*##############################*##**************++*,     
#***#*##**######**:::,.,:,:+**###*+++++++++**####*###############**++*+:,**:,:+:..,:++,.:+++::::+++*######################**########*##########******+:+*.     
####:+**######**#******++***######++++++++++**#####################+****++**,+*:.+*+.,,::::,:::*#*######*###**##########**########*#############****+++*,      
####*****#####**:#######*+****###*++**++++**########################*#++**::+:+*:*:*++::,:+*###*#*::::+*********+*********************++++++++::::::::+:.      
::,,::::::::::,::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
               ...,,,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############**++******#*******:,,,,,,,::::::,,.,,,::+..***######******##########################################,...#+,+,          *       
     ..,,,,,,::#########+::++***+***********:,............,,,,::::,,+##*####********++++++++++++****##################################.. *:::,          +.     
,,:::+*#*#########*+,::::*+**+*********:,..,,................,,,,.***********+++::::::,,,,,,:::++*######################################..*+:+,          ,.    
+***#########*++::,,:::+***+****+*:,,::,,..,,,..    ..    .... .*****+++::++:,:,.,,+++,,,.,+***::,*#####**###############################..*+:+,     .    ,,   
########**++:::,,,,::+***+***+:,,,:++++:,,..,,....  ....   .  **+++++++:+,.,..,+,.........,**##**#+,::******##############################..*+::,          .,  
###*++++::::,,,,,:+:**++**+:,,,,::,,,:::,,....,...  ..........++*,:,,......  ...  .:+*,. .,*#*#**:,,:,+++++*###############################..*+::,          ., 
++++::::::,,,,:::+**++++:,:++++++++++:,::,................. .,::,,,........ ..,,,.*******+....+*.....,:,:*#***#*+*#########################+  *+::.           :
::::::++,,,,,:++**+***#**,.:******++++:.,.............  .. .,*+:++:,,,,,.......,,,*++*+:.   .::...,,:,,,+##*++#####################*+++*####...*+::.          .
::++++,,,,::++*+::++**:++**+,:***+++::+:,..,,. .....       ,::,,++:,,,,,,,,,.,...   ,+,       ., :.,,.,,*#*+,,*##*##**######********++++*###....*:::.          
++*+.,,,::+**+***::+++********::*+++++:,.,,,,,.,,....      :::,,.,::,,,..........  :,          .,...., .+++:,,:***##############****########*.*#**::,          
*,,,,,:++**+**+::::,:+*****++++:,::::::,,,,,,:,,,,,,..    :.::,,,,,.,........,::.............,**#:...,.:++++::+*::#*##############################+:+,         
,,,,::+**:+****+:+*+::::++++:::+:::,,,:,,,,,,:::,,,,..  ..::::,,,,..........,:**++::::::::,,,,####,..,,.:+#*++++*+#*################*##############+:+.        
,,:****+++::*++*******+::*::+++++::,,,:,,,,,,,+,,.,+*+::::,,,,,,***+**::::,,,:++::::::::::,,,,####*,.., ,**::+******##############################:+:::.       
:****+++**+*,:**********+,+******+:,,+,...,,.,:,.,,,++++**,,,:+:**#+#*::::::,:+::,,,,,,,,,,,..*####...:.:+:+++*##++*#############################,..*:::       
**:*+*++++++++,:*******+:+:,*****+:..,,..,:..,,,..,,,:++++,,,,+:#**+#+::,,,,,,+++,,,,,,,,,...,*###*,..:,+*#***#*:+**##########################*+.....*::,      
***::*++++*****+,:+*+++*****::+**+,. +,..,,..:,,..,+*:,++++:,,:+#*:+#+,,,,,,..,,*.....,......:*###*,..,+*#*+:::::+**##########################*+.....:+::,     
#****::**********+::+*********::::,.,,............,++++,,,+::,,*#****+,,:,....,.,...........,*###*....,:+*++::+:+*###########################+*.......*+:+.    
****:+:,++******+::::+********+,,,,............. .,+:....,,:::,####***,,,,,..,::,,......,,,,,#+....:,,:####*::+:+#############################...... .**:+.    
*+**####+,+**+++****+:,+***+:+**,,................+:,,.,++:,:::*###*+#,... ,,:+::,,..,,,,:,. . ,...,:+*##***::*#################*#:########## ...... *#*:+:    
#**#####**+::+*********::+++***+,................,,,,,:+***+:+:#####*+...................,,.,.,,:+++:::**+:**###################*.##########........+##*:+:    
:*#####**+::,:+*********,,+****:,................:,,,,++*****+,:,,:.................. ,:...  ..,:::,::++:+*#####################*##########+.......+###*++:    
#*:*###*+++++:::++++++:+++::+*+:,....................,++++++++,,,,,,..........  .,.   ..... ,..,,,,,:+#***####*##############################*,. .*####*:+,    
#*+++++***++++++::++++++++++::::,,,..................::++++++**:+:.   .,+:,..   ..........,.**,,:,,,+*##############**###################*######*******+++.    
,.,,..,,.....,:+**#############*:,,........,,,,,,,,:++++:::::::*:+:,...,,,, .+:,.........:*#+:+:,,:*#***##############*******###############***********+++     
,,,,,,:::+::,,+**+*#***########*::::,,,,,,,,:::::+****##########*+++++:+::,,........,..**+,:+:,,:+++++*##############################*###*************++*,     
#***####**######**:::,.,:,:+**##+*++++++++++::++#################**++++::*+,,++:..,::+..:+++::,:+++*######################**########*##########******++**.     
####:+**######**#******++****###++++++******#######################+*****+#*,+*,,**:,,,::::,::+*#*######*###**##########**########*#############****+++*,      
####*****#####**:#######*+***###++**********########################*#+***::::**+*:*+:::::+*###*#*::::+*********+*********************++++++++::::::::+:.      
::,,:::::::::::::,::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,::::::::,:::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
               ...,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############**++******#*******:,,,,,,,::::::,,.,,,::*..***###########*##########################################*...#+,+,          *       
     ..,,,,,,,:#########+::++***+***********:,............,,,,:::,,,:*#*####**********++++++++++****##################################.. *:::,          +.     
,,:::+*#*#########*+,::::*+**+*********:..,,,................,,,..**********++++::::::::,,,,,:+++**#####################################..*+:+,          ,.    
+***#########*++::,,:::+***+******::,::,,.,,,,..    ..    ......**+**+++::++:,:,.,,+++:,,.,+***+:,+#####**###############################,.*+:+,     .    ,,   
########**++:::,,,,::+***+***+:,,,:+++++,...,,....  ....   .  *+++:++++::,.:,,.:,.........,***#*##*:::******##############################,.*+::,          .,  
###*++++::::,,,,,:+:**++**+:,,,,::,,,:::,.....,...  ........ .++*:,,,......  ...  .:**:...,*####*+,,:,++::+*###############################..*+::,          ., 
++++::::::,,,,:::+**++:::,:++++++:::+:,:,,................  .,,::,,......   ..,,,.:******+,. .+*,..,,,,,:*#***#**###########################  *+::.           :
::::::++,,,,,:++**+***#**,.:******++++:...............  .. .,*+:++::,,,,.......,,,+*+**:.   ,,:...,,:,,,:##*:+*###################**++:+####...*+::.          .
::++*+,,,,::++*+::++*+::++*+,:**++++:::+,,..    ....      .,:::,+:+:,,,,,,,,.,,,.   .+,       .,.,.,,.,,+**+.,*######*######********++++*###....*:::.          
++*+.,,,::+**+***::+++********::*+++++:::,:,,,........     ::::,,,::,,,............:,.         ,,...., ,+++:.,++***##############***#########:*#**:+,          
*,,,,::++**+*++::::,:+*****++++:,:::::::,.::::,:,,:,,,,  ..,:,.,.,,.....,,...,,,............,.*#*:,...,,:++++,+*+:**##############################+:+,         
,,,,::+**:+****+:+*+::::++++::::::,:::::,..,,::,,,:,,,. ..,,::,,,,..........,++*++::::::::,,,,####,,..:.,:#*++++++**#################*#############+:+.        
,,:****+++::*++*******+::*:++++++++:,,,::,,:+:,,,,,,,::,..,,,,,,+*#+**::::,,,::*::::::::::,,,,#####..., .**:++******##############################:+:::.       
:****+++**+*,:**********+,+***********:,,,,:,,.,,,,,::,,,,,,,:+:***+#*::,,::::+::,,,,,,,,,,,,,*####. .:.,+:+++*##++*#############################,..*:::       
**:*+*++++++++,:*******+:+:,********+,:,.,+,...:..,:,,,,,::,,,:+##*:#*::,,,:,,+:+,,,,,,,,,..,,*####:..,,:*#***#*:+**##########################*:.....*::,.     
***::*++++*****+,:+*+++*****::+***+++:,..,,,.,:,.,:+,,,,:++,,,:+##+*#+,,,,,,..,,+............,*###*,..,:*#*+:,++::*###########################*+.....:+::,     
#****::**********+::+*********::++**,............::,...,:::,:,.+##+***,,:,....,.,...........,*####....,:+*++::+::############################+*.......*+:+.    
****:+:,++******+::::+********+,:++,...............,..,+:,::::,*##****,,,,:...:::,.......,,,,#+... :,,:**##*,:+:+#############################........**:+.    
*+**####+,:**+++****+:,+***+:+***+,.................,::::,,,,::*###*+#,.....,++::,,.,,,,,:,... ...,,:+*##***::*##################+:##########....... *#*:+:    
#**#####**+::+*********::+++****+,.................,:,,....,::,*####*+........  . ........,...,,:+++:+:+*+:*+###################*.##########........+##*:+:    
:*#####**+::,:+*********,,+*****,,................:+,,,,,:++*+::,:,.................  ,: ......,:::,::++:+**####################*##########:.......+##**++:    
#*:*###*++++++::++++++:+++::+*+:,............... ,:,,::+++++++,,,,,,..........  .,.   ......,..,,,,,,+##**####*##############################*,. .*####*:+,    
##+++++***++++++::++++++++++::::,,.................,,,:++++++**++:..  .::,,..   ............**,,,,,,+*###################################*######*******+++.    
,.,,..,,.....,:+**#############::,,........,........,::+:::::::*::,,,,,,,,. ,+:,.........,*#+:+:,,:*#***##############*******###############***********+++     
,,,,,,:::+::,:+**+*#***########++::,,,,,,,,,,,,,,::+****########**+::+++::,,..,.....,.,**+,:+::::+++++*##############################*###*************++*,     
#***####**######**:::,.,:,:+**#+++++++++::::::+*#################**+**++:*:,,+*:..,::+..:+++:,,:+++*################################*##########******++**.     
####:+**######**#******++**####+++++****##*########################++****:#*,+*::*#, .,::::,:::*#*##########**##########**########*#############****+++*,      
####*****#####**:#######*+**##*+++********###########################*+***::,+**:*:*:::,,:+*###*#*::::+*********+*********************++++++++::::::::+:.      
::,,:::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::,::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
               ...,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############**++******#*******:,,,,,,,::::::,,.,,,::+. ***###########*##################################*########...#+,+,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,:::,,,,*######**********++++++++++****##################################,. *:::,          +.     
,,:::+*#*#########*+,::::*+**+*********:..,,,................,,,..***********++:::::::::,,,,::+:+**#####################################,.*+:+,          ,.    
+***#########*++::,,:::+***+******:::::,,.,,,,..    ..    ....  ******+:::++:,+,..,+++:,,.,:*#*:::+*####**###############################+.*+:+,     .    ,,   
########**++:::,,,,::+***+***+:,,,:++++:,...,,....  ....   .  +*+++++++::,.:,..::,........,*#***#**:::******##############################*,*+::,          .,  
###*++++::::,,,,,:+:**++*+::,,,,::,,,:::,.....,...  ......... +++:,:,......   ..  .,+*:.. .+##*#*+,,,,++::+*###############################:.*+::,          ., 
++++::::::,,,,:::+**++:::,:++++++++++:,:,,................   :,:::,......   ..,,,.:*****#*, ..,*,...,,:::*##+**#############################  *+::.           :
::::::++,,,,,:++**+******,.:******++++:...............  ..  ,*+:::::,,,,.......,,,+**++:.    .:...,.,,,,:*#*:**###################**++::*###,..*+::.          .
::++*+,,,,::++*+,:++*+::++*+,:**++++:::+,...    ....       .+::,+:+:,,,,,,,,,,,,.   .+:      ..,.,,,,..,:***.,+######*######**###***+++++###+...*:::.          
++*+.,,,::+**+***+:+++********::*+++++:::,:,,,,,.,,,       ,:::,,,::,,,.........,,.::          ,,....,..+*+:,,++**###############****#######*+*#**:+,          
*,,,,::++**+*++::::,:+****+++++:,::::::,..::,,.,,,,...    .:,,....,,.,,.,,...,:,..............+*#+,...,.:+++*,+*++**##############################+:+,         
,,,,::+**:+****+:+*+:,::++++::::::,::::,,,+:,,,,,,,,.   ..,,::,,,,,.........,:+**+::::::::,,,,*###+,..,.,:*#++:+*+*###################*############+:+.        
,,:****+++::*++*******+::*:++++++++:,::,,,:,,,:,,,,:*+::.,,,,,,,,+##**::::,,,:++::::::::::,,,,#####...,..+*+:+****+*##############################:+:::.       
:****+++**+*,:**********+,+**********:,,:::,.,:.,,,::::,,:,,,:+++***#*::,,::,:+++:,,,,,,,,,,,,*####:..,.,+::++*##*+*#############################,..*:::       
**:*+*++++++++,:*******+:+:,********:,,,,:...,...,:,,,,,,:+,,,::*#*+##::,,,,,::++,,,..,,,,....**###+...,+*#**+##:++*##########################*:.....*::,.     
***::*++++*****+,:+*+++*****::+***+:,,.::,,.,:..,:+,..,,+++::,,::#+***,,,,,,..,.+,...........,*####+..,:***++,:+:++*##########################*+.....:+::,     
#****::**********+::+*********:::++:...:.. . ...::...,,:::+,:,.+*#**+*,,::,.....,...........,+####....,:+*++::+:+############################+*.......*+:+.    
****:+:,++******+::::+********+,,::.................,:++:,,::,:*##**+*,,,,:,..:::,........,,,** .. ,,.,*##**::+:+#############################........**:+.    
*+**####+,:**+++****+:,+***+:+***:,.................:::,.....::*###***:.....+:+::,..,,,,,,,.... ..,,::+*##**::+#################* ,########## ...... *#*:+:    
#***####**+::+*********::+++****+,.................,::,,..,::::*#####*........  . ...... .,,..,,::++++,+*++*:###################*.##########........+##*:+:    
:***###**+::,:+*********:,+*****,,,..............,,:,,,,:++**+::,,,,................  ,,......,,::::::++::**###############################:.......+##**++:    
#+:*###*++++++::++++++:+++:,++**:,................:.,,,:++++:+:,,,,,.......  ... ,..  ......,..,,,,,,+*#**###################################*,. .*####*:+,    
##+++++***++++++::++++++++++:,::::,...................,:++++***++:,,...::,,..   ..........,.+#,,:,,,:*###################################*#####*********++.    
,.,,..,,.....,:+**##############::,,...............,,::::::::::*::,,.,.,,:, ,*:,........,,*#+:++,,:+#***##############*******###############***********+++     
,,,,,,:::+::,:+**+*#***#########+::,,,,.,,,,,,,,,,:+****########**+:::+++::,,,......,.,+#+.:+::::+++++**#############################*###*************++*,     
#***####**######**:::,.,:,:+**##***+++++++++:::::*##############***+**++:*:,,:+:..,:++..,:++:,::+++*################################*##########******++**.     
####:+**######**#******++*****##++++++****#*#######################*+****:#*,:*:,+*+ .,:+::,:::*#*##########**##########**########*#############****+++*,      
####*****#####**:#######*+***###++*********#########################******+:,:**:*:*,:::,::+###*#*::::+*********+*********************++++++++::::::::+:.      
::,,:::::::::::::,::::::,::::::::::::::::::::::::::::::::::::::::::::::::,,,::::,,::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
               ...,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,::+. :**###########*########################################### ..#+,+,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,:::,,,,*######**********++++++++++****###################################. *:::,          +.     
,,:::+*#*#########*+,::::*+**+*********:..,,,................,,,,.************++:::::,::::,,,:+:+**#####################################+.#+:+,          ,.    
+***#########*++::,,,::****+******:::::,..,,,,..    ..    ....  ******++::+++,::,..,++:,.,,,+*#+::+*####***############################### *+:+,     .    ,,   
########**++:::,,,,::+***+***:,,,,,:+++:....,,....  ....   .. ,*++++++++:,.,:,.,*:.........+*##*##*+::******###############################.*+::,          .,  
###*++++::::,,,,,:+:**++*+::,,,,,,,,,,::,.....,...  ........  +++:,,,......  .. .. .:++. ..:##**#*:,:,++::+**##############################*.*+::,          ., 
*+++::::::,,,,:::+**++:::,:+++++++::+:::,.,,..............   :,:::,.......   .,,,.,*******:  ..*:...,,,::+#*++*#############################..*+::.           :
::::::++,,,,,:++*********,.:****++++++:...............  ..  ,+*+::::,,,,.. .....,.:*++++:   . +,....:,,,,+##++*###################++++++**##*..*+::.          .
::++*+,,,,::+**+:::+*+::++*+::*****+:::,.,  ..  ....        :,::+:::,.,,,,,,.,...    :+.     . ...:.,,.,:*#*,,+###*##*########*##***+++++*###...*:::.          
++*+.,,,::+**+***+:+++********::*+::,.,,,,:,,.,......      .,::,,,:::,,,..........  :,      .. ....,.,..:*++,,:+***##*############**#########,*#**:+,          
+,,,,::++**+*++:,:,,:+****+++++:,:::,,.:,,:,:,,,:::,..  . .:::,,,,,,,,.......,::..  .......... +*:,.... :++++:+*:++*##############################+:+,         
,,,,::+**:+****+:+*+::::++++:::::,,,,,.,,,,+:,,.:+:,..   .::::,,,,,..........,++**::::::::::,,:####...,.::**++++*++################################+::,        
,,:****+++::*++*******+::*:+++++,.,,,,.,,,.::,,,,,++*+::::,,,,,,,+#+#*::::,,,::+::::::::::::,,+###*,..,..:**::******##############################:+:::,       
:****+++**+*,:**********+,+****+,,,:,,..,...,,...::::+++++:,,:++:**+##::,,::,:++:+,,,,,,,,,,,,*####*..,,,:::++**#*+*#############################,..*::,       
**:*+*++++++++,:*******+:+:,****:,.,,,..,,..:,,..,,,,:+++++::,:+*#***#::,,,,,,,*+:,,....,...,.**###*...:,*#*+*##:++**#########################*+.....*::,.     
***::*++++*****+,:+*+++*****:,+*:,..+,..:,...,...,+*+:,,..:,:,,+:#***#,,,,,,..,,+:............**###*...:+#**+,+*:++#*#########################*+.....:+::,     
#****::**********+::+*********:::,..:.............++:,...,:,:,,+*##*:*.,,+,.....,............:##*#+,...:**+*::::+############################+*.......*+:+.    
****:+:,++******+::::+********+,,,................:+,,,,,,:+::,+##*+*#,,,,+,..,,,,........,,,+#:...,,,,*##**::::+#################**##########........**:+.    
*+**####+,:**+++****+:,+***+:+**:,...............,:,,,,,+*+,,:,:###+***... .::+:::,,,...::,,..  :,.,::+*##**,:+*################:.,########## ...... *#*:+:    
#**#####**+::+*********::+++****:,.............. .:..,,,+**++::+##*###........ ........  ..... .,:+++::+**++,###################*.##########........+##*:+:    
:*#####**+::,:+*********:,+*****+,.....................,+****+::.,:,.................  ,:... ...::::::+++:+*###############################:.......+##**++:    
#*:*###*++++++::++++++:+++:,+***+:,...................,:++++:+:,,,,,............ .,.   ....... ,,:::,+*#**###################################*,. .*####*:+,    
#**++++***++++++::++++++++++::::+:,,,..........,,,..,,:++++++**+:+,....,,:,,      ...........#:,:,,,:*###################################*#####********+++.    
,.,,..,,.....,:+**###############*:,,......,..,,,,,,++++::::,::*::,,,  . ,,. ::,.........,+##::+:,:+****##############*******###############***********+++     
,,,,,,:::+::,:+**+*#***#########**++::,,,,,,::::::+***##########**+::+:+:::,,,......,,,:#*,:+++,,:+*++**#############################*###*************++*,     
#***####**######**:::,.,:,:+**#####+**++++******#################**++++::+*::,*+,,,,,+,..:+++:,:::+*################################*##########******++**.     
####:+**######**#******++***#######+++++++++++*####################*+****.#*+:*+ :#+,,,:++:,:::+#*##########**##########***#######*#############****+++*,      
####*****#####**:#######*:***#####*+++**++***#*######################**+**+::+:++*:*.++:::::###***::::+*********+*********************++++++++::::::::+:.      
::,,:::::::::::::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          :    .    
                ..,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::,,,,.,,,::+. :**###########*###########################################..,#+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****###################################. *:::,          +.     
,,:::+*#*#########*+,::::*+**+*********:.,,,,................,,,:,************++::::::,,::,,,:+:++*######################################.*+:+,          ,.    
+***#########*++::,,,::****+******::::,,..,,,,..    ..    ....  ***+**++::+++:,+,..,+++:.,.,+*#+:::*#####**############################### *+:+,     .    ,,   
########++++:::,,,,::+***+***+:,,,::+++:....,,....  ....   .. .*+++:++++::,.:,..*:.........:*##**#*+::+*****###############################.*+::,          .,  
###*++++::::,,,,,:+:**+++*:,,,,,,,,,,:::......,...  ......... *+++,,........ .  ....,++,.  :****#*:,,,:+::+**##############################*.*+::,          ., 
*+++::::::,,,,:::+**++:::,:+++++++::+:::,,,,..............   :,:,,,,......  ...,:.,*****+*+. ..*:...,,,::+#**+*##*##########################..*+::.           :
::::::++,,,,,:++**+******,.:****+++++::,..............  ....,+*+::::,,,,.. . ...,.:*+++++.  . :,....,,,,,+##++*##################**+++++*#### .*+::.          .
::++*+,,,,::+**+:::+++::++*+::*****+::::,,..,.,  ...        ,,::::::,,,,,,,,.,....   :+,      .,..,,,,.,,*#*,,+*##*#**############**+++++*###...*:::.          
++*+.,,,::+**+***+:+++********::*+::++::,,.,,,,,,,:,.       ,::,,,,::,............  ,,.       ..,,,.., .:+++,,,+***#**############***########.*#**:+,          
+,,,,::++**+**+::::,:+****+++++:,::::::,,,,,,,,:,,,,.   .  +::,,,,,,......,,...,:,  ....    .. ,:,,.....:+++*++*:++################*##############+:+,         
,,,,::+**:+****+:+*+::::++++::::::,,..,,,,,,,,,::,,,.   ..+:::,,,:,.,.........,++*::::::::::,,,####, .,,::*#*+++*+:*###############################+::,        
,,:****+++::*++*******+::*:+++**+++:,,,,,,.,,,,:,,,,:+:::::,,,,,:**+#*::::::,::++:::::::::::,,:####:..,,,,**:+*******#############################:+:::,       
:****+++**+*,:**********+,+********:,,,,,..,,..,,,,,,:++*+:,,:++***+*#::,,::::++::,,,,,,,,,,,,+*###*..,,.:+,++*#*#+*#############################,..*::,       
**:*+*++++++++,:*******+:+:,*******:,.,,,..:,..,,,...:+++++.,,,++#+**#::,,,,,,,*+:,,..,,,....,**###*..,:,*##+*##:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***::,..+,..,...,,,..,:,++++,:,,++#+++*,,,,,,..,,+:............**###*...::***+:+*:++#*#########################*+.....:+::,     
#****::**********+::+*********:::++:,...............,+*:,,,,,,,:*#**:*,,::,......,...........,##*#*....:++**:::::############################+*.......*+:+.    
****:+:,++*******::::+********+,,+:,,...............,++,....,:,:###***,,,,:,..,,,,.........,,+#+...,:,,+*###:::::#################,+##########...... .**:+.    
*+**####+,:**+++****+:,+***+:+***+,................,+:,,,,:,,:,:###****.....::+::::,,,,.,,:,  ...,.,,,+*##**,:+*################..,########## ...... *#*:+:    
#**#####**+::+*********::+++*****+,...............,::,,,,:*++:::######..........,,  ..  .. .., .,:++++::**++:*##################*.##########........+##*:+:    
:*#####**+::,:+*********:,+******:,................:,,,,:++**+::.,,:.,..............   .:,.. ...:::::::++:+*###############################:.......+###*++:    
#*:*###*++++++::++++++:+++::+****:,.....................+++++::,,,,,............ .,.   .,.,.....::::,:****#####*#############################*,. .*####*:+,    
#**++++***++++++::++++++++++::::+::,.................,,,++++****++...... ,:,..    .. ... ....*:,,,,,:*####*##############################*#####********+++.    
,.,,..,,.....,:+**###############*:,,........,,.,,,,,:::::::::,*+:,,,   ..,, .+:.........,:##::+:,,:****##############*******###############***********+++     
,,,,,,:::+::,:+**+*#***#########**++::,,,,,,,,::,::***##########**+::++++:::,,,........,**+,:++,,:+*++**#############################*###*************++*,     
#***#*##**######**:::,.,:,:+**####++++++++****++**###############**++++::**+,.++,,,,:+:..:+++:,:::+*################################*##########******++**.     
####:+***#####**#******++***######++++++++****#####################*+****,***,**.:#+,,.:++:,,:++#*##########**##########***#######*#############****+++*,      
####*****#####**:#######*:***####*++++++*****########################**++**::+,+:*+*:++:::::*##***::::+*********+*********************++++++++::::::::+:.      
::,,:::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
                ..,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::,,,,.,,,::+, :#*###########*###########################################,.,*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****###################################, *+::,          +.     
,,:::+*#*#########*+,::::*+**+*********:.,,,,................,,,,,******##*****+::::::,,::,,,:+:++*######################################.#+:+,          ,.    
+***#########*++::,,,::****+******::::,,..,,,,..    ..    ..... +**+**++::::+::::,.,+++:...,+*#*:::+#####**############################### *+:+,     .    ,,   
########++++:::,,,,::+***+***+:,,,,:++:,....,,....  ....   ..  *++++++++:,,.:,.,*:.........:###*#**++:+*****###############################.*+::,          .,  
###*++++::::,,,,,:+:**++++,,,,,,,,,,,:::......,...  ........ .++++,,,...  .. .. .. ..+*,.  ,***##*:,,,:++:++**##############################.*+::,          ., 
*+++::::::,,,,:::+**++::+,::++++::+++:::..,,..............  .:,,,,,,....,,   ..,,..+****:*+....*:,...,,,:+*#**###*##########################:.*+::.           :
::::::++,,,,,:++*********,.:**+++++++::,..............  .....+*+::::,,,,.. . ....,,++++++.   .::....,,,,,+##*:**#################**+++++*####..*+::.          .
::++*+,,,,::+**+,:::++::++++::****++::::,...    ....        ,,::::::,,,,,,,,,....  . :+,      .,..,,.,.,,+#*,,:*##***#######*#*###*#**+++*###...*:::.          
++*+.,,,::+**++**+:+++********::*++:++::,:+,,,...,::..,,    ,::,.,,:,,,,............,:.       ..,,,..,..:+++,,,+***#*###############*########,*#**:+,          
+,,,,::++**+**+::::,:+*****++++:,::::::,.,,,,,,::,,,,,,,   *,,,..,,,..........,,:,..  ........ ,,,,.....:+++*+++:++*################*#############+:+,         
,,,,::+**:+****+:+*+::::++++::::::,::::,.,,,,::,,,,,,,,, .,,::,,::,.,.........,:++::::::::::,,,###*. .,,::*#*+++*+:################################+::,        
,,:****+++::*++*******+::*:+++***++::::,,:,,:++:,,:,,,:::,,.,,,,+*****::::::,::++:::::::::::,,:####:..,,,,**+++*#****#############################:+:::,       
:****+++**+*,:**********+,+***********::,,.,,,,,,,,,,,::,,,,,:++##*+*#::,,::::+*::,,,,,,,,,,,,:*###*..,:,++:++**##+*#############################,..*::,       
**:*+*++++++++,:*******+:+:,********+::,,,.::,,..:..,::,,,,,,,,+##+**#::,,,,,,,++:,,,,,,......**###+...:,*##+*##:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++***,..,::..,,.,.::,.,,:,:,,+##+*+*,,,,,,..,,+:............**###*...,:#**+::*:+**+#########################*+.....:+::,     
#****::**********+::+*********:::+**++,,...........,:....,::::,+##:*:*,,,+,......,...........,####*....:++**:::::############################+*.......*+:+.    
****:+:,++******+::::+********+,,+***,,.................,,:*::,:##:+**,,,,:,..,,,,.........,,:#*....,,,+*###:::::################+ +##########...... .**:+.    
*+**####+,:**+++****+:,+***+:+***+,:,..................:++,,,,,:###***+.....+:+::::,.,..,,:,....,:.,:,:*##**,:++################..,########## ...... *#*:+:    
#**#####**+::+*********::+++******+,.................,::,....,,:######,........,::....  .....,..,:+++::+**+*,*##################+.##########........+##*:+:    
:*#####**+::,:+*********,,+*******,,................,+,,,,,:*+:,,,:+,................. .,,......:::::::++:+*###############################+......,+##**++:    
#+:*###*++++++::++++*+:+++::+****+,................,,,,,:+:++:::,,,,............ .,..  .........::::,:*****###**#############################*,. .*####*:+,    
#**++++***++++++::++++++++++::::::,,...................,++++****++. .... .::,.    .. ... ....*:,,,,,:*####*##############################*#####********+++.    
,.,,..,,.....,:+**###############::,,.................,::::::::*++:,..   ..,. ::,........,:*#::+:,,:****############*********###############***********+++     
,,,,,,:::+::,:+**+*#***#########*++:::,,,,,,,,,,,,,::+**########**+::++++:::,,,........,*#+,:+:,,:+*++**#############################*###*************++*,     
#***#*##**######**:::,.,:,:+**###:++++++++++::::+*#*#############**++++::**+,.++,,,,:++..:+++:,:::+*################################*##########******++**.     
####:+***#####**#******++*****##*++++++*****#######################*+****:***,**,:#*,,.,++:,,,:+**##########**##########***#######*#############****+++*,      
####*****#####**:#######*:****##*+++++******#########################***+*+::+:++*:*:++:::::*##***::::+*********+*********************++++++++::::::::+:.      
::,,:::::::::::::,::::::::::::::::::::,,:::::+::::::::::::::::::::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,::::::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          ,    .    
                ..,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::,,,,.,,,::+, :#*###########*###########################################+.,*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****###################################: *+::,          +.     
,,::++*#*#########*+,::::*+**+*********:.,,,,................,,,,:**********++++::::::,,::,,,:::++*######################################.#+:+,          ,.    
+***#########*++::,,,::****+******::::,...,,,,..    ..    ..... +**+**++::+++:,::,,,:++:...,+*#*:::+#####**###############################.*+:+,     .    ,,   
########++++:::,,,,::+***+***+:,,,,:++:,....,,....  ....   ..  *++++++++::,.,,.,:+,.,,.....:#*#*#**++:+*****###############################.*+::,          .,  
###*++++::::,,,,,:+:**++*:,,,,,,::,,,::,......,...  ........  ++++,,,.... .. .. .. ..:*:,  ,#***#*+,,,:++:++**##############################.*+::,          ., 
*+++::::::,,,,:::+**::::+,:+++::+++++:,,..,,..............  .:,,,,,,...... . ..,,..+****:*+....*:,..,,,::+*#**###*##########################*.*+::.          .:
::::::++,,,,,:++*********,.:**+++++++::,..............  ..  .+*+::::,,,,.. . ....,,++++++,   .::....,,,,,+##*+**################***++++++####..*+::.          .
::++*+,,,,::++*+,:::++::++++::**++++::::,...    ....        ,,::::::,,,,,,,,........ :+,      .,,,,,.,..,+#*,,:*##***#######**###**#**++++###,..*:::.          
++*+.,,,::+**++*+:,+++********::*++:++::,::,,,.......       ,::,.,,:,,,,............,:.       ..,,,..,..:+++,,,+**#**########################:*#**:+,          
+,,,,::++**+**+++::,:+*****++++:,::::::,.,,,,,::,:,,,..:,, *,,,.,,,,,,.........,::............ ,,,,.....:+++*+++:++*##############################+:+,         
,,,,:++**:+****+:+*+:,:+++++::::::,::::,.,,..::,::,,..,,,,::,,,,,,,,..........,:**::::::::::,,,###*. .,,::*#*+++*+:################################+::,        
,,:****+++::*++*******+::+::++**+++::::,,:,,:+*:,,,::,,,::,,,,,,:**+#*::::::,::+++::::::::::,,:####:..,,.,**+++*#****#############################:+:::,       
:****+++**+*,:**********+,+***********::,,,,,:,,,,,,,,,:++:,,,,+**#**#::,,::,:+*+:,,,,,,,,,,,,:*###*..,:,:+:++**##+*#############################,..*::,       
**:*+*++++++++,:*******+:++,+*******+::,:,.:+,..,:,.,,:++:,:::,+##***#::,,,,,,,++:,,,,,,......**###*...:,*##**##:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****:,+***++***:,..+:,.,:,,..:,:,,,,,,,+##**+*,,,,,,..,,+:............**###+...,:#**+::*:+**+#########################*+.....:+::,     
#****::**********+::+*********:::+****,........,,..,:+,,.,,:::,+##,*:*,,:+,......,...........,#####....,++**+::::############################+*.......*+:+.    
****:+:,++******+::::+********+,,+***,,............ ....,,:+::,:##****,,,,::..,,:,........,,,:#*....,,,+*###:::::################,.*##########...... .**:+.    
*+**####+,:**+++****+:,+***+:+***+,:,..................,++:,::,,##****+.,...+:+:::,,.,,,,,:,.....:.,:,:*##**,:++################..,########## ...... *#*:+:    
#**#####**+::+*********::+++******+,..................,::,.....:####*#,........,::. ..   . ..,..,:++++::**+*,*##################*.##########........+##*:+:    
:*#####**+::,:+*********,,+*******,,................,:+:,,,,:::,,,:+,.................  ,,.....,:::::::++:+*###############################+.......+##**++:    
#+:*###*++++++::++++*+:+++::+****+,.................::.,,:++::::,,,,...........   ...  .........::::,:*****###**#############################*,. .*####*:+,    
#**++*+***++++++::++++++++++::::+::,..................,,:+++***+++. .. . .::,.    ..  .. ....*+,,,,,:*####*##############################*#####********+++.    
,.,,..,,.....,:+**###############+:,,.................,,:::::::*++:,, .. ..,. ::,.........:*#::+:,,:****############*********###############***********+++     
,,,,,,:::+::,:+**+*#***#########**+::,,,,,..,,,,,,,,,:+**#######**+:++++*++::,.........,*#+,:++,,:+*++**#############################*###*************++*,     
#***#*##**######**:::,.,:,:+**###*++++++++:::::::+**##############*++++::+*:,.++,,,,:++..:++::,:::+*################################*##########******++**.     
####:+***#####**#******++***#####+++++****####*####################*+****:***,**::#*,,.:++:,,,:+**##########**##########***#######*#############****+++*,      
####*****#####**:#######*:****##*+++++******#########################***+++::+::+*:*:++:::::*##*#*::::+*********+*********************++++++++::::::::+:.      
::,,::::::::::,::,::::::::::::::::::::,,:::::+::::::::::::::::::::::::::::,,,,::,,::::::::::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,::::::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          ,    .    
                ..,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,::+, :#*###########*###########################################*.,*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****###################################* *:::,          +.     
,,::++*#*#########*+,::::*+**+*********:.,,,,................,,,,:************++::::::,,::,,,:::++*######################################.#+:+,          :.    
+***#########*++::,,,::****+******::::,....,,,..    ..    ..... +**++*++++::+:,:,,.,++++...,+*#*:::+#####**###############################:*+:+,     .    ,,   
########++++:::,,,,::+***+***+:,,,,::::,....,,....  ....   ..  *++++++++::,.:, ,++..,,.....:#*#*#**++:+*****###############################:*+::,          .,  
###*++++::::,,,,,:+:**++*:,,,,,,::,,,::,......,...  ......... ++++,,,...   . .. .. .,:+:,  ,#####*+,,,:++:++*###############################.*+::,          ., 
*+++::::::,,,,:::+**::+++,:+++::::+++:,,..,,..............  .:,,,,,,......   ..,,.,****+:*+. ..*:,....,,,+*#**###*###########################.*+::.          .:
::::::++,,,,,:++*********,.:**+++++++:,,..............  .....+*+++::,,,,..   ...,.,++++++.   .::....,,,,,+##*+**###############*****++++**###,.*+::.          .
::++*+,,,,::++*+,:::++::++++::****++::+:,...      ...       ,,::::::,,,,,,,,........ ,+,      .,..,,.,.,,+#*,,:*##**#######****##***#**++*###:..*:::.          
++*+.,,,::+**++++:,+++**##****::*+::+:,:,:+:,,,.,,,..       ,::,.,,:,,,,............,:,       ....,,.,..:+++,,,+****#########################+*#**:+,          
+,,,,,:++**+**+++::,:+*****++++:,::::::,.,:,.,.:,,,,. ...  *::,.,,,,...........,::............ ,,,,.....:+++*+++:++####################*##########+:+,         
,,,,::+**:+****+:+*+:,::+++++::::,,,:,,,.,:,,,,,,,,:..,.,.::::,,,,,,..........,:+*::::::::::,,,####, .,,::*#*+++*+:################################+::,        
,,:****+++::*++*******+::+:++++++++:,.,,,,,,.::,,,+++::,:::,,,,,,**+#*::::::,::++:::::::::::,,:####:..,,,,**+++*#****#############################:+:::,       
:***++++**+*,:**********+,+********:,,,::,,,,,,.,,,,,,,,:+:,,:+++****#::,,::,:**:+,,,,,,,,,,,,:*###*..,:,++:++**##+*#############################,..*::,       
**:*+*++++++++,:*******+:++,+******:,,,,,,..,:...:,,,,,:+++.,,,+##***#::,,,,,,,*+:,,,,,,......**###+...:,*##+*##:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****:,+***+:,..+:...:,..,::...,:+++,:,,+##*++*,,,,,,..,.+:............**###*...,:#**+::*:++*+#########################*+.....:+:+,     
#****::**********+::+*********:::++:,..:.........,...,+:,:::::,:##**:*,,:+,,.....,...........,####*....:++**:::::##################*#########+*.......*+:+.    
****:+:,++******+::::+********+,,++:,................,+++,,....:##*+**,,,,,,...,:,........,,,:#*....,,,+*###:::::###############:  *##########...... .**:+.    
*+**####+,:**+++****+:,+***+:+***+,,.............. ..+::,,..,,,:##****+.,...+:+:::,,.,,,,::,.....:..:,:*##**,:++################,.,########## ...... *#*:+:    
#**#####**+::+*********::+++******,,................+:,,,,,++:::######,........,::. ..  .....,..,:++++::**+*,*###################.##########........+##*:+:    
:*#####**+::,:+*********:,+******+,,................+:,,,:++*+::,,++,................. ..,......:::::::++:+*###############################+.......+##**++:    
#+:*###*++++++::++++*+:+++::+****+,.....................,:+++::,,,,,...........   ...  .,.......::::,:*#***###**#############################*,. .*####*++,    
#**++++***++++++::++++++++++::::+:,,....................,+++++*+::.... . .::,.    ...... ....*:,,,,,:*####*##############################*#####********+++.    
,.,,..,,.....,:+**###############*:,,................,:::::::::*+:,,. .. ..,. ::,........,:*#::+:,,:*#**############*********###############***********+++     
,,,,,,:::+::,:+**+*#***##########*+:,,,,...,,,,,,,,,+***########**+:++++++::,,,,.......,*#+,:++,,:+*++**#############################*###*************++*,     
#***#*##**######**:::,.,:,:+**####*+:::::::::::::::*##############*++++::+*:,.++,,,,:++..:++::,:::+*################################*##########******++**.     
####:+***#####**#******++****######+++++++******###################*+****,**+,**::#*,,.:++:,,::+**##########**##########***#######*#############****+++*,      
####*****#####**:#######*:***#####++**++++*****######################***+++:++:++*+*::::::,:*##***::::+*********+*********************++++++++::::::::+:.      
::,,::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,::::::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**###*####*########################################**++:,          +    .    
                ..,:,:+***##################**#*************::,,,,,,,::::,... *++++++++++++++++++++++++++*******************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,::+, :**###########*############################################.,*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****#################################### *:::,          +.     
,,:::+*#*#########*+,::::*+**+*********,..,,,................,,,,,************+:::::::,,,,,,,:::++*##*###################################+*+:+,          ,.    
+***#########*++::,,,::****+*****++::,,...,,,,..    ..    ..... +*****+:++::+::::,,.:+:,,,.,+*#+:::*#####**################################*+:+,     .    ,,   
########++++:::,,,,::+***+***+:,,,,:::,,....,,....  ....   .   *++++++++::,.:, ,::,........+###****+::+*****################################*+::,           ,  
###*++++::::,,,,,:+:**+++:,,,,,::::,,::,......,...  ........  +++,:,,,..   . .. .. ..:+,.  +#**##*:,,,+*+:++*###############################:*+::,           : 
*+++::::::,,,,:::+**+++++,:+++::::+++:,,..,,..............   +,::::....... ....,:.,+***++*+  .,*:...,,,::+#***###############################.*+::.          .:
::::::++,,,,,:++*********,.:*++++++++::,..............  ... .+*++::,,,,,..  ....,.:+*+++:.    ::....,,,,,+##*+*################***********###+.*+::.          .
::++*+,,,,::++*+,:::++::++++::+*++++:::::.      ....        :,:,::+,,,,.,,,,.........::,     .....,:,,..:*#*.,+*###*#######****##******#+*###*..*:+,.          
++*+.,,,::+**++++:::++********::*+:::,,,.,::::,......       ,::,,,,::,,,,,......,,  ,,.      ...,,,.....:*++,,:+****##################*#######*#**:+,          
+,,,,::++**+***+++:,:+******+++:,:::,.,:,,:,:,,,,::,..    .+::,.,,,,..........,.::. .........  ,.,..... :+++++++:++###############################+:+,         
,,,,::+**:*****+:+*+::::++++++::::,,,,,.,,:::,,.,::,..  ..::::,,::,,...........,:+::::::::::,,:###*,..,.+:##+++***:################################+::,        
,,:****+++::*++*******+::+:++++:,:+:,,,.,,,:+:..,,+**+::+:,,,,,,,+*+#*::::::,::+++::::::::::,,:####,.....:*+::+******#############################:*:::,       
:****+++**+*,:**********+,+***::,,++,,..,,..::,..,,:++++++:,,:++***+##::,,::,+*+++,,,,,,,,,,,,+*###:..,,,++:++***#+*#############################,..*::,       
**+++*++++++++,:*******+:++,***+,,,+,,..,,..,:,...,,,:+++++,,,,+*#***#::,,,,,,,*+:,,,,..,....,**###*...,,*##++*#:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****::++,,,,:,..::..,+,,..:*+:,++++,:,,+******,,,,,,..,.:,............**###+...:+#**+,+*:++*+#########################*+.....:+:+,     
#****::**********+::+*********+::,..+,............,++++,...,:,,:#*+*:*,,,+,..................,####*....:+*+*:::::#################*.#########+*.......*+:+.    
****:+,:++******+::::+********+,,:,................:+:,....:::,+##**+*,,,,:,..,,.,.........,,+#*....:,,+**##::::+###############,..+##########........**:+.    
*+**####+,:**+++****+:,+***+:+**+,,...............,::,,,.::,,:,:###***+.,. ,,++:,,,,,,,,:::,.....:..,,+*##**,::*################+.,########## ...... *#*:+:    
#**#####**+::+*********::+++****+:,...............:+,,,,:+**+:,+##*###...... .,:+:,.   ... ..,..,:+++::+**+*,*################### ##########........+##*:+:    
:*#####**+::,:+*********:,+******,,................:....:+***+:::.*:..................  ........::+::::++:+*###############################+.......+##**++:    
#+:*###*++++++::++++*+:+++::+****:,.....................:+++:+:,,,,,............  .,  .,,,.....,::::,:**+*#####*#############################*,. .*####*:+,    
#***+++***++++++::++++++++++::++:::...................,:++++***:+....... ..,,..   .. ... ..,.*:,,,,,+*###################################*#####********+++.    
,.,,.........,:+**###############*:,,..........,,,,,,::::::::::*::,,.. .   ., ::,........,:##::+:,:+****##***#########*******###############***********+++     
,,,,,,:::+::::+**+*#***#########**++:,,,..,,,,,,,,,:****########*+++++***++:,,,........,*#+::::,,:+*++**#############################*###*************++*,     
#***####**######**:::,.,:::+**#####+::::::++++++++*###############*+++:::+*:,:+:,,,,,++,.:+++:,:::+*################################*#########*******++**.     
####:+***#####**#******++****######+*+++++******###################++*+**,**,:*+:+*+,..,++:,,,:+**##########**##########***#######*#############****+++*,      
####*****#####**:#######*:***######+**+++++++**######################**+:+:,++::,*:*,+::::::*##***::::+*********+*********************++++++++::::::::+:.      
::,,::,:::::::,::,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::,,,,:::,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
                ..,:,:+***################****#*************::,,,,,,,::::,... *++++++++++++++++++++++++++*******************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,::+, :**###########*############################################,.*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****####################################.*:::,          +.     
,,:::+*#*#########*+,::::*+**+*********,..,,,................,,,:,**********+++:::::::,,,,,,,:::+**##*###################################**+:+,          ,.    
+***#########*++::,,,::****+*****++:,,,...,,,,..    ..    ..... +****+++++::+,,+:..,+::..,.,+*#+,,+*####***################################*+:+,     .    ,,   
########++++:::,,,,::+***+***+:,,,,:::,,....,,....  ....   .  .++++++*++::,.:,.,*:.........+###****+::******################################*+::,           ,  
###*++++::::,,,,,:+:**+++:,,,,,::::,,:,,......,...  ......... *++,::,,..  .  ..... ..::.  .*#**#**:,:,++::++*###############################**+::,           : 
*+++::::::,,,,:::+**+++++,:+++::::+++:,,..,,..............   ::+:::.......  ..,,,.,***+:+*:.. ,*:...,,,::+#***###############################.*+::.          .:
::::::++,,,,,:++*********,.:*+++++::::,,..............  ... ,**+::,,,,..,.   ..,,,:****+:.    +,....,,,,:*#*++*################*******++**###*.*+::.          .
::++*+,,,,::++*+,:::++::++++::++++++::+:....    ....        :,:,:::,,,,..,,,........ :+.     .....,,,,..:***,,+###**#######*****#*****#*#*####..*:+,.          
++*+.,,,::+**++++:::++********::*+::+:::,:+,,:..,,,.       .:::,.,::::,,........   .+,      .. .,,,.....+*++.,++**##################*#*#######*#**:+,          
+,,,,::++**+***++::,:++*****+++:,::::,,,.,,:,,,,:,.,.     .:::,.,,,,.........,,.,:..  ......  ........,.,++++++*:++###############################+:+,         
,,,,::+**:*****+:+*+::::+++++:::::,::,..,::,,,,,,,:,..,. .+:::,,+::,,........ ..:+::::::::::,,:###+,..,.:+*#++++**:################################+::,        
,,:****+++::*++*******+::+:++++++++:::,..::,,,::,,:+:,,,::,,,,,,:+*:**::::::,::+++::::::::::,,+####...,..:*+::*******#############################:*:::,       
:***++++**+*,:**********+,+*********::,,:+:,,,,,,,::,,,,++:,,:+*#**:##::::::,+*++:,,,,,,,,,,,,*####,..,.,:::++**#*+*#############################,..*::,       
**:*+*++++++++,:*******+:++,+*******:,.,:+,..,,,,.:,,,,,+++,,,:*##:*##::,,,,,,+*+:,,,,..,...,.**###+...,:*#****#:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++:,,.:,,..,,,.,::,..,+++,:,,*#*:*+*,,,,,,...,:,............*####:..,:***++,:*:++*+#########################*+.....:+:+,     
#****::**********+::+*********:::+**:,..::.......,:,,..,,::,::,+#*:*:*.,::,......,...........:##*#*....:+*+*::+:+#################*.#########+*.......*+:+.    
****:+,:++******+::::+********+,,:**,...............,.,++,:+::,+##+++*,,,,:,..,,.,........,,,+#+...,,,,*#*##::+:+###############,..+##########........**:+.    
*+**####+,:**+++****+::+***+:+***+,,.................,:+++,,,,,:###***+.,..,,++:,,,,,,,.:::......:..,,+*##**,:+*################+.,########## ...... *#*:+:    
#**#####**+::+*********::+++******:,................,:+:,....,:+####**...... .:++:,.   ... ..:..::++*::+*+:*,*################### ##########........+##*:+:    
:*#####**+::,:+*********,,+******+,,................:+,,,,,:++:::,#:.................. .........::::::++++**###############################+.......+##**++:    
#+:*###*++++++::++++*+:+++::+****:,................,:.,,:::+:::,,,,,............  .,. .,,,.....,::::,:**+**####*#############################*,. .*####*:+,    
#***+++***++++++::++++++++++::++::,,..................,,:++*+**++.....,.  .,,.    ...... .., *:.,,,,:*###################################*#####********+++.    
,.,,..,,.....,:+**###############:,,...................,::::,:+*::,,. ..   .:.:,,.......,,:##::+:,::****##**##########*******###############***********+++     
,,,,,,:::+::::+**+*#***#########*::,,,,.....,.,,,,,,,:**########*+++++***++:,,.........:##+,:+:,:++*++**#############################*###*************++*,     
#***####**######**:::,.,:,:+**###+++++::::::,,,,:+**##############*+++::,*+,,:+:,,,,,++.,:+++:,:::++################################*##########******++**.     
####:+***#####**#******++***#####++++++*********###################++****:**,:#+:+*:,..:++:,,:++**##########**##########***#######*#############****+++*,      
####*****#####**:#######*:****##*+++++++*****#######################***+:::,:+:::*+*.:::::::*##*#*::::+*********+*********************++++++++::::::::+:.      
::,,::,:::::::,::,::::::::::::::::::,,::::::::::::::::::::::::::::::::::::,,,,:::,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          :    .    
               ...,:,:+***################****#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,::+, :**###########***##########################################,.*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######********++**++++++++****####################################:*:::,          +.     
,,:::+*#*#########*+,::::*+**+*********,..,,,................,,,:,**********+++:::::::,,::,,::::+**##*####################################*+:+,          ,.    
+***#########*++::,,,::****+*****+::,,,...,,,,..    ..    ....  *****++++::++,:::..,:::.,..,+*#:::+*####***################################*+:+,     .    ,,   
########**++:::,,,,::+***+***::,,,,:::,.....,,....  ....   .  .*++++**++:::.:,.,*:........,*##*****:::******################################*+::,           ,  
###*++++::::,,,,,:+:**+++:,:,,:::::,,:,,......,...  ......... :**,:,,,..  .  ... ....::....*#####+,,:,++::++*#################################+::,           : 
*+++::::::,,,,:::+**+++++,:++++++:+++:,,..,,..............   +::,::.......  ..,,..:***+:+*,. .:*,....,,::**#**#*#############################,*+::.          .:
::::::++,,,,,:++**+******.,:*+++++::::,,..............  ..  ,**+::,,,,....   ..,,,:*++++:     +,....,,,,:*#*:+*###############********++++####.*+::.          .
::++*+,,,,::++*+,:::++::++++::++**++::+:....    ....      ..:::,:::,,,,..,...........++.     .....,,,,,.:***.,+####*#######***###***#**#**####..*:+,.          
++*+.,,,::+**++++::+++********::*+:::,,:::+,,,.......      .:::,.,::::,,,....... . .+,      .. ,..,,.. .:*+:.,*+**###################*########*#**:+,          
+,,,,::++**+**+++::,:+++****+++:,:::::,,.,::,,,::::,.     .:::,.,,,,.........,,..,..  ......    ,,....,,:+++++++:++###############################+:+,         
,,,,::+**:*****+:+*+:,::+++++:::::,:::,.,::,,:::++::,,,  .,,::,,,,:,,........ ..:+::::::::::,,+###,,..,.:+**++:+**+################################+::,        
,,:*#**+++::*++*******+::+:++++++++:,,,,,,:,,+*:,,:,,,,:,,.,,,,,:+++**::::,,,::+++::::::::::,,*####. .: .:*+:+******##############################:*:::,       
:***++++**+*,:**********+,+***********:::::,,:::,:,,::::,,:,,:++#**:#*::::::,**++:,,,,,,,,,,,,*####,..:.::::++*##*+*#############################,..*::,       
**:*+*++++++++,:*******++++,+*******+:+,:,,,++:,,,::,,,,,:+,,,.,#**+#*::,,,,,,*++:,,,,,,,.....**###,..,,+*#*+*##:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++****:,.,++,,,,::,,,,+++,,,,:##****::,,,,...,,,............*####,..,:***+*,:+:+*#*#########################*+.....:+::,     
#****::**********+::+*********:::+*****:,..,,:,,,::..,,:,:,,::,*##:#+*,,:+,.....,............:####:....:+*+*::+::##################,#########+*.......*+:+.    
#***:+:,++******+::::+********+,,+***+:.,.......,..,,:::,,,,::,*##+*+*,,,,:,..,,.,........,,,*#:....,,,*####::+:+##*############...+##########........**:+.    
*+**####+,+**+++****+::+***+:+***+,::,..............,,,,.,::,:,:###***+.,. +,++:,,,,,,,.::,......,.,,,+###**:,+*################+.,########## ...... *#*:+:    
##*#####**+::+*********::+++******+,..................,,,:*++::*#####*...... .+++:,.   . ....:..,:++++:+#+:*:*################### ##########........+##*:+:    
:*#####**+::,:+*********,,+*******,,..................,:++++++:++:#+.................. .......,.::::::++++**###############################+.......+###*++:    
#+:*###*++++++::++++*+:+++::+****,,................,,:::,.....,,,,,,............  ..  .,..,....,:::,,+**+**##*###############################*,. .*####*:+,    
##**+++***++++++::++++++++++:::+,,,............. ..::,,,,::+**+*:..,..... .,,..   .. .....,.,#:,,,,:+*#*#################################*#####********+++.    
,.,,..,,.....,:+**##############,,,...............,.,,::*::::::**:,,....   .:.,:,........,+##:::,,:+****##############*******###############***********+++     
,,,,,,:::+::::+**+*#***#########:::,,...............,,:**#######**+++*****+:,,.......,.:##:,:+:,:++**+**#############################*###*************++*,     
#***####**######**:::,.,:,:+**##++::::,,,,,,,,,,,,,,:+###########**+++:::*:,,:::,,,,.*+.,:+++:,:::+*################################*##########******+++*.     
####:+***#####**#******++***###*+++++***++:::++**##################***+**:#+.+*++**:,,,:++:,,:++**######*###**##########***#######*#############****+++*,      
####*****#####**:#######*+***##*+++++***##*############################:::,::+:::*+*+:::::::*##***++::+*******************************++++++++++::::::+:.      
::,,::,:::::::,::,::::::::::::::::::::::::::++::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::::,,::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,..,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          :    .    
               ...,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,::+. +**###########***##########################################+.*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,.*######************++++++++****####################################*#:::,          +.     
,,:::+*#*#########*+,::::*+**+*********,..,,,................,,,.,**********+++::::::,,,::,,::::+**##*####################################*+:+,          ,.    
+***#########*++::,,,::****+*****+::,,,...,,,,..    ..    ..... **+*+++++::++,:,,..,::,.,..,***+::+*####***################################*+:+,     .    ,,   
########*+++:::,,,,:+:***+***:,,,,,::,,.....,,....  ....   .  ,**+:++*++:::.,,.,*:........,*##*****:::******################################*+::,           :  
###*++++::::,,,,,:+:**+++:::,,:::::,,:,,......,...  ......... :*+,:,,,..  .  ...  ..,,,....*#####+,,:,++::++*################################*+::,           : 
*+++::::::,,,,:::+**++**+,:++++++++++:,,..,,,,............   :,:,,,,..  ..  ,..,..+***:,++,.. :*,....,,::***+***#############################+*+::.          .:
::::::++,,,,,:++**+******..:*+++++::::,...............  ..  ,**:::,,,,....   ..,,.+++**+:    .:,....,,,,:*#*++*###*###########*#******++++####.*+::.          .
::++++,,,,::+**+:,:+++::+*++:,*****+::+:....    ....        :::,:::,,,,..,.......,,.,++.     ......,,.,,+*#+.,*####*#######***###*****+#***###..*:+,.          
++*:.,,,::+**++**+:+++********::*+:::,,,,:+,,,.......      .,::,.,::::,,....... .. ,+,       . ...,,.. ,+*+:.,*+***###########################*#**:+,          
+,,,,::++**+**+++::,::++****+++:,:::::,,.,:::,,,,:::. .   .,::.,..,,.........,...,.. ..................::+++++**:++###############################+:+,         
,,,,::+**:*****+:+*+:,::++++::::::,:::,,.:+:::,,.,::,,, . ++::,,,,,,,....... ...,:::::::::::,,*###,...,,,*#*++:++*+*###############################+::,        
,,:****+++::*++*******+::*:+++++*++:,,,..:+++::,,,:,,,,::+,,,,,,,+*+**::::,,,:++++,,:::::::::,####*..,, ,+*+:+******##############################:+:::,       
:***++++**+*,:**********+,:*********::,,:+::,,,,,,,,,::++:.,,:+:*##:#*::::::,**++:,,,,,,,,,,,,*####. .:.:+::++*##*+*#############################,..*::,       
**:*+*++++++++,:*******++++,+*******:,,,,++:,,,,,,,,,:+::::,,,:+##*+#*::,,,,,:*+:,.,,,,,......*####,..,,+*#*+*##:++*+#########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++:,.,+,,,.,,,,,.,+,:,,,:,:,,+##:+*+:,,,,,...,,,...........,*####...,:***++,:+:+*#*#########################*+.....:+::,     
##***::**********+::+*********:::++*,,.,++,,,,,,.,:+:,,,:::,:,,*##+*++,,::,.....,,...........:####:....+**++::+::##################:#########+*.......*+:+.    
#***:+:,++******+::::+********+,,+**,,..,........,::...,:,,:::,**#**+*,:,,,,..,,,,........,,,*#:....,.,*##**::+::##*############+,.+##########........**:+.    
****####+,+**+++****+::+***+:+***+,,.................,,:++:,,:,+###*+*+....:,+::,,,,,,,.::,. ....,.,:,+##***::+*#################.,########## ...... *#*:+:    
########**+::+*********::+++*****+,,.................,+*++++:::*##*#**........+++:,.   .....,,.,::++++:+*+:*:*###################.##########........+##*:+:    
:*#####**+::,:+*********,,+******:,.................:++:,....,,:,:#:.................. .......,,::::::++++**###############################+......,+##**++:    
#+:*###*++++++::++++*+:+++::+***+,,................,,:,,,,,:::,,,,,,...........   .,  .,..,....,,::,:+**+**##**##############################*,. .*####*:+,    
##**++++**++++++::++++++++++:::+,,.................:,,,:+*++**+*: .,...... ,,.    .........,:*,,:,,:+*#**################################*#####********+++.    
,,,,..,,.....,:+**##############:,,..................,,::::::::*+,,,....   .,.,,,........,+#*:::,,:+****############*********###############***********+++     
,,,,,,:::+::::+**+*#***#########::,,................,,:**#######*+:++****++:,........,,,##:,+:,,:++**+**#############################*###*************++*,     
#***####**######**:::,.,:,:+**##::::,,....,,,,,,,,,:+*###########*++++::+*:.,::,,,,,,*:.,:+++:::::+*################################*##########******+++*.     
####:+***#####**#******++***####+++++++++++:::::**################*****+,+*+,**+:**:.,,:++:,,:++#*##########**##########***#######*#############****+++*,      
####*****#####**:#######*:****##+*++****############################*#+::::::++,****+:::::::*##***::::+*******************************++++++++::::::::+:.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::::::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,..,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**########*#########################################*++:,          :    .    
               ...,:,:+***##################**#*************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,::+. +**###########***###########################################.*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######************++++++++****####################################**:::,          +.     
,,:::+*#*#########*+,::::*+**+*********:..,,,................,,,.,**********+++::::::,,,::,,::::+**##*####################################*+:+,          ,.    
+***#########*++::,,,::****+******::,,,...,,,,..    ..    ....  **+*+++++::::,:,,..,::,.,..:**+:::+#####***################################*+:+,     .    ,,   
########*+++:::,,,,:++***+***:,,,,,,,,,.....,,....  ....   .  ++++:++*++::,,,,.,*:........,*##*****:::******################################*+::,           :  
###*++++::::,,,,,:+:**++++:::,:::::,,:,,......,...  ......... +++,,:,,..  .  ,......,:,  .,**###*+,,:,++::++*################################*+::,           : 
*+++::::::,,,,:::++*+***+::+++*++++++:,,..,,,,............   :+:::,...  .   ,..,.,***+:,++,...:*,....,,,:***+*#*##############################*+::.          .:
::::::++,,,,,:++**:++***+,.:*+++++::::,...............  ..  ,*+:::,,,,....  ...,.,*++**+,    .+.....,,,,:##*:*####*###########*##******+++*###.*+::.          .
::++++,,,,::+**+,::++++:***+::+****+::++....    ....       .::,,:::,,,,..,.....,.,,.:+:.     .....,.,.,,+*#:,,*###**#######***####****+****###..*:+,.          
++*+.,,,::+**+***+,+++********:,*+:::,.,,+:,,,.......      ,::,,.,::::,,....,,.. . ,+. .       ,...,,.,,*++,,.*+***###########################*#**:+,          
+,,,,::++**+**++:::,::::+***+++:,::::,,,.,:,,,:::::,..     +,:.,..,,,........,..,,.. .  .......,.,...,.,++++++:*:++###############################+:+,         
,,,,::+**:*****+:+*+:,::++++::::+:,::,,..:,,,::,,,.,.   ..++::,,::,,,...........,:::::::::::,,####....,,:*#*++:++*+*###############################+:+,        
,,:****+++::*++*******+::+:++++++++::,,..,,,,++:,,,:++:::+,,,,,,,+++**::::,,,::+++::::::::::,:####+, ,:..**::+*****+##############################:+:+:.       
:***++++**+*,:**********+,:*:::+***+:,,,::,,,::,,,,,:+++++,,,:+:**#+#*::::::,**+::,,,,,,,,,,,,#####...:.::::++*##*+*#############################,..*::,       
**:*+*++++++++,:*******+++:,+:,,+**+,,.,,,,.::::,,,,,:*+++:,,,++#**+#:::,,,:,:*++,,,,,,,.....,*####...,.**#*+**#:++*+#########################*+.....*::,      
*#*::*++++*****+,:+*+++****+::,,:*+:,..::,.,::,,..:++:,++++,:,,+#*++#+:,,,,,...,:,...........,*####...:,***+:,:::++#*#########################*+.....:+::,     
##***::**********+::+*******++:,.:++,..,:...,:,...+++++:,:+,:,,*#****+,,,+,.....,,..........,+####,...,+**++::+::*#################+#########+*.......*+:+.    
##**:+:,++******+::::+*******+:,.,++.............:++++::,,,:::,*#**#*+,,,,,,..,,,,........,,:#*,....,.:*#***:,::+##*############*..+##########........**:+.    
*+**####+,+**+++****+::+***++++:.................:++:,...,:,::,*###***:,. ,+:+::,,,,,,.,:,,,... ,,,,,:*##**+:,+*################*.,########## ...... *#*:+:    
########**+::+*********::+++**+:,...............,,+:,,,,+**+:::*####*+.......,*++:.   ......,. ,::++:+:+*++++*###################.##########........+##*:+:    
:######**+::,:+*********,,+***+:,...............,+:,,,:++****+::.+*:....................... .,,,:+::::*+:+**###############################+......,+##**++:    
#*:*###*++++++::++++*+:+++::+++,................,:,,,,:+++++++,,,,,,............ .,.  .,..,....:,,:::+*****##**##############################*,. .*####*:+,    
###*+++***++++++::++++++++++:,::,.....................:+++++++,+. .,,,,....,,.    .........,+*,,,,,:*###*################################*#####********+++.    
,.,,..,,.....,:+**############*:,..................,:::+::::::++:,,. ...   .,.:,........,,*#+:::,,:+##**##############*******###############***********+++     
,,,,,,:::+::::+**+*#***#######*+:,,.........,,,,,,:+**##########*+:+******+:,..,....,.,:##,:+:,,+++*****#############################*###*************++*,     
#**#####**######**:::,.,:,:+**##::,,....,,,,,,,,:+###############*+++++:++:,,+:,..,:,*,.:+++::::::++################################*##########******+++*.     
####:+***#####**#******++***####*+++++++++++**+*##################*+**++:*#,,*++:*::.,,:++:,:::*#*##########**##########***#######*#############****+++*,      
####*****#####**:#######*:****###+**+++*******######################**:::::::+:,+++++:::::::*##***++::+*******************************++++++++::::::::+:.      
::,,::,:::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::::::::,,:        
,,,,,,,,::::::::,,,,::,,,,,,,,,,..,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**################################################**########*########################################**++:,          +    .    
               ...,:,:+***##################**#*************:,,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,::+. +**###########***###########################################.*+::,          *       
      .,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######*********+**++++++++****#####################################*+::,          :.     
,,:::+*#*#########*+,::::*+**+****+****:..,,,................,,,..**********++++::::::::,,,,::::+*###*#*##################################*+:+,          ,.    
+***#########*++::,,,::****+******:,,,,...,,,,..    ..    ....  **+*+++++::::,:,,..,,,...,,:**+:::*####****################################*+:+,     .    ,,   
########*+++:::,,,,::+***+***:,,..,,,,,.....,,....  ....   .  ++++++***+::,,,,.,*:......,.:#*#*+**+:++******################################*+::,           :  
###*++++::::,,,,,:+:**+++:+:::::,,,,,,........,...    ...... .+*::,:::,,..  .....  .,.... +###***:,,,:*++++**################################*+::,           : 
++++::::::,,,,:::+**+***+::+****++++:,....,,,,............   ,+:,,.,....  . ...,.:***:,.+,....**,...,,,,:***+*#*##############################*+::.          .+
::::::++,,,,,:++**::::+++,,:+++++++::,,...............  ..  ,**::,,,......  ..,,.:+*++++.    ,:......,,,+##*:*####*#############*#*****+++*###.*+::.          .
::++++,,,,::+**+,:::++::****::******:++:....    ....       .::,,:::,.,...,,,...,,:,,++,     .,...,..,..,*##:.,*##***########**####***#*****###,.*:+,.          
++*+.,,,::+**+***+,+++++******:,++::,,.,,++,,,.......      :::,,.,:,::+:,,..... ,,.,:        . ,...,..,:*++,.,++***##############################*:+,          
+,,,,::++**+**++:::,::::+++++++:,::::,...,,,,,:::::,..     :::..,,,,,.........,. ...  .. ......,.,..., :++++**:*:++###############################+:+,         
,,,,,:+**:+****+:+**:,::::,.,,::,,,,,,...:+:::::++:,.     ::::::,::,,,...... .....,,::::::::,,###+...,.:+*#*++:+*++*###############################+:+,        
,,:****+++::*++******+:,:+:,,:::::,,,,...:+++++:,:+**+::++,,,,...,::*+::::,,,::++:::::::::::,,####...,,.,**::+******##############################:+:+:.       
:****+++**+*,:*******+:.,,::,,,++:,,.,,:++::,:::::,::+++++,,::+++#*+*+:::::::**++,,,,,,,,,,,,,####:,.,,,++::++*#*++*#############################,..*::,       
#+:*+*++++++++,:******+:,,,,:,,,++:,.,,,:*++++::,+,,,:*+++:,,,:+*+#+#:::,,:,,:+:+:,,,,,,....,,*###*,..:,**#+****:++**#########################*+.....*::,      
*#*::*++++*****+,:+**:++,,,::,..,+:,...++::++:,,,:++*:,++++::,,+##++#::,,,,,..,::............:####*,,.::#**+,,+::++*##########################*+.....:+::,     
##***::**********+::+***:,..:+,,.,+:,..,++*:,,..,++*++*:,++,:,,*#**+*:,,,+,.....,,..........,*####..,.:+**++::::+*#################*#########+*.......*+:+.    
##*+:+:,++*******::,..+*+:,,,,:,........:+*+,,,,:++++++++,:::,,*#***#:,,.,,.....,,,,......,,,#*,....,,:##**+::::+##*############*..+##########........**:+.    
****####+,:**+++***++,..+*+:.............:::,,.,++++++::**+,:::+#*****....::++:::,,,,,.,,,,,,.. ,,..,:*##**::,:*#################.,########## ...... *#*:+:    
##**####**+::+*******+:,.,:,.............,::,,,,,,++:+*****+:::##**#*:.... .::++++,.  .... .,,.,::+++:+**++:+*###################,##########........+##*:+:    
:*#####**+::,:+********+:,.................:....:+::*********::+:**:...................,... .,,:++::::++:+*################################+.......+##**++:    
#+:*###*++++++::++++*+++::,.....................,:+::+++++++:+,,,,,,,,..........  ..  ., .....,,:,::,+**+**##**##############################*,. .*####*++,    
###*+++***++++++::+++++++++,........,,.........,::++++++++++++:+ ,.,.....  .:..   .........,::,,,,,:*###*################################*#####*********++.    
,.,,..,,.....,:+**########:,........,,,,.....,,+**++++++::::::*+:... ..    .,.,,........,,*#+::,,,:*##**##############*******###############***********+++     
,,,,,,:::+::::+**+*#***###*+:,......,,,,,,,,,,:*******########**++++**+***+:,,,.....,.,:#*:,::,,:+******#############################*###*************++*,     
#***####**######**:::,.,:,::+:,,....,,,,,,::::##############*####++++:::++:,::,...,::*:.,+*+::::::++################################*##########******+++*.     
####:+***#####**#***##*++*****+:,,,,::++****######################+*****,*:.+*+,**+:.,:+++:,:::*#*##########**##########**########*#############****+++*,      
####*****#####**:#######*:****#*++++****+++*########################**:,+:+:,:+:+**,::::::::###***++++********************************++++++++::::::::+:.      
::,,::,::::::::::,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,::::::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**################################################**########*########################################**++:,          +    .    
               ...,:,:+***##################**#*************:,,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,::+. +**###########***###########################################.*+::,          *       
     ..,,,,,,::#########+::++***+***********:,............,,,,::::,,,*######*********+**++++++++****#####################################*+::,          :.     
,,:::+*#*#########*+,::::*+**+****+****:..,,,................,,,..**********+++:::::,,::,,,,::::+*###*####################################*+:+,          ,.    
+***#########*+++:,,,::****+******,.,,,...,,,,..    ..    ....  **+*+++++:::,.:::,.,,,....,:**+:::*#####***################################*+:+,     .    ,,   
########*+++:::,,,,::+***+***:.,,,....,.....,,....  ....   .  ++++++***+:::,:,.,+:......,.+#*#*+**+:++******################################*+::,           :  
###*++++::::,,,,,:+:**+++:::::::,,,,..........,...    ...... .+*::,:::,, .  .....  .,.....+**#***:,,,:*++++**################################*+::,           : 
++++::::::,,,,:::+**+****::+****+++:,,....,,,,............   :+::,....... . .....:**+,,.:,,,..*+....,,,,:***+*#*#####################*########*+::.          .+
::::::++,,,,,:++**::::::+,,:+++++++:,,................  ..  ,*+:,,,,......   .,..:*++*++,.   ,,......,,,+##*:*####*###########*##******++**###.*+::.          .
::++++,,,,::+**+,:::++:+****::******::+:....    ....       .::,,:::,,....,,,....,::,:+,     .,...,..,..,*##:.,*###**#######***####***#**#**###,.*:+,.          
++*+.,,,::+**+***+:+++++++****:,++:,,,.,:++,,,.......      :::,,,,:,::+:,,,,,...:, ,+        ..,...,..,:+++,.,++****#############################*:+,          
+,,,,::++**+**++:::,::::::+++++:,:::,,..,,::,,,::::,..     :,:,,,,,,,........... ...      .....,.,..., :++++**:*:++###############################+:+,         
,,,,,:+**:+****+:+*+:,:::::::::::::::,...:+:::::++:,.     ::::::,::,:,........ ...,,::::::::,,###+...,.:+*#*++++*++*###############################+:+,        
,,:****+++::*++*******+:,*:::::::++:,,...:+++++:,:+**+::++,,,,..,,::*+::::,,,:+*+:::::::::::,,####.. ,..,**::+******##############################:+:+:.       
:****+++**+*,:********+:..:++:,.,+***+::++::,:::,:,::+++++,,::++::*+*+:::::::**++,,,,,,,,,,,,,####,..,,,++::++*##*+*#############################,..*::,       
**:*+*++++++++,:**+:,,++::,,+*+:,,+*+::::*+++++:,*,,::*+++:,,,::**#+*:::,,:,.:*++,,,,.,,....,,*###*,..:,***++***:++**#########################*+.....*::,      
*#*::*++++*****+,:++,,,++:,,,,::,,,,+***+::++++,:+++*:,++++::,,:***:#,:,,,,,..,::............:####*,..::#**+,,*+:++*##########################*+.....:+::,     
##***::*********++::+:,,++:,.,,:,,,.:****+:,,,,:++++++*:,++,:,,*##*:*,,,,+,.....,,..........,*####..,.:+**++::::+*#################*#########+*.......*+:+.    
##*+:+::++******+:::,::,,:+:,,,,:,,.,+**+:,.,.:++++++++++,:::,,*#*+*#:,,.,,.....,,,.......,,,#*,....,,:##**+::::+##*############+..+##########........**:+.    
****####+,:**+++*+++*,::..,+:,........:*+:,,,,,,*+++++::**+,:::+#*****,. .,::+:::,,,,,,,,::,,.. ,,..,:*##**::,:*################*.,########## ...... *#*:+:    
****####**+::+**:,..+*+::,............,:+::,,:*+::++:+*****+:::##**#*:.... .:+::++:.......  ,: .::+++:+**++:+*###################.##########........+##*:+:    
:***###**+::,:+****:..,+,,.......,,,...:+::,,:++++::*********::*:*#:...................,... ,,,:++::::++:+**###############################+.......+##**++:    
#*:*###*++++++::++++*:,.........,,......:,,,,.+++:+,:+++++++:+,,,,,,,,........    .,  ., .,..,,,:,:::+**+**##**##############################*,. .*####*++,    
####+++***++++++::++:++:,..........,,,,......,,:+:+++++++++++++,.,..,...,.  ,,.   .........,::,,:,,:*####################################*#####********+++.    
,.,,..,,.....,:+**#####+:,,.......,,,,......,,****++++++::::::++:.,....    .,.,,........,,+#+::,,,:*##**##############*******###############***********+++     
,,,,,,:::+::::+**+*#****+:,.......,,,,,,,,,,,+********########**++++**++**+:,,,,,...,,,:##:,::,,:+******#############################*###*************++*,     
#***####**######**:::,,.,+:,......,,,,,,,,,,:###############*####+++::::++:,::,,.,,,,*:.,:++::::::+*################################*##########******+++*.     
####:+***#####**#***##*+++*+,,..,,,,,,,:::++######################+***+*,*:.+*+:**+,.,:+++:,::++#*##########**##########*#########*#############****+++*,      
####*****#####**:#######*:**++::,,,::+++**##########################**:,::+,,:*::**,::::::::*##***++++********************************++++++++::::::::+:.      
::,,::,::::::::::,::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,::::::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               ...,:,:+***##################****************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,::+, +**###########***###########################################.*+::,          *       
      .,,,,,,::#########+::++**++***********:,............,,,,::::,,,*######************++++++++****####################################**+::,          +.     
,,:::+*#*#########*+,::::*+**+*********:..,,,................,,,..**********+++:::::,,,,,,,,::::+*###***##################################*+:+,          ,.    
+***#########*+++:,,,::****+*****+,,,.,....,,,..    ..    ....  **+*+++++::+:.:::,,.,,.....,**+:::*#####***################################*+:+,     .    ,,   
########*+++:::,,,,:++***+***+,,............,,....  ....   .  ++++++***+::,.,,.,+,,.......:#*#*+**+:++*******###############################*+::,           :  
###*++++::::,,,,,:+:**+*+:,:::::::,,..........,...    ...... .+*::::::,,...  ,,..   ..... +******+,,,,*++++*#################################*+::,           : 
++++::::::,,,,:::+**+****::+*****+::,,....,,,,............   ,+::,.,.....     . .,**+,,.,,,, ,*+,...,,,,:***+*#*####################****######*+::.          .+
::::::++,,,,,:++**:::::::,.:+++++++:,,................  ... ,*+::,,,......   .,..,+*+*++,  . ,,.....,,,,+##*:*#####*##########*##******++**###.*+::.          .
::++++,,,,::+**+,:::::::+***::*****+::::....    ....       .::,,:::,,,...,,,..,,,+:,+*:     .,,....,,..,*##,.,*###**#######***####***#***#####..*:+,.          
++*+.,,,::+**+***+:+++*++++***:,++,,,..,:++,,,.......      :::,,,,:,::++::,,..,.,:..:.         ..,,...,:+++,.,++***###########################*##*:+,          
+,,,,::++**+**+::::,::::::::+++:,,,,,,..,,::,,,::::,..     :,:,,,,,,,............,,...   ......,.,..., :++++**,*:++###############################+:+,         
,,,,,:+**:+****+:+*+:,::::::::::::::,,...++:::::++:,.     ::::,,,,:,::............,,,,::::::,,###+.....:+*##++:+**+*###############################+:+,        
,,:****+++::*++*******+::+::++++::+:,,...:+++++:,:+**+:::+,,,,..,,::*+::::,,,++**:,,::::::::,,####...,,.,**::+*****+##############################:+:+:.       
:**+*+++**+*,:**********+,+***********::++::,:::,:,::++++*,,,:++::*+*+:::::::**++,,,,,,,,,,,,,####+,.,,.++::++*#**+*#############################,..*::,       
**:*+*++++++++,:*******+:+:,********+::::*+++++:,*,,::*+++:,,,:+++*+*,::,,:,,:*+:,,,..,,....,,*###*,..,.***+***#:++*+#########################*+.....*::,      
***::*++++*****+,:+*++++****:,++**++****+::++++::+++*:,++++::,,:+*++#,:,:,,,..,::............,####*,..::#**+:,*::+***#########################*+.....:+::,     
*##**::**********+::++,..,++:,,,:+********+:::::++++++*:,++,:,,*++#:*,,,,:,...,.,,...........*####,...::**++::::+*#################*#########+*.......*+:+.    
*#*+:+:,++******+::::++::,+++++,,:*********+,,:++++++++++,,::,,*##***:,,.,,...,,,,........,,,##+....,,:#***::::::##*############,,.+##########........**:+.    
****####+,:**+++**:,.,,+++::++++:,,,+***::,,++,,*+++++::**+,:::+##****,. .,:++:::,,,,,.,:,,,.....:..,:*##**::::*################+.,########## ...... *#*:+:    
***#####**+::+******+:,,,++:,:+:,,,,,:+:,,..++++::++:+*****+:::#####*:.... .::::++:....... ..:..::+++:+**++::*###################.##########........+##*:+:    
:***###**+::,:+*****++:,,,:::::+::,,,:,+:,,,++++++::*********::+:*#:...................,... .,,:++::::+*:+#################################+......,+##**++:    
#*:*###*+++++:::+++++++,,,,.,.......,:+:::,,+*+++:+,:+++++++:+,,,,,,,,......   .   ,. .,..,...,:,,:::+*++**#***##############################*,. .*####*++,    
####+++***++++++:,,,,:+::,...,,,,,,,,,+::::,,:::+:++++++++++++:: ,.,..,.... ,,,    ........,:+,,:,,:*##*#################################*#####********+++.    
,.,...,,.....,:+***+:,.:,.....,,,,,,,,,+::,,,**#**++++++::::::++: ,.....   .,,,,.........,+#+::,,,:+##**##############*******###############***********+++     
,,,,,,:::+::::+**+***+:,.......,,,,,,.......,+********########***::+*+:+**++,,,,,.....,:##+,::,,:+******#############################*##**************++*,     
#***####**######**:::,*+,,,.....,,,,,,.....,,*##############*####++++:::++,.::,,.,,,,+:.,+++::::::++################################*##########******+++*.     
####:+***#####**#***#***:,.......,,,,,,,,,,,######################+***+*,*,.:*+:**+:..,:++:,,:+*#*####**####**##########*#########*#############****+++*,      
####*****#####**:######*+:,,.....,,,::::::::########################**,,::*,,:*,+**,::::::::*##***++++********************************++++++++::::::::+:.      
::,,::,::::::::::,::::::::,,::::,,::,,:::::::::::::::::::::::::::::::::::,,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,,,::::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               .,,,,,:+***##################****************:,,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#******+:,,,,,,,,,:::,,,.,,,:::. ***##########****##########################################* *+::,          *       
     ..,,,,,,::#########+::++**++***********:,............,,,,::::,,,*##**##*********+++++++++++****####################################**+::,          +.     
,,:::+*#*#########*+,::::*+**+*********:..,,,................,,,.,**********+++:::::,,,,,,,,,:::+**##**###################################*+:+,          ,.    
+***#########*+++:,,,::****+****++:,.......,,,..    ..    ....  *****++:+:::+,:::,.......,..+*+:::**####***################################*+:+,     .    ,,   
########*+++:::,,,,:++***+***+:,............,,....  ....   .  :+++++***+::: ,,..++,. .....:**#*:++++++*#****################################*+::,           :  
###*++++::::,,,,,:+:**+*+:,,,,::::,,..........,...    ....... ++::::::,,...  ,,      .....:*###*#+.,:,*+:++**################################*+::,           : 
++++::::::,,,,:::+**+***+::+*****++:,.....,,,,............   :+:,,,,.....   .  ..,+**:. ..,,,.+*,....,,,,***+*#*####################*+++*####**+::.          .+
::::::++,,,,,:++**:::::::..:++++++::,,................  ..  .**::,,,......  .....,*+++++,    .,.....,,,,:##*:+#*#################*****+++**###.*+::.          .
::++++,,,,::+**+,:::::::+++*::*****+::::....    ....        ::,,:::,,,...,,,...,,+:,+*:.    .,. ..,,,..,*##:,,*###*#########**####****##*#####..*:+,.          
++*+.,,,::+**+***::+++*++++++*:,+:,,,,.,+++,,,.......      ,::,,,,:,::++::::,,,,,:..+.         .......,,+++,,.*+***##########################**##*:+,          
+,,,,::++**+**+::::,::++:::::++:,,,,,,..,,::,,,::::,..     :,:..,,,,,,............,,..    ......,..... :++++**,*+:+###############################+:+,         
,,,,::+**:+****+:+*+:,:++:::::::::,,,,...:+:::::++:,.   . ++::::,,:,::............,,,,::::::,,*##+...,.:+*##+++++*:################################+:+,        
,,:****+++::*++*******+::+::++++::+:,,...:+++++:,,+**+:::+,,,,..,,::**::::,,,:+**+,,::::::::,,####...,,.,**+:+*******#############################:*:+:.       
:**+*+++**+*,:**********+,+***********::++::,:::,:,::+++*+,,,:++::#+#+::::::,**++,,,,,,,,,,,,,####*..,,.:+::++*#**:*#############################,..*::,       
**:*+*++++++++,:*******+:++,*+******+::::*+++++:,*,,::*+++:,,,:+**#+#,::,,:,,,+::,,,..,,.....,*####,..:.***++*##:++*+#########################*+.....*::,      
***::*++++*****+,:+**:+*****:,+***++****+::++++::+++*:,++++,:,,:+*++#,:,:,,,..,::,...........,*####...:,***+:,*::++**#########################*+.....:+::,     
*****::**********+::+*********:::+********+:::::++++++*:,++,:,,++,*+*,,,,:,.....,,..........,+####,...:+**++:::::*###########################+*.......*+:+.    
****:+:,++******+::::+********+,,+*********+,,:++++++++++,::,:,*#**#*::,,,,...,,,,,..,....,,,##*....,,,****:,:::+##*############,..*##########........**:+.    
+***####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,,::+###***,. .,:++:::,,,,,,,,+,,.... :,.,:*##**:,,:*################,.,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++:+*****+:::*####*:.... .+:++:++.  ...... :..::++*:+**++,,*###################.##########........+##*:+:    
:***###**+::,:+*********:,***********:,+****++++++::*********::::*#:...................,.....,,:::::::+*++*################################+......,+##**++:    
#+:*###*++++++::++++++:+++:,:,,,,:*++++::+****+++:+,:+++++++:+,,,,,,,,......  ..   ,,   . ....,:,::,:+*++**#***##############################*,. .*####*++,    
**#*+*+***++++++::++++++:,,,++*++:,::+,::,,:::::::++++++++++++,: .....,.,.  ,,,    . ......,,+,,,,,:*##*#################################*#####********+++.    
,.,,..,,.....,:+**####**++::++**++::***::,,+******++++++::::::++:.  ....    ,,,,.........,+#+::,,,:+##**##############*******###############***********+++     
,,,,,,:::+::::+**+*#*+:,:+**+++:::::+:+*+::+**********########**+::+**:+**++,,,,,.....,:*#+,::,,:+******#############################*##**************++*,     
#***####**######**:::,,++::::::+++::+++**+++################*####*++::::++,.::,,.,,,,++,,+++:,,::+++*###############################*##########******+++*.     
####:+***#####**#***::::::,,,:::++::::+*++:,+#####################**+**+,+,.+*::+*+,.,:+++:,,::+**##########**##########**########*#############****+++*,      
####*****#####**:##:,.,,,,,,,,,:::::,,,:::,::#######################**:,,++,,:*:,**,::::::::*##***++++********************************++++++++::::::::+:.      
::,,:::::::::::::,,:,,::::::,,,,::::,,,,,,:::::::::::::::::::::::::::::::,,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               .,,,:,:+***##################****************:,,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#******+:,,,,,,,,,:::,,,.,,,:+:,.***######********##########################################,.*+::,          *       
      .,::,,:::#########+::++**++***********:,............,,,,::::,,,**#**##********++++++++++++*****###################################+#+::,          +.     
,,:::+*#*#########*+,::::*+**+********+,..,,,................,,,..***********++:::::::,,,,,,,:::++**#***##################################*+:+,          ,.    
+***#########*+++:,,,::****+*****+,,.......,,...    ..    ....  **+**+++::::::,::,,..,,.,..,:**:::+#####***################################*+:+,     .    ,,   
########*+++:::,,,,:++***+***:,,............,,....  ....   .  .*++:+***++::.:,..:+:.......,**#*::+++++*#****################################*+::,           :  
###*++++::::,,,,,:+:**+++:,,,,:::,,,..........,...    ....... ++*::,:,,,. .  ,,.     .....,***###*,.,,+*++++*################################*+::,           : 
++++::::::,,,,:::+**:+**::++******::,,....,,,,............   :,:,,:,.....      . .++*:   .,++,+*:...,,,,,++++*##*###################*++**####+*+::.          .+
::::::++,,,,,:++**::,,,,:..:+++++::,,,................  ... ,**+:,,,,.....   ..,.,*+++++:.   ., ....,,,,:***++#**################*****++*+####.*+::.          .
::++++,,,,::+**+,:::::::++*+::*****+::+:....    ....        ::,,:::,,,...........:::++:.    ......... .,+*#:..+###*###############**##########..*:+,.          
++*+.,,,::+**+***::+++++++++:+::::,,,..,+++,,,.......      .::,,.,::+:++::::,,:,.. .+.       . ..,.,,.,,:+*,..+++**###########################*##*:+,          
+,,,,::++**+**+::::,:::++:::::+:,,..,,..,,::,,,::::,..     +:,..,,,,,.............,,      ....,.,,..., ,+++***+**+:###############################+:+,         
,,,,::+**:+****+:+*+:,::++:::::::,,,,,...:+:::::++:,.     ::::,,,,:,:,....... ......,,,:::::,,+##+,..,.:+###++++**+**##############################+:+,        
,,:****+++::*++*******+::+::++::::,,,,...:+++++:,:+**+:::+,,,,,,,,+:**::::,,,+***+,,:::::::::,####.. .,.,+*+:++***#**#############################:+:+:.       
:**+*+++**+*,:**********+,+**********+,:++::,:::,::::++++*,,,,+:::#+#+::::::,**++:,,,,,,,,,,,,####*..,,.:++:++*#**+*#############################,..*::,       
**:*+*++++++++,:*******+:++,*+******+::::*+++++:,*,,::*++++,,,,+**#+*,::,,,,,,:,,,,,..,,.....,*####,..:.+**+++*#:++**#########################*+.....*::,      
+**::*++++*****+,:+**:+*****:,+***++****+::++++::+++*:,+++*,:,,++*++#,:,:,,,..,::............,*####...:,*#*++,*+:++*+#########################*+.....:+::,     
*****::**********+::+*********:::+********+:::::++++++*:,++,:,,++,++*,,,,:,.....,,,.........,*####,,..,+**++::+::*###########################+*.......*+:+.    
***+:+:,++******+::::+********+,,:*********+,,:++++++++++,::,:,******::,.,,...,,,,,,......,,:##*.....,:***+:::::+##*############* .*##########...... .**:+.    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,:::*##****,...,:+:::,,,,,,,,****.... ,,.,:*##**:,:++################..,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++:+*****+,:,######,......+++++++,.   .. . ,,.,:+++:****+,:*##################*.##########........+##*:+:    
:**####**+::,:+*********:,+**********:,+****++++++::*********:,:.**,...................,,....,::++++::**:+**###############################+.......+##**++:    
#+:*###*++++++::++++++:+++:,+******++++::+****+++:+,:+++++++:+,,,,,,,,......  ...  ., .... ...,:,:::,:+:+*****###############################*,. .*####*++,    
**##+*+***++++++::++++++++++::::::++++++::::::::++++++++++++++:: ...,,,...  ,,,   .. .......,+,::,,:*##*#################################*#####********+++.    
,.,,..,,.....,:+**######################**********++++++::::::*+:. .  ,     ,,,,.........,+#:::,,,:+##**##############**#****###############***********+++     
,,,,,,:::+::::+**+*#***##########******++*************########**+::**+++**+:,,,.......,:##+:+:,,:+**+**##############################*###*************++*,     
#***####**######**:::,.,:,:+**##############################*####++:::::+:,,::,.,,,,,*+,,+++:,,+++++*###############################*##########******+++*.     
####:+***#####**#***##*++***##*#***#####**########################+++**,::.:+*::++:,,,:+++:,,:++**######################**########*#############****+++*,      
####*****#####**:#######*:*****:,,,,:**:,,:########################***::,*+,,:+,:*+:::::::::*##***++++********************************++++++++::::::::+:.      
::,,:::::::::::::,::::::,::::,::,,:::::::::::::::::::::::::::::::::::::::,,,,,:::,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::::::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               .,,,:,:+***##################****************::,,,,,,,::::,... *+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,:+++****########******##########################################+.*+::,          *       
     ..,::,,:::*########+::++**++***********:,............,,,,::::,,.*######********++++++++++++********###############################* *+::,          +.     
,,:::+*#*#########*+,:::+*+**+*********:..,,,................,,,,.***********++::::::,,,,,,,,,::::******#################################:#+:+,          ,.    
+***#########*+++:,,,::*+**+*****+,,.......,,,..    ....  ....  +***+*+::::::,,:,,.,........,:+:,,+*#####***##############################:*+:+,     .    ,,   
########*+++:::,,,,:++***+***:....,,........,,....  ....   ..  :+++++++++::.:,,..+:,..  ..,+*##:,,:+***#****###############################+*+::,           :  
###*++++::::,,,,,:+:**+*+:::,,::,,,,..........,...    ...... .:::::::,,,.  . ,,.      .  ..*####*#+,,,:*+:++*###############################.*+::,           : 
++++::::::,,,,:::++*::::,:::++***+::,,..,,,,,,............  .::,,,,......         :**+     :++**:...,,,,::+++*##*##################*+++*#####.*+::.          .+
::::::++,,,,,:++**::,,,,:..,:::::,,,,,................  ..  .:*+++:,,.....   .....+**+++:,    ......,,,,:*##++##*#############*#****+++++*###..*+::.          .
::++++,,,,::+**+::::::::++*+::******::::....    ....        :,:,:::,...,.......,,++++*+,     ..  .,,,.,,:*++,.+*##**#####***####***##########,..*:+,.          
++*+.,,,::+**+***:,+++++++:::::,::,,....,++,,,.......       ,::,.,::+++::::::+:,.. .+.       .  : ....,.:*+:..+*++*##########################,*##*:+,          
+,,,,::++**+**++:::,::+++++::::,,,,,,,...,::,,,::::,..    .:,,,,,,,,,...............   .   .  ......,, ,++*******:+**#############################+:+,         
,,,,:++**:+****+:+*+:,:::::::::::,,,,,,..:+:::::++:,.   ..,,,,,,,,:,,,...... ...,.....,,,,::,,,##:..,, :+###*++***+**#############################*+:+,        
,,:****+++::*++*******+::*++++:::,,,,,,,.,+++++:,:+**+::+:,,,,,,::*+#*::::,,,+****,,::::,,::,,*###...,.,:**+::+******#############################:*:+:.       
:**+*+++**+*,:**********+,+**********+::++::,:::::,::++++*:,,,+:::*+#+::::::::*++:,,,,,,,,,,,,####...,..:*+::+*#**+**############################,..*::,       
**:*+*++++++++,:*******+:++,*+******+::::*+++++:,*,,::*++++,,,,+*+*+*,,,,,,,,,:,:,,,...,....,,*###+.,.,.+,:++**#+:+*##########################*+.....*::,      
***::*++++*****+,:+**:+*****:,+***++****+::++++::+++*:,+++*,,,,+**++#,:,:,,,,,::,,,,........,+####+.,.,,*#*+*+#*:++**#########################*+.....:+::,     
*****::**********+::+*********:::+********+:::::++++++*:,++,:,,:::*+*,,,:+,....,,,,,,,......,*####....+*#*++::+:++*#*########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*********+,,:++++++++++,::,:.:#++*#,:,,,,..,..,,,,....,,+++###,...,.,+**+,::::+################*.+##########...... .**:+.    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,:::*##:***.. ,::++::,,,.,,,,#***,,....,.,:#####::,++##*############*..,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++*+::++:+******,:,#####+......,++:+++*:,.,::... .: ,,:+++##*++::+##################..##########,.......+##*:+:    
:**####**+::,:+*********,,+**********:,+******++++::********+::,.*,................... ,..,.,,:++:::::**+:**###############################+.......+##**++:    
*+,*###*++++++::++++++:+++:,+******++++::+****+++:+::+++++++::,,,,,,,,......... .. ,,,.......,,:::::::::+*#**################################*,. .*####*++,    
****++++**++++++::++++++++++::::::++++++::::::::++++++++++++++,:..........  ,,.    ........,,:,,,::+*#**#################################*#####********+++.    
,.,,..,,.....,:+**######################**********++++:::::::,*:,  ..      ...,........,,,+*::,,:,+*##*#############*********###############***********+++     
,,,,,,:::+::::+**+*#***##########******+++************########**::+*+++***+:,.,,....,..*#*:++:,,:+****###############################*##**************++*,     
#***####**######**:::,.,:,:+**##############################*###++++:::::,.,,,,,,,,,+*:,,+*:,,,+++++**##############################*##########******+++*.     
####:+***#####**#***##*++*##*#####################################*+**+,+,,+*,:+++:,.,:++:::,::+**######################**########*#############****+++*,      
####*****#####**:#######*:***######################################**:+:++,,+:.:+:+:++:::::+*##**#++**********************************++++++++:::::::::,.      
::,,::,::::::::::,::::::,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,::,,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               .,,,:,:+***##################****************::,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,:::,,,.,,,:++*****########******########################################*#:,*+::,          *       
      .,::,,:::*########+::++**++***********:,............,,,,::::,,,*######*********+++++++++++********###############################..*+::,          +.     
,,:::+*#*#########*+,:::+*+**+*********:..,,,................,,,,,**********+++:::::::,,,,,,,,::::******################################# #+:+,          ,.    
+***#########*+++:,,,::*+**+******:,.......,,,..    ..    ....  +**++*+:::::::,,,,..... ..,..,+:,::*###*#**###############################.*+:+,     .    ,,   
########*+++:::,,,:::+***+***:....,,,.......,,....  ....   ..  ::++:+++++::.,:,.,++:..... ,+*##:,,,+**##****###############################.*+::,           :  
###*++++::::,,,,,:+:**+*+:::,,::,,,,..........,...    ........,+++:,:,,,     ,,. ...     ..*##***#+,,,:*+:++**##############################.*+::,           : 
++++::::::,,,,:::++*::::,:::++++++::,,..,,,,,,............   :+,:,,......     .  .+**+     :++*#+,.,,,::,,::+*#**##*##############**+++*####,.*+::.          .+
::::::++,,,,,:++**::,,,,:..,:::::,,,,,................  ..  .:*:+::,,.....   ....,*+++++:,   .,, .....,,:*#*++##**#*+#####**#*******++++*###*..*+::.          .
::++++,,,,::+**+::::::::++++::******:::,....    ....        :,,,:::,,,,..... ..,:**+**+,     ,.  ..,,.,,,*++.,*+****###########***###########...*:+,.          
++*+.,,,::+**+***+:+++**+++::::,::,,,.,,,++,,,.......       :::,,,:::::+::::::,.   .+,       .  .,.,,..,+*+:.,+#*++##########################,*##*:+,          
+,,,,::++**+**+++::,::++++++:::,,,,,,,...,::,,,::::,..    .:,,....,,,............ ,,   ... . ........, ,*+*+***:*++*##############################+:+,         
,,,,:++**:+****+:+*+:,::::::::::,,,,,,,..:+::::,++:,.   ..,,,,,,,,:,,,..........,.......,,,,,,:#*,...: :*###*++****+*#############################*+:+,        
,,:****+++::*++*******+::*++++::,,,,,,,,.,+++++:,:+**+::+::,,,,,::*+#*::::::,+****,,::::,,,,,,*##*..,, ,+***::+****#*#############################:*:+:.       
:**+*+++**+*,:**********+,+*******+**+::++::,:::::,::++++*:,,,::::*+*+::::::::+:::,,,,,,,,,,,:####...,..:*+::+*******############################,..*::,       
**:*+*++++++++,:*******+:++,*+******+::::*+++++:,*,,::*++++.,,,+*:*+#,,,,,,,:::,:,,,,,,,....,,*###,..,.,+:,+++*#*:+*##########################*+.....*::,      
***::*++++*****+,:+**:+*****:,+***++****+::++++::+++*:,+++*,,,,+**++#,,,:,,,,,+,,,,,.,,.....,+####,..,,:##*+:*#*:++*##########################*+.....:+::,     
*****::**********+::+*********:::+********+:::::++++++*:,++,,:,:,:*+*,,,::,...,,,,,,,,....,,:*####...,+***++::+::+*#*########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*********+,,:++++++++++,::,:.:#:+*#:,,,,,..,..,,,,....,,:**###:...,,::*+*:,:::*#################,+##########...... .**:+.    
++**####+,:**+++*****::+***+:+***+,:*****+++*+,,*+++++::**+,::,###:*#+. .:+:*:::,,,.,,,+*#**:....,,..+####*:::::##*############+ .,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++:+******,::#####:......+++::++++::+*,... .: .,::+*##*++::+##################..##########, ......+##*:+:    
:**####**+::,:+*********:,***********:,+****++++++::********::,,,+..........................,,:++++:,:*+::*################################+.......+##**++:    
*+,*###*++++++::++++++:+++:,+******++++::+****+++:+::+++++++::,,,,,,,,......... .. ,,,......,,::::,:++::+*##*################################*,. .*####*++,    
****++++**++++++::++++++++++::::::++++++::::::::++++++++++++*+,: .........  ,.    ..........,,:,,,,+*#**#################################*#####********+++.    
,.,,..,,.....,:+**######################**********++++::::::::+:. ....      ,,.........,,:*+,,,,,,+##################*##*****###############***********+++     
,,,,,,:::+::::+**+*#***##########******+++************#########++:+*+++***:,,.,,....,.,*#*:++:,,:*****###############################*##**************++*,     
#***####**######**:::,.,:,:+**##############################*###++++::::,,,,,,,,,,,,**:,,:+::::***++**##############################*##########******+++*.     
####:+***#####**#***##*++*##*####################################*+**+::+.+++,+:+:,,,,:+::::,::+#*######################**########*#############****+++*,      
####*****#####**:#######*:***######################################*+:+:*:,:++,:*,:+++:::::+*##***++**********************************++++++++:::::::::,.      
::,,::,::::::::::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,:::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,,::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               ...,:,:+***##################****************::,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,::+***+*########******#########################################*..*+::,          *       
      .,::,,:::#########+::++***+***********:,............,,,,::::,,,*######*********+++++++++++********####*#########################*..*+::,          :.     
,,:::+*#*#########*+,:::+*+**+*********:..:,,................,,,,.***********++:::::::,,,,,,,,::::+******###############################,.#+:+,          ,.    
+***#########*+++:,,,::*+**+******:,.......,,,..    ....  ....  :**+*++::::::,.:,,,.......,..:+:,::*###*#**##############################+.*+:+,     .    ,,   
########*+++:::,,,,:++***+***:....,,........,,....  ....   ..  :+++:+++++::.,:,.,++:..... ,+*#*:,,,+**##****##############################+.*+::,           :  
###*++++::::,,,,,:+:**+*+:,,,,,,,,,,..........,...    ........,+:+,:,,... .  ,,.....   . .,*##***#+,,,,*+:++**#############################..*+::,           : 
*+++::::::,,,,:::++*+:::::::++++++:::,..,,,,,,............   ,,+::,......     .  ,+**+.    :+**#+...,,,:,,::++##*#################**++*#####  #+::.           +
::::::++,,,,,:++**::,,,,:..,::::,,,,,,................  ..   :*::::,,,....   ....:+***+++,   .:, .....,,:*#*++##**#########*********++++*###...*+::.          .
::++++,,,,::++*+:::::::::+++::+*****:::,....    ....        :,,,:::,,,,..,,,...,,*****+.     ..  . ...,.:*++,.++**############****##########,...*:+,.          
++*+.,,,::+**+***+,:++***+++::,,::,,,,,,,++,,,.......       ::,,,,,:++::::++::,.   ,*.       .  .,.,,..,+*+:.,+#*+**########################:,*#**:+,          
+,,,,,:++**+**++++:,::+++++++::,,,,,.....,,,,,,,:::,..     :,,,,,,,,,...........,.,,   . .  .........,.:***+++*+**:*##############################+:+,         
,,,,,:+**:+****+:+**:,:::+++:::,,,,,,,,,.,+::::,++:,.   ..,,,,,,,,,,,,..........,.........,,,,+#+...,, :*###*++****+###############################+:+,        
,,:****+++::*++*******+::+::++::,,,,,,,,.,+++++:,:+**+::+::,,,,,::*+#*::::,,,+****,,::::,,,,,,*##+..,,.:+**+:+++***#*#############################:*:+:.       
:**++*++**+*,:**********+,+**********+::++::,:::::,::+++++:,,,::::*+#+::::::::+:::,,,,,,,,,,,:####...:..:*+,:+*******############################,..*::,       
#*:*+*++++++++,:*******+:++,*+******+::::***+++:,*:,,+*++++,,,,:*:*+*,,,,,,,,+:,:,,,,,.,....,:####,..,.,:,,:++*#*:+**#########################*+.....*::,      
***::*++++*****+,:+**:+*****::+***++****+::++++::++++:,++++,,,,+***+#,,::,,,.,+:,,,,,,,.....,+####...,,+##*+:*#+:++**#########################*+.....:+::,     
*****::**********+::+*********:::+*********:::::++++++*:,++,,:,::+*:#,,,::,..,.,,,,,,,..,,,,:*####...:+***++,:+:::*##########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*********+,,:++++++++++,,,,:.:#:**#,,,,,,.,,,,,,,,...,,::**###,...,,::*++:::::*#################**##########...... .**:+.    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,::,###+*#...,:+:+:::,,,.,,,+*#*#,..  .,.,*####+::+::##*############, .,########## ...... *#*:+:    
****####**+::+*********::+++*******+::+++***++++::++:+******:,:####*.......+++::*++:::+*, .. ., ,,::+###*+,::+##################..##########, ......+##*:+:    
:**####**+::,:+*********:,***********:,+****++++++::********:,,,,:......................,.,.,,:+++::,+*+:::################################+.......+##**++:    
#+:*###*+++++:::++++++:++*:,+******++++::+****+++:+::+++++++:,,,,,..,,...........  ,,,... ..,:::::,:*+::+*##*################################*,. .*####*++,    
****++****++++++::++++++++++::::::++++++::::::::++++++++++++++,: .,,,..... .,.    ..,,.. ,: ,,:,,,:*#***####*############################*#####********+++.    
,.,,..,,.....,:+**####################************++++::::::::+:   . .     ..,.........,.:#+,,,,,:**##*#############**##*****###############***********+++     
,,,,,,:::+::::+**+*#***##########*******++************########*+::*******+:,..,,.....,:##*:+:,,,+*#***###############################*##**************++*,     
#***####**######**:::,.,:,:+**##############################*##*++++::::::,,,,,,,,,:#+,:+++,,,:+++++*###############################*##########******+++*.     
####+****#####**#***##*++*##*####################################+****,*.,**:::++::,,:++::::,::+#*######################**########*#############****+++*,      
####*****#####**:#######*:***######################################*+::+*,,:+,::+::+++:,::++###*#*++**********************************++++++++:::::::::,.      
::,,::,::::::::::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::::::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               .,,,:,:+***##################**#*************:,,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,::+*#*+*########******########################################*+..*+::,          *       
      .,::,,:::#########+::++***+***********:,............,,,,::::,,,*###*##*********+++++++++++********####*#########################,..*+::,          :.     
,,:::+*#*#########*+,:::+*+**+*********:.,:,,................,,,,.***********++:::::::,,,,,,,,::::+******###############################..#+:+,          ,.    
+***#########*+++:,,,::*+**+******:,.......,,,..    ....  ....  :**++++::::::,,:,,,.......,..:+,,,:*###*#**############################## .*+:+,          ,,   
########*+++:::,,,,:++***+***:....,,........,,....  ....   .. .::++:+++++::,:,,.,++:..... ,+*#*,,,,***##****##############################..*+::,           :  
###*++++::::,,,,,:+:**+*+:,,,,,,,,,,..........,...    ........,+++:,,,...   .:,.....   . .,*######+.,::*+:++**#############################..*+::,           : 
*+++::::::,,,,:::++*+:::,:::::++++:::,..,,,,,,............   ,,:::,......     .  ,+**:    .++***+....,::,:+++*##*#################**+**####:  #+::.           +
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,,,,...............  ..  .:*:::::,,....   ....:****++:.   .:, .....,,:*#*:+##**#######*#*********++**###*...*+::.          .
::++++,,,,::++*+::::::::::+::,++****:::,....    ....        :,,,:::,,,,..... ..,:*****+.     .   . ,...,*++:,.:****######*###******#########....*:+,.          
++*+.,,,::+**+++*::::+****+++:,,::,,,..,,++,,,.......       :,,,,,::++::::++::.    :+.       .  .,.,,..,**+,.,*#*+**########################..*#**+:,          
*,,,,,:++**+**++++:,::+++++++:,,,,,,..,..,,,,,,,:::,..     :,,,,,,,,,............,,.     .    ......,.,:***:,+****++##############################+:+,         
,,,,,:+**:+****+:+**:,:::++++::,,,...,,,.,+::::,++:,.   ..,,,,,,,,,,,,...........,........,,,,:*,,..,,.+**##*++****+###############################+:+,        
,,:****+++::*++*******+::+::++::,,,,,,,,.,++++*:,,+**+::+:,,,,:::+*+#*::::,,:+***+,,::::,,,,,,###:..,,.+**#+:+++***#*#############################+*:+:.       
:**++*++**+*,:**********+,+**********+::++::,:::,::::+++++:,,,::::*+*+::::::+::,,,,,,,,,,,,,,,###*..,,.,+*:,:+*******############################,..*::,.      
#*:*+*++++++++,:*******+:++,*+******+::::***+++:,*:,,+*++++,,,,++:**#,,,,,,,,+:::,,,,,.,..,,.+####...,.::,,+++*#*:+**#########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++****+::++++::+**+:,+++*,,,,:****#,,::,,,,,+:,,,,,,,....,,+####...:,**#*++*#+:++**#########################*+.....:+:::     
*****::**********+::+*********:::+*********:::::++++++*:,++,,:,,,**+*.,:::..,,.,,,,,,,..,,,:+####*...:+***+:,:+::+*##########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*********+,,:++++++++++,:,,:.++:*+#,,,..,.,,,,,,,,...,,:+**##*....:,++*+:::+::###################*##########...... .**:+.    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,::,##**+*.. :,::+:,:,,,,,::**#*#.....,,.,*##*#:::+++*##############...,########## ...... *#*:+:    
****####**+:++*********::+++*******+::+++***++++::++:+******:,*###**..... :+++:++*+:+:**.... ,, ,,,,+*##+*,,,*#################*..##########, ......+##*:+:    
:**####**+::,:+*********,,***********:,+****++++++::********:,,,,,.......................,. ,,:+++:::**+:+,################################+.......+##**++:    
*+:*###*++++++::++++++:++*:,+******++++::+****+++:+::+++++++:,,,,,............... .,:,....,.,:::::::+++:**###################################*,. .*####*:+,    
****+++***++++++::++++++++++::::::++++++::::::::++++++++++++++,, .....,..  ,,.    ..,,...,, ,::,:,:*#**#####*############################*#####********+++.    
,.,,..,,.....,:+**####################************++++:::::::::+   . .    ...,.........,.:#:,,,,,:*##**#################*****###############***********+++     
,,,,,,:::+::::+**+*#***##########*******++************######*#*+++*******+:,,.,,,,...,*#*::+:,,:*****################################*##**************++*,     
#***####**######**:::,.,:,:+**##############################*##*+++:,++:,,,,,,,,,,,+*+.:++:,,,:++++**###############################*##########******+++*.     
####+****#####**#******++*##*####################################+**+:++.:**.:++:,,,,:++:::::::*#*######################**########*#############****+++*,      
####*****#####**:#######*:***#####################################**++:+:,,++,,+.+++++:::::*###*#*++**********************************++++++++:::::::::,.      
::,,::,::::::::::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               .,,,:,:+***##################**#*************::,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,:++*#*+*########******#######################################**...*+::,          *       
      .,::,,:::#########+::++***+***********:,............,,,,::::,,,*###*##*********+++++++++++********##############################...*+::,          :.     
,,:::+*#*#########*+,:::+*+**+*********:.,:,,................,,,,.**********+++:::::::,,,,,,,,::::******###############################.. #+:+,          ,.    
+***#########*+++:,,,::*+**+******:,.......,,,..    ....  ..... +*****+::::::,,::,......,..,,:+:::+*###*#**#############################,..*+:+,          ,,   
########*+++:::,,,,:++***+***:....,,........,,....  ....   ..  +++++++++:::.,,..:+:,......:**#*..,:***##****#############################:..*+::,           :  
###*++++::::,,,,,:+:**+++:,,,,,,,,,,..........,...    ...... .:::+,,,.....  .,. ... .   . +######*,,,,+*+:++*#############################...*+::,           , 
*+++::::::,,,,:::++*::::::,:::::::::,,..,,,,,,............  .+:,::,,..  .   ..   :+**,    :+++**:...,,::,,::+*#**##################**######.  #+::.           +
::::::++,,,,,:++*+::,,,,,..,,,,,,,,.,,,...............  ..  .:*++::,,,....   ....+***+**,    ,,. .....,,+*#*+*#**#########********+++*+####....*+::.          .
::++++,,,,::++**:::::::::+++:,++++**:::.....    ....        :,,,:::,,,,,.,,. ..,+*+**+:.    .... ..,..,,**+,,.:*#***########********#######,....*:+,.          
++*+.,,,::+**+:++::::+***++++:,,,::,,,.,:++,,,.......       :,,,,:::::,,,,:,::,.   :,.      ...., ... .:**+,,,*#*++########################,..****+:,          
*,,,,,:++**+**++++:,:+::++++++:,....,,,..,,,,,,,:::,..     +:,,,,,,,,,...... .,,.,.  .      ..,,....,..+***:++++*+:+##############################+:+,         
,,,,,:+**:+****+:+*+:,:::+::+::,.....,,,.:+::::,++:,.    .,,,,,,,,,,,.................,,,,,,,,##,,..,.,**###++++***+*##############################+:+,        
,,:****+++::*++*******+::+::++::,,,,,,,,.,++++*:,,+**+:::+,,,::::+**#+::::,,:+***:,,::,,,,,,:,##*...,.,:+**+:++******#############################+*:+:.       
:**++*++**+*,:**********+,+**********+::++::,:::,::::+++++,,,,:::++**:::::::++:::,,,,,,,,,,,,,###:..,,.,*+,:++****+**############################,..*::,.      
#*:*+*++++++++,:*******:+++,*+******+::::***+++:,*:,:+*++++,,,,:+:**#,,,,,,,.::::,,..,,,....,+###*..,,.:,::::*#*::+*##########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++****+::++++::+***:,++++,,,,:++**#,,::,,,.,::,,,,,,,.....,*###*..,,,*##++*##::++**#########################*+.....:+:::     
*****::**********+::+*********:::+*********:::::++++++*:,++,,,,,:*#+*,,::,..,,.,,,,,,...,,::+####,..,:*##++:::::++###########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*********+,,:++++++++++,:,::.+++#**,,,....,,,,,,,,...,::***##:...,,::**+,::+::##############################...... .**:+.    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,::,##+*++,, :,:++:::,,,,,:+*###*.....:..+*####:,:::+#*#############,..,########## ...... *#*:+:    
#**#####**+::+*********::+++*******+::+++***++++::++:+****++:,*####:..... ++++:+++::.,+: ....,..,:::+*##+*,:,*#################*..##########:.......+##*:+:    
:**####**+::,:+*********:,***********:,+****++++++::********:,,.,.....................,,., ,,::+++:::+*++*+################################+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+::+++++++:,,,,,.............. .:,.  . ...,,:::,::+::+**#*#################################*,. .*####*:+,    
****++++**++++++::++++++++++::::::++++++::::::::++++++++++++++:, ......   ,,.   .  .......,:,,,,,,+*#**##################################*#####********+++.    
,.,,..,,.....,:+**####################************++++:::::::+::         .,,,.........,,,**,,,,,,+*###*#################*****###############***********+++     
,,,,,,:::+::::+**+*#***##########*******++************######*#*+:+******++,..,,,.....:*#*:++,,,:*****################################*##**************++*,     
#***####**######**:::,.,:,:+**##############################*###+++::+*:,,::,,,,,,:**,,+++,,:::++::*################################*##########******+++*.     
####+****#####**#******++*##*####################################+***:*+.+**,+++:,,,::+:::::::+*#*######################**########*#############****+++*,      
####*****#####**:#######*:***#####################################**+:,+,,:*+,:*.+++::::::*####+##************************************++++++++:::::::::,.      
::,,::,::::::::::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*########################################**++:,          +    .    
               .,,,:,:+***##################**#*************::,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,,,::::,,.,,,::+****###########****######################################*+....*+::,          *       
      .,::,,:::#########+::++***+***********:,............,,,,::::,,+####*##*********+++++++++++********####*#######################:... *+::,          :.     
,,:::+*#*#########*+,:::+*+**+*********:.,:,,................,,,,.**********++:::::::,,,,,,,,,:::+******##############################... #+:+,          ,.    
+***#########*+++:,,,::*+**+******,,.......,,,..    ....  ....  ******+:::::+,:,,,,,.......,++:,::*#**##***############################....*+:+,          ,,   
########*+++:::,,,,:++***+***:.,...,........,,....  ....   .. ,:+++++++::,.:,..,*:,..... ,*##*:.,,+*********############################:...*+::,           :  
###*++++::::,,,,,:+:**+++:,,,,,,,,,,.........,,...    ......  *:*,,,,...    ,.....   .   ,#*####*+,,,:*++++**############################....*+::,           , 
*+++::::::,,,,:::+**:::::::::::::::,,,..,,,,,,............  .++,,,.,...     ....,++*:    .::**#+.....::,::++**#*##########################..  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,,,................  ... ,*++++:,,,....  .,. :**+*++:.   ,:. ....,,.,*##++*#*##*###************++**####.....*+::.          .
::+++*,,,,::++*+::+:::::::::,,::::+++:,.....    ....      ..:,,::::,,,,..... .,:*+++*:.    ..   ...,...+*+:,,::*##*********#******++######,.....*:+,.          
++*+.,,,::+**+:++:,++++****+++,,,,:,,..,+++,,,..,....      ,,,,,::++,,,,,,:,,:,.. ,+       .. .,...,..,+*+:,.:***+**####*#################:...*##*+:,          
*,,,,,:++**+**++*+:,::::::::++::......,..,,,,,,,,::,..    ,,:,,,,,,,,.........,.,,.       .. ......., ,**+*+++:**:+**#############################+:+,         
,,,,,:+**:+****+:+**:,::++++::::,.....,,.::::::,++:,..  ..,,,,,,,,.,................,,,,,,,,,,#*...., :*###*+++****#*#############################*+:+,        
,,:****+++::*++*******+::+::++::,,,,,,,,.,++++*:,:+**+:::+,,,::::*+*#:::::,,++***,,,::,,,,,,,:##*...,.,:***:+++******#############################+*:+:.       
:**++*++**+*,:**********+,+*********+*::++::,::::::::++++*,,,,:::++*#::::::,:*+::,,,,,,,,,,,,+###...,..:+:::+*#***++*############################,..*::,.      
#*:*+*++++++++,:*******+++:,*+******+::::***+++:,*:,:+*+++,,,,,::++#+:,,,,,,,:,:,,,,,,,.....,*###,..:.,:::::***#:++***########################*+.....*::,      
***::*++++*****+,:+*+++*****::+***++****+::++++::+**+:,+++,,,,,+*:+#+:,:,,..,,,,....,......,:####,..,.+##*+:*#+::+**##########################*+.....:+:::     
*****::**********+::+*********:::+*********:::::++++++*:,+,,:,.:++**,,:::,..,,,,,,,,,.....,:*####....+***++,:+::+*###########################+*.......*+:+.    
****:+,:++******+::::+********+,,:*********+,,:++++++++++,:,,,.#:+#*,,,,....,,.,,,,,...,,,**##*....,,,**++::::::###################*##########........**:+.    
*+*#####+,+**+++****+::+***+:+***+,:*****+++*+,,*+++++::**:,::+##**:,,. ,::+::,,,,,,,,++#*#..  .,.,,*#####:,,::##*#############:..,########## .......*#*:+:    
########**+::+*********::+++*******+::+++***++*+::++:+*****::,#####,......:*++:+++...,:,... ,..,,::+**##+*,,+##################+..##########, ......+##*:+:    
:***###**+::,:+*********,,+**********:,+******++++::******++:,,,,.....................,....,::++::::+**:+*#################################+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+::+++++++:,,,,,.............. .:..... ...::::,,:++::+##**#################################*,. .*####*:+,    
#***+*****++++++::++++++++++::++::++++++::::::::+++++++++++++::.....,... .:,.   ........,,.:,,,::,+##**##################################*#####********+++.    
,.,,,,,,.....,:+**####################************++++:::::::++,. ..    . ,,,.........,,+*::,,,,:***####################*****###############***********+++     
,,,,,,:::+::,,+**+*#***##########*******++************######*#*+:++*****+:,..,,,....,:##+:+:,,::*****################################*##**************++*,     
#**#####**######**:::,,,:,:+**##############################*##*+++::+*:,:::,,,,,:+*:,,*++:,:+++::+*################################*##########******+++*.     
####:+***#####**#******++*##*####################################****,*+.**+,:++:,,,::+:::::::*##+######################**########*#############****+++*,      
####*****#####**:#######*:***#####################################*++:,+,,:*:,**,+++::::::*####+#*************************************++++++++:::::::::,.      
::,,::,::::::::::,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,,:::::,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,.........                                                                                                                  
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               .,,,:,:****##################**#*************::,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,::+****###########****#####################################**.....*+::,          *       
      .,::,,:::#########+::++***+***********:,............,,,,::::,,+####*##********++++++++++++********###########################*.... *+::,          :.     
,,:::+*#*#########*+,:::+*+**+*********:.,,,,................,:,.,**********++:::::::,,,,,,,,,::++******#############################,... #+:+,          ,.    
+***#########*+++:,,,::*+**+*****+,,.......,,,..    ....  .... .**+*++++::::,::,,,,,.......,++,:::*##*##***###########################*....*+:+,          ,,   
########*+++:::,,,,::+***+***:.,............,,....  ....   .  ++++++*++::,.,,..:+:,......:*##+,,,:****#*+***############################....*+::,           :  
###*++++::::,,,,,:+:**+++:,,,,,,,,,,........,,,...    ........++::,,,,..   ,,,. ..  .  ..+#***##*:,,,+*::++*############################*....*+::,           , 
*+++::::::,,,,:::+**++++::::++++:::,,,..,,,,,,............  .+:,,,.....   .. ...+*+*,   .,+:+**,....,::,::++*##*#########################,..  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,,,................  ..  ,*::::,,,.,..  ..,..+*+++++,.   ,,  .....,.:##*++##*######*****#++++**+*+####*.....*+::.          .
::+++*,,,,::++*+::+:::,,::::,,::::++::,.....    ....       .,:,:::,,,,,......,,:*++*+:.    ..   .,....,**#,,,+*#**#++******#****+++**#####......*:+,.          
++*+.,,,::+**++**:,+::++******,,,,:,,,.,+++,,,..,....      ,,,,,,:::::,,,,,,:,....::       .  ...... ,,**+,..+#+++#*******################...,*##*+:,.         
*,,,,,:++**+**+++*:,::++:::::::,.........,,,,,,,,:,,..    :,,,.,,,..,.....  ....,..      .....,...,...+**+**++:**:+#**############################+:+,         
,,,,,:+**:+****+:+**:,:::+:::::,,.....,,.,:::::,:+:,..  ..,,:,,,,,,,,...............,,::,,,,,,#*,..,..+*##*++++***+**#############################*+:+,        
,,:****+++::*++*******+::*++++::,,..,,,,.,+++++:,:+**+::+:,,,,:::*:##:::,,,,*****,,,::,,,,,,,+##:..,..,:**+:+++****+##############################+*:+:.       
:**+++++**+*,:**********+,+*********+*::++::,::::::::+++++,,,,::+*:**::::::::*+++,,,,,,,,,,,,*###...,.,++:,:+*#**+**#############################,..*::,.      
#*:*+*++++++++,:*******+++:,+*******+::::*+++++:,*:,:+*+++,,,,+*:*+*::,,,,,,,:,,,,,,,,,...,,.####...:.:+:::+****:+**+#########################*+.....*::,      
***::+++++*****+,:+*+++*****::+***++****+::++++::+**+:,+*+,,,,,**:+#::,:,,...:,,,,..,......,+####...,,*##*+:*#:::+***#########################*+.... :+:::     
*****::**********+::+*********:::+*********:::::++++++*:,+,,:,.,+*+*,,:::,..,,,,,,,,,....,,,*###*...,****+::::::**###########################+*.......*+:+.    
****:+,:++******+::::+********+,,:*********+,,:++++++++++,,,:,,#,+*#,,,,,...,,.,,,,....,:++*##+,...,,:**:*,,,::+##*################*##########...... .**:+.    
*+*#####+,+**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+,:::##:#*.....:,+::,,,,,,,:+##*:.....,.,,*####*:,::+##*#############: .,########## .......*#*:+:    
########**+::+*********::+++*******+::+++***++++::++:+****+::,#####,......+*++:++:.. .:... .: ,,::++**#**+,,*##################+..##########,.......+##*:+:    
:***###**+::,:+*********:,+**********:,+****++++++::******+++,,,+....................,... .,::+++:::**+:+*#################################+.......+##**++:    
*+++###*++++++::++++++:+++:,+******++++::+****+++:+::+++++++:,,,,,...............,,......,..:::,,,:++::+****#################################*:. .*####*:+,    
****++****++++++::++++++++++::++::++++++::::::::++++++++++++*::  ...,..   :,.   ...........:,,,,,,*##*###################################*#####********+++.    
,.,,.,,,.....,::**####################************++++::::::++:,   ..     .,,.........,,*#:,,,,,,*########################***###############***********+++     
,,,,,,:::+::,,+**+*#***##########*******++************########*+:+******+:,..,,,.....+##+:+:,,:+*****################################*##**************++*,     
#**#####**######**+:+,.,:,:+**#################################*+++::++:,,,:,,,,,:+*:.,*++:,,:+::+**################################*##########******+++*.     
####:+***#####**#***##*++*##*####################################+**+,*+,**+,:++:,,,::+:::,:::*##+######################**########*#############****+++*,      
####*****#####**:#######*:***#####################################**::,+,,,*:,+*,+++::::::*####+#***********************************++++++++++:::::::::,.      
::::::,:::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::,::::::,,::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,:::::::::+,::        
,,,,,,::::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               .,,,:,:****##################**#*************:,,,,,,,,::::,.., ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:+#**###########****+******#*******:,,,,,,,::::::,,.,,,,:+*#**####*****##****#####################################*,.....*+::,          *       
      .,::,,:::#########+::++***++**********:,............,,,,::::.,*####*##********++++++++++++********###########################,.....*+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+,..,,,................,,:,:**********++::::::,,,,,,,,,:::+*******#############################.... #+:+,          ,.    
+***#########*+++:,,,::*+**+*****+,,......,,,,..    ....  .... :****++++::::,:,,...........:*:,:,+##**##**############################.....*+:+,     .    ,,   
########++++:::,,,,::+***+***:.,............,,....  ....   .  :+++++*++:+,,:...+:,.......+##*:,:::+++*#*+***###########################:....*+::,           :  
###*++++::::,,,,,:+:**+++,,,,,,,,,,,..........,...  .........:++::::,,.... .,..     .   .**####*:,.,,**:++**##*#########################.....*+::,           : 
*+++::::::,,,,:::+**+*++::::++++++::,,....,,,,............  ,::,,......   ......+*+:    .,::*#:.....,:,,:+++*##**########################...  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,..................  ....:*:+:::,....   .,,..+**+++:.   .,.  ....,.,+##+:*##*######*****#++++*****####......*+::.          .
::+++*,,,,::++*+::::::,,::::,,::,,::::,.....    ....      .,,:,:::,,,,,.......,++:+*:.     .... ,.....,*#*,.,:##**#++******#****+++**####:......*:+,.          
++*+.,,,::+**++**:,+::++*****+,,,,::,,,.+++,,,.......      ,,,,,:::::,,,,,,,:,.. ,+.       .  ,...,  .:**+..,*#+:+*+******###*############...,*#**::,.         
*,,,,,:++**+**++*+:,:+++:::::::,.........,,,,,,,,,:,..   .:,,,,,,,..,.....  ., ...      ........,.,..,+**:**+:+*+:+#**############################+:+,         
,,,,:++**:+****+:+**:,::++:::::,......,,.,:::::,:+:,..   ,,,,,,,,:.,,......... ...,,,,::::,,,+#+...,.,*###*++++***:*###############################+:+,        
,,:****+++::*++*******+::*+++++:,,..,,,,.,+++++:,:+**+::::,,,,:::*+#*:::,,,,+****:,,:::,,,,,,*##.......,**+:+++*****##############################:*:+:.       
:**+++++**+*,:**********+,+*********+*::++::,::::::::+++++,,,::::*+*+:::::::++++:,,,,,,,,,,,,###+..,,.,++:,:+*#**+***############################,..*::,.      
#*:***++++++++,:*******:+++,*+******+::::*+++++:,*:,:+*++*,,,,:*:*+#,,,,,,,,,,::,,,,.,......,####...:.:++++:***::+****########################*+.....*::,      
***::+++++*****+,:+*+++*****::+***++****+::++++::++++:,+++,,,,:**++#,,,:,,..,+,,,,..........*####...:,*##++,*#:::+***#########################*+.....:+:::     
*****::**********+::+*********:::+*********:::::++++++*::+,,:,.,+*+*,,:+:....,,:,,,,......,,*###:,..+*#**+,::::++*###########################+*.......*+:+.    
****:+,:++******+::::+********+,,:*********+,,:++++++++++,,::,.#,+*#,,,,,...,,,,,,,....,:**+#*,...,,:+*+:*:,+::*##*################*##########...... .**:+.    
*+**####+,+**+++****+::+***+:+***+,:*****+++*+,,*+++++::**+::,+##+*#., ,,::+::,,,,,,,++#**.... ,...:####*+:,::##*##############:..,########## .......*#*:+:    
##*#####**+::+*********::+++*******+::+++***++*+::++:+****+::,#####.......:++:++:,.  ... . ...,:+:++**#*+:,:###################,..##########,.......+##*:+:    
:**####**+::,:+*********,,+**********:,+******++++::******++:,:,:....................,. ..,,::::::,:*++:+*#################################+.......+##**++:    
*+:*###*++++++,:++++++:+++:,+******++++::+******+:+::+++++++,,,,,,............  .,.. ......,,::,,,:++::*****#################################*,. .*####*:+,    
****++****++++++::++++++++++::++::++++++::::::::++++++++++++*,, ....,..  .,,    ........, :+,,,,,:****###################################*#####*********++.    
,.,,..,,.....,::**####################************++++:::::::++...  .    ,,.,.........,:**,::,,,:*########################***###############***********+++     
,,,,,,:::+::,,+**+*#***##########*******+*************######***+:++****+:,,,,,,,,,,,,*#*:++,,,:+*****################################*##**************++*,     
#**#####**######**:::,.,:,:+**#################################*++++:++:,::,,,,,,,+*,,:+++:,::+::+*#################################*##########******+++*.     
####:+***#####**#***##*++*##*###################################**+**:**,+*+:++:,,,,::+:::,:::*##+######################**########*#############****+++*,      
####*****#####**:#######*:***#####################################*+::,+,,:*,:**:+++:::::+*####+#*************************************++++++++:::::::::,.      
::,,::,::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,..,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               ...,:,:+***##################**#*************:,,,,,,,,::::,..  ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,:++*****###***********######**#############################*......*+::,          *       
      .,::,,,::#########+::++***++**********:,............,,,,::::,,*####*##********++++++++++++********##########################+......*+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+,..,,,................,,,,+*********+++::::::,,,,,,,,::::+*******############################:.... #+:+,          ,.    
+***#########*+++:,,,::*+**+*****+,,.......,,,..    ....  .....+****+:::::::::,,,....... .,+*:,::*#####***############################.....*+:+,     .    ,,   
########*+++:::,,,,::+***+***:.,............,,....  ....   .  ++++++++:::.:,..:+,,......,*#**,,,::+***#++***###########################.....*+::,           :  
###*++++::::,,,,,:+:**+++,.,,,..,,,,..........,...    .......+:+,::,,....  ,.. .      ..,**#****:,,,:*+:+++*##*#########################.....*+::,           : 
*+++::::::,,,,:::+**+***+::+++++++:,,,,,.,,,,,............. +,:,,......    ....,+**:    ,,,:**:.....:,,::+:+*#***#######################+...  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,,,................  ....+*++::,,....  ..,,.:***+++:    ,,   ......,*##+:*#**######*****#++++*****####......*+::.          .
::+++*,,,,::++**::::::,,,,:,,,,,,,::::,.....    ....       :::,:::,,,,,.....,,:+:+*+,.    .,.. ...,.,.:*#+..:+*#***++*+****#**++++++#####.......*:+,.          
++*+.,,,::+**++**:::::++++***+:,,:::,,,.:++,,,.......      :,,,.+:::,,.,,,,,::,. :+        . .......,,+#*:..:*#++*#+******###############+...,*#**::,          
*,,,,,:++**+**++*+:,:+++:::::::,.........,,,,,,,,,,,..   .::,,,,,,.............,:. .   . .....,...,, ,***+***,+*+:+#***###########################+:+,         
,,,,:++**:+****+:+*+:,::++++:::,......,,.,:::::,+:::.... ,,,,,,,,,................,,::::::,,:*#:...,.+#*##*::+****+*###############################+:+,        
,,:****+++::*++*******+::*+++++:,,..,,,,.,++++*:,:+**+:::,,,,,:::#+#+:::,,,,****:,,,::,,,,,,,###,..,..,+*+:::+******##############################:*:+:.       
:**+++++**+*,:**********+,+***********::++::,:::::::+++++:,,,::::*+*::::::::++++,,,,,,,,,,,,,###....,.:+::::+##**++**############################,..*::,.      
#*:***++++++++,:*******:+++,*+******:::::***+++:,*:,,+*+++,,,,:*:*+#,:,,,,,,::::,,,,,,....,,:*##:,...,+:+:::*#*:++***#########################*+.....*::,      
***::+++++*****+,:+*+++*****::+***++****+::++++::++++:,++*,,,,:*+*+#,,,:,,..,+:,,,..,.....,.*###:..,,:##*++,**:::+**##########################*+.....:+:::     
*****::**********+::+*********:::+*********:::::++++++*::+,,:,,,**:*.,:+,....,,,,,.......,,,####...,+***++,:+::*+############################+*.......*+:+.    
****:+,:++******+::::+********+,,:*********+,,:++++++++++,,::,,*:++#,,,,,...,,,,,,....,,:**+*+.. .,,+*#*+::,+::*#*################**##########...... .**:+.    
++**####+,+**+++****+::+***+:+***+::*****+++*+,,*+++++::**::,,*#***#,. ,,::+::,,,,,,,+:#*+... .:..,+####*,:,::##*##############,..,########## .......*#*:+:    
#**#####**+::+*********::+++*******+::+++***++*+::++:+****+,::####+..... .+*+:+:,,.  ...  .,..::+++****++,::###################...##########,.......+##*:+:    
:***###**+::,:+*********,,+**********:,+******++++,:******+:,,:+,................. .,...  ,:::::::,:*+::**#################################+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+::+++++++,,,,,,............  ,..... ...,,,::,,,:++:+****##################################*,. .*####*:+,    
****+++***++++++::++++++++++::++::++::++::::::::++++++++++++:,......,.  ,,,.    .........,+,,,,,,+*#**###################################*#####********+++.    
,.,,..,,.....,:+**####################************++++::::::,+:... ..   .:,,..........,+*+::,,,,+*#*######################***###############***********+++     
,,,,,,:::+::,,+**+*#***##########*******+*************#######*++++****++:,.,,,,,..,,:##+:::,,,:*****#################################*##**************++*,     
#**#####**######**:::,.,:,:+**#################################+++::+++:,::,,,,,,:*:.,+++:,::::::+*#################################*##########******+++*.     
####:+***#####**#***##*++*##*###################################+****+*:,+*::**+,,,,++:,,::::+*##+######################**########*#############****+++*,      
####*****#####**:#######*+***#####################################*+::+:,:++,+**++++:::::+#####+**************************************++++++++:::::::::,.      
::,,::,::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,..,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               ...,:,:+***##################**#*************:,,,,,,,,::::,... ++++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#*******+:,,,,,,::::::,,.,,,:+**#*####************########**##########################*:......*+::,          *       
      .,::,,,::#########+::++***++**********:,............,,,,::::,,*####*##********++++++++++++********##########################.......*+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+,..,,,................,,:.*********+++:::::::,,,,,,,,,:::**#*****############################..... #+:+,          ,.    
+***#########*+++:,,,::*+**+*****+:,.......,,,..    ....  .... **+**++++:++,,:,,,,........:*+,:,+*#####***##**#######################+.....*+:+,          ,,   
########++++:::,,,,::+***+***:.,............,,....  ....   ...+++:++++::,,,,,,::,.......+*#*+.,,:+++***++*****########################+.....*+::,           :  
###*++++::::,,,,,:+:**+++,.,,,..,,,,..........,...    ...... +++:::,...   ,.      .. ...**##*##+,.,,+*::++**##*########################+.....*+::,           : 
*+++::::::,,,,:::+**+***:::+++++++:,,,,,.,,,,,............. +,:,,......   ,.,. +**+.   .::,:#*,.....:,,::+:*##***#######################....  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,,,................  ....++++::,,....  ..,,,******+.   .:.   ....,.+##*::*#**######*****#++++++**####:......*+::.          .
::+++*,,,,::++**::+:::,,,,,,,,,,,,::::,.....    ....       :,,::,,,,,,.,....,:++:+*+.     ..    ,.,..,*##:..**##****+++*++*#**++++*+####*.......*:+,.          
++*+.,,,::+**+++*:,+::++++++*+,,,:::,,,.,++,,,.......     .:,,,,:::::,,,,,:,::. .+,       .    ..,. ,,*#+, .+*#::+*+******###############.....*#**::,          
*,,,,,:++**+**++**:,:+++:::::,,,.........,,,,,,,,,,,..  . :,,,,,,,......  ..,..,.  .   ...........,.,+**+***+,+*+:*#**############################+:+,         
,,,,:++**:+****+:+*+:,::++++:::,......,,.,:::::,+::,.....,,,,,,,,,..,.............,,::::::,,:#+...,..*#**#+:++*+**+*###############################+:+,        
,,:****+++::*++*******+::*++++::,,..,,,,.,++++*:,:+**+::+,,,,,::+**#::::,,,:****,,::::,,,,,,,##:..,, .,**:::++*+****##############################:*:+:.       
:**+++++**+*,:**********+,+**********+,:++::,:::::,::+++*:,,,:::+**#::,:::,++++:,,,,,,,,,,,,,##*..,, ,++,:::**#**:+**############################,..*::,.      
#*:***++++++++,:*******::*+,*+******+::::***+++:,*:,,+*++:,,,,+::**#,,,,,,,,+,::,,..,,.....,*###,..,.:+:+::***:::+***#########################*+.....*::,      
***::+++++*****+,:+**:+*****::+***++****+::++++::++++:,+*+,,,,:*:**#,,::,...,:,,....,......,####,..,,*#*++,:#+:::**###########################*+.....:+:::     
*****::**********+::+*********:::+*********:::::++++++*:,:,,,,.:+*+*,,::,....,,,:,,......,:+###:...,+**+:,,::,:*+#*##########################+*.......*+:+.    
****:+:,++******+::::+********+,,:*********+,,:++++++++++,:::,,:+***,,,,,..,,,,,,,.....::****... .,,+*#:+,:,:::##*################++##########...... .**:+,    
++**####+,+**+++****+::+***+:+***+,:*****+++*+,,*+++++::**:::,*#:*+,,.,:::++::,,,,,,:+***., . ,,..:*####*,,,+:#################...,########## .......*#*:+:    
#**#####**+::+*********::+++*******+::+++***++*+::++:+****+,,:####.......:+*+++:.....,..  ,,.,,::::*#**+*,,*###################...##########,.......+##*:+:    
:***###**+::,:+*********,,+**********:,+******++++,:******+:,,,:,...................,. ...,:+++::,,+*::+###################################+.......+##**++:    
*::*###*++++++,:++++++:+++:,+******++++::+****+++:+::+++++++,,,,........  ...  .,. ... . .,::::,:,++::*****##################################*,. .*####*:+,    
****++****++++++::++++++++++::++++++::++::::::::++++++++++*+,+ ,,,....  ,,.    ..... ....::,,,,,:+##*#*##################################*#####********+++.    
,.,,..,,.....,::**####################************++::::::::+:. . ..    ,,::..........:**:,,,,::**########################***###############***********+++     
,,,,,,:::+::,,+**+*#***##########*********************######***:+***#*+:,,,,.......:*#*::+:,,:+***+*#################################*##**************++*,     
#**##*##**######**+::,.,:,:+**##############################*##+++::**:,::,,,,,,,+*:,::+:,,,::::+**#################################*##########******+++*.     
####:+***#####**#***##*++*##*##################################*+***:*+,+*:+**+:.,,:++:,:::++*###+######################**########*#############****+++*,      
####*****#####**:#######*+***#####################################*:::+,::*::**:++++::::+*#####+##************************************++++++++:::::::::,.      
::,,::,::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::,:::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,..,,........                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
               ...,:,:+***##################****************::,,,,,,,::::,....++++++++++++++++++++++++++********************************:::,          +        
          .,,,,:****############***+******#******+:,,,,,,,::::::,,.,,,,*****######**********######******#######################*:.......*+::,          *       
     ..,::,,,::#########+::++***++**********:,............,,,,::::,:#*###*##******++++++:::::+++********###**####################+...... *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:..,,,................,:,,*********++::::::,,,,,,,,,,:::********############################,..... #+:+,          ,.    
+***#########*++::,,,::*+**+*****+,,.......,,,..    ....  ....,****++++++:,:,,,.,,......,:*,,,,**####*****##########################*......*+:+,          ,,   
########++++:::,,,,::+***+***:..............,,....  ....   . :*+++**+::,:,.,++:,... ..:****,.,:+*+*##*++*****#########################......*+::,           :  
###*++++::::,,,,,:+:**+++,,,,,,,,,,,..........,...  .........*+,::,,,.. .,,...  .. ...+***###*,..,:*::::++*#**########################*......*+::,           : 
*+++::::::,,,,:::+**:+++::::++++++:,,,..,,,,,,............  ,:,,,,... ..,...,+**+.   .::,,+:..,...,,.,,:::*##*****#####################:....  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,..................  ...,:+++:,,,......,.,******+.    ,,     ....:*##:,+##***##*###*****+++++++*#####.......*+::.          .
::+++*,,,,::++**::+:::,,,,,,,,,,,,::::,.....    ....      .:,,,,,,,,,:,...,,+*++*+.     ..     ., ,.**#*,,.+###****++***+*#*+++++++*####........*:+,.          
++*+.,,,::+**++++,,:::++++++++,,:::::..,+++,,,.......     ,,,,:+++::,:::+:,,  :+.       .  ...... .,*##:,.:++**+:+*******###**###########....,*#**::,          
+,,,,,:++**+***+++:,::::,,,,,,.,..,,....,,,,,,,,,,,,..    ,,,,,,,,........,..,.       ..........,. :****+++:::,:*++****##################,########+:+,         
,,,,:++**:+****+:+++:,::::::::,,.....,,,.::::::,:::,....,,,,,,,,,............. ...,,::,,,,,,,...,,.+*#**+:::++++***+##############################*+:+,        
,,:****+++::*++*******+::*+++:,,....,,,,.,+++++:,:+**+:::,,,,:++*+#*::::,,,+***+,,,,,,,,,,,,*,..,, ,,*#+,,::++++**+++#############################:*:+:.       
:**+++++**+*,:**********+,+**********+,:++::,::::::::++++,,,,,::*+#+:::::::,,,,:,,,,,,,,,,,,#*..,, ,++,,,:+*#***:*+**############################,..*::,.      
#*:***++++++++,:*******::*+,*+******+::::*+++++:,*:,:+*+*,,,:,::*+#,:::,,,:,:,:,,,,,....,,,+##...,.:,,:,,:***+,::+**##########################*+.....*::,      
***::+++++*****+,:+**:+*****::+***++****+::++++::+**+:,++,,,,,,+*+#,:::,..,+:,,,:,,,...,,,++##...,.*##+:+,*#::::+**#*#########################*+.....:+:::     
*****::**********+::+*********:::+********+:::::++++++*:,,,,,,,*#+*,,,,,,..,,,:::.....,,+****:...:#**+::,,,:,,*+*##*#########################+*.......*+:+.    
****:+:,++******+::::+********+,,+*********+,,:++++++++++,::::.:*+#:,,..,.,,,,,,,,...,***#*,...,,,:+*::.,,:,,:#**################*.*##########...... .**:+,    
*+**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::++::::#*+,: :::::,::,,,,,,:*+##,... ,,,.:*####*,,,+:***###############+ ..,########## ...... *#*:+:    
****####**+::+*********::+++*******+::+++***++++::++:+****:::*##.... .:++++++:....+.,.  ,..,::::+****:+,::#####################...##########........+##*:+:    
:+**###**+::,:+*********,,+**********:,+****++++++,:******,:,,...................,....,,,::+:::,,+*:::*####################################+.......+##**++:    
*::+###*++++++,:++++++:+++:,+******++++::+****+++:+::++++++:,,,,.............,.,........,,:,,,,,::::+****####################################*:. .*####*:+,    
****+++***++++++::::++++++++::++::++::++::::::::++++++++++*:, ..,...  :,.   ..........,+,,,,,,:*#########################################*#####********+++.    
,.,,,,,,.....,::**####################************++++::::+::...  .,  .,,.........,,+*+,,,,,,,*###*###############**######***###############***********+++     
,,,,,,:::+::,,+**+*#***#########**********************######*+:*****+:,,,,,,,.,,.:##+:::,,,,+*****###################################*##**************++*,     
#***#*##**######**+:+,.,:,:+**################################*+:+*:,,::,,,,,:+*+,,::+:,,,:+:,:***##################################*##########******+++*.     
####:+***#####*##***##*++*##*##################################***:*,,**,+**:,,::++:,,,,::+*#####+######################**########*#############****+++*,      
####*****#####**:#######*+***###################################*++::,,*+,**,++++:::::+*#######+##************************************++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,,:        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,::::,... ++++++++++++++++++++++++++********************************:::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,:*#**#####************#########***######################**........*+::,          *       
     ..,::,,,::#########+::++***+***********:,............,,,,::::,:########****++++++++::::++++*********##*#*###################....... *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+,.,:,,................,,::*********+++::::,,,,,,,,,,,::+***++**###****######################...... #+:+,          ,.    
+***#########*++::,,,::*+**+*****+:,.......,,,..    ....  ....,*****+:++:,::,..........,+:,,,,*####*****#******#####################.......*+:+,          ,,   
########++++:::,,,,::+***+***:..............,,....  ....   . +*+++++:,.:,,:::,....  .+###: .,,+*****+::+*****########################:......*+::,           :  
###*++++::::,,,,,:+:**+++,,,,,,,,,,,..........,...  ......  ++::,,,..  ,....      ..,**####*:....:*:,,::+*##**##*#####################.......*+::,           : 
*+++::::::,,,,:::++*:+++::::+++++:,,,,..,,,,,,............ .+:,,,,,........:***,    :+::++:   ..:,...,,,,+##***########################.....  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,,,..................  ...,++::,,,...,,,.,+******:   .,,.        ,+*#*::+##****##*#*#*+*+#+++++++*####:.......*+::.          .
::+++*,,,,::++**::::,,,,,,,,,,,,,::::,,.....    ....      ,,,,:,::::,,..,::++***,.    ..     .,  .,*#*+,,,**#****#*+****+*#****++**####*........*:+,.          
++*+.,,,::+**+:++,,::++++++++:,,:+::,,.:+++,,,.......     ,,:+::::::::::,.  ,+,       ..   .....  +##*,.,:++::*+,++***++*##***##########*....,*#**::,          
+,,,,,:++**+**+++::,,:,,,,,,,,..,,.....,,,,,,,,,,,,,..  ..,,,,,,,.,.....,,.,. .      ........... ,***+:::+,,::,:**++**###################.########+:+,         
,,,,:++**:+****+:+*+:,::::::::,......,,.,+:::::,:::,..  ,,,,,,....,........... ..,,,::,,,,.......:****#+,,:++:++*#*:*#############################*+:+,        
,,:****+++::*++*******+::*+++:,,....,,,,.:+++++:,:+**+:::,,,,::+*+*+::::,,:::,+:,:,,::::,,,,..,..,:+#+,,,:::::++*+:+*#############################:*:+:.       
:**+++++**+*,:**********+,+**********+::++::,:::::::++++,,,,,,:++**::::::::::::,::,,,,::,,:*..., .,*:,.,,:**++*+*::#*############################,..*::,.      
#*++**++++++++,:*******::*+,*+******+::::*+++++:,*:,:+*+:,,,,,,::#*:,*+,,,,:++::::,,.,,::::+,.,, ,:...,::*##:,::++*#*#########################*+.....*::,      
++*::+++++*****+,:+**:+*****::+***++****+::++++::+**+:,+:,,,,,,+:#,:::,,,,+:,,,,,,...,:::***..,.,+##*:,:***,,,::**#**#########################*+.....:+:::     
*****::**********+::+*********:::+********+:::::++++++*::,,,,,,++#,:..,,,.,,:::,....,,:+*##+...,+***::,,,:,,,++***+*#########################+*.......*+:+.    
****:+,:++******+::::+********+,,+*********+,,:++++++++++,,,:,.+*#,:..,,.,:,,,,,..,,:****:.....,,:+:.,,,,:,,:#*###*##############+.*##########...... .**:+,    
*+**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::*,::+,*::.,+:,:+::::,,::,+*#*:. , .,..:*####*:,,,+:*#*################,...,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++:+**+:::+#+.....,+++***:,,.,:. .  :...,,,,+##**+:,,,+#####################*...##########........+##*:+:    
:+**###**+::,:+*********,,+**********:,+****++++++,:*****+:,,..................,,,, .,,:::::,,,:*+:::*#########################*###########+.......+##**++:    
*::+###*++++++,:++++++:+++:,+******++++::+****+++:+::+++++:,,,,,....... .  ,.......  .,:::,,,,::,,:**#*#*####################################*:. .*####*:+,    
****++++**++++++::::++++++++::++::++::++::++::::++++++++++:,...,,..,:,..  ....,...,..:,,.,,.,+#***#######################################*#####********+++.    
,.,,..,,.....,::**####################************++++::::::    ..,.,,,........,,,+#:,,,,.,:*###**##############****######***###############***********+++     
,,,,,,:::+::,,+**+*#***#########**********************#####*++****+:,,,,,,,,,..*##+:+:,,,,+*****#####################################*##**************++*,     
#***#*##**######**+:+,.,:,:+**###############################+:+*+,,::,,,,,,**+:,:+:,,,,::::::**####################################*##########******+:+*.     
####:+***#####**#***##*++*##*#################################**,#+:++:+++::,,:+++:,,::::+*######*######*###############**########*#############****+++*,      
####*****#####**:#######*+***##################################**+:::+*,**,+++++::::+*#########:##************************************++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::,:::::,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
                ,,,,,:+***##################****************::,,,,,,,::::,... ++++++++++++++++++++++++++********************************:::,          +        
          .,,,,:****############***+******#******+:,,,,,,,::::::,,.,,,:*****########********#########***######################*:........*+::,          *       
     ..,::,,,::#########+::++***+***********:,............,,,,::::,:#####*******++++++++::::++++++*******#***###################*....... *+::,          +.     
,,:::+*#*#########*+,:::+*+**+********+,,,:,,................,,,+*******+++++:::,,,,,,,,,,,,:++**+++**********####################....... #+:+,          ,.    
+***#########*++::,,,::*+**+*****+,,.......,,,..    ....  ..  +*****+++,,::,,,.........:,...:#*#*******##******#####################.......*+:+,          ,,   
########++++:::,,,,::+***+***:..............,,....  ....   ..++*+++:.::,,:*:,...   :*#*+....:**#*##*:::***+**##*#####################.......*+::,           :  
###*++++::::,,,,,:+:**+++,.,,,,,,,............,...    ....  +:+:,,.. .,,....   . ..*###****, ...**,,,,:+**#***#***####################.......*+::,           : 
*+++::::::,,,,:::++*:+++:::+++++::,,,...,,,,,,............ ,+::,,,...... :*##:    :*++++,.    .,:...,,,,*##*++*###+###################*.....  #+::.          .+
::::::++,,,,,:++*+::,,,,,..,,,,,,,....................    .,:::,,,,..,,,.+*+****,    ,+.        ..,+*:.,*##*++*####*##**++#+++++:+#####........*+::.          .
::+++*,,,,::++**::::,,,,,,,,..,,::::,,......    ....      ,,,,:,:::,,..,+*++**,     .       .   .:*#+,..+*#*****#*******+*#*++++++*####:........*:+,.          
++*+.,,,::+**++++:,:::+++++++:,:++::..,*+++,,,.......    .+:::::::::::,.. ,+.       ..    .. .  ,*##:.,.++++*::+#:+++**+*##***##########, ....*#**::,          
+,,,,,:++**+***+++,,,,,,,,,,....,,..,..,,,,,,,,,,,,...   ,,,,,,,,,......,:.   .     .......... .**#:.,.+*:++:,,:**+:**##################*.########+:+,         
,,,,:++**:+****+:+*+:,:::::::,......,,.,:::::::,:::,.. .,,....,,................,,,,,,,,.....  :*###**+,,,*+:++*##+,*#############################*+:+,        
,,:****+++::*++*******+::*:+::,,,,..,,.,::+++++:,:+**+::,,,,,,:*:**:::::,::+**+:::,::::::......++*#*:,,,,::::++**::**#############################:*:+:.       
:**+++++**+*,:**********+,+*********++,:++::,:::::,::+++,,,,,,+*+*:,::::,,::::+*++::::+**:.... .,*:.,.,,***+:++*::+**############################,..*::,.      
#*++**++++++++,:*******::*+,*+******+::::*+++++:,*:,:+*+,,,,,,,+,*::++:+:,++::,+,,,,,,++**.... ,:..,,.,+****,,,:+*#**#########################*+.....*::,      
++*::+++++*****+,:+**:+*****::+***++****+::++++,:+***:,+,,,,::,:+*::,,,,::::,,,:...,,::**#...,.**#*:::+*#*,,,::*#*+**#########################*+.....:+:+,     
*****::**********+::+*********+::+********+:::::+++++++:,,,,::,,#::,...,.,::::,...,,:+***:...,****:,:,,,+,,,:+*#+++*+########################+*.......*+:+.    
****:+,:++******+::::+********+,,+*********+,,:+++++++++,,:,,,,+#::,.,::,:,,:,,,,,::+++: ....:,,+:,,,,,:,,:*#*#****##############, *##########........**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++::,::++:...*,:::+:::::,::+++*,... .:. :*##***:,,,:,,*#####*#############.. .,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++*+::++:+**+,::*......:+++*+:,,,::...  ,.....,:*####+:,,,.*######################:...##########........+##*:+:    
:+**###**+::,:+*********,,+**********:,+******++++,:****+:,,,,............ .,,,:..,,,:::::,,,+*+,,,+*###*####*#################*###########+......,+##**++:    
*::+###*++++++::++++++:+++:,+******++++::+****+++:+::++++,,,,,........  ,:,. . .....,:,,,,.,+:,,:*##***##***#################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++::++::::::::+++++++++::. .,:+::,  ....,,..,,, ::,,..,.,*****#########################################*#####********+++.    
,.,,.,,,.....,::**####################************++++:::::,....,,+:,,,,,,,,..,:**,,,....:**##**################*#**######***###############***********+++     
,,,,,,:::+::,,+**+*#***#########**********************###******+::,,,,,,:,,,+*#*:::,,.,,+*#***#######################################*##**************++*,     
#***#*##**######**+:+,.,:,:+**#############################****+:++:::::,+*+,,:+*+,,:::*+:,+**###########################*##########*##########******+:+*.     
####:+***#####**#***##*++*##*################################*:*+**+:+*+::::+++::::::::+#########*######*###############**########*#############****+++*,      
####*****#####**:#######*+***#################################*+:*++:**+*+++::::+++*###########:###***********************************++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,::::::::,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**#################################################**++:,          +    .    
                ,,,,,:+***##################****************::,,,,,,,::::,... *+++++++++++++++++++++++++********************************:::,          +        
          .,,,,:****############***+******#******+:,,,,,,,::::::,,.,,,:*****###*************##########***#####################*,........*+::,          *       
     ..,::,,,::#########+::++***+***********:,............,,,,::::.:#####*****++++++++::::::++++++++********####################........ *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+,,,:,,................,,,********++++::::,,,,,,.,..,,::+++:+***********####################,...... #+:+,          ,.    
+***#########*++::,,,::*+**+*****+,,.......,,,..    ....  ..  +******+,+::,,.... ....,:.,,.+##**+++*#*##*******####################+.......*+:+,          ,,   
########++++:::,,,,::+***+***:..............,,....  ....   ..+*:::,::,,:*+,..,. ..+*#*:....+#####*+:::+*++******####################*.......*+::,           :  
###*++++::::,,,,,:+:**+++,..,,,,,,............,...    ....  ::::,,...,,...     ..+#*##**#+,.. ,*+,..,,:****+*##***###################*.......*+::,           : 
*+++::::::,,,,:::++*+***+::++++:,,,,,...,,,,,,.............:::,,,,,,,:.,*#*:.   :***+**,     .:,....,,:*##*:+*##***###################,.....  #+::.          .+
::::::++,,,,,:++**:,,,,,,..,,,,,,,..,.................  ...::::,,,,,:,:+***+**:.   ,+,         .::,.,.:*##*:+*#####*##**+*#**++:+*#####........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,,:::,,,.......    ....      ,,,,::::,,,::+++++,     .            :+::,..:*#**:+******#+***+#**++++*+*####.........*:+,.          
++*+.,,,::+**++++:::,:::::++:::,++:,,,**+++,,,.......    ,,,,,,,:,,:::, ::.      ..      . ,  ,::+,...:**+**+:,,**+:**++##****##########......*#**::,          
+,,,,,:++**+***++:,,,,,,,,....,,,,....,,,,,,,,,,,,,...  ::,,:::,::,,,,,,.   ..     .  ...... .:+*:.. ,*#*#*:,,,::,*:+*##################,.########+:+,         
,,,,:++**:+****+:+*+:,,,::,,,,........,:+::::::,:::,....,,,,..,,..,..... ...,,,.,,,,,,... ,..+**####:,,.:*+,::*###:+++#################:*#########*+:+,        
,,:****+++::*++*******+::*+:::,,,,..,..:::+++++:,,+**+::,,,,,,:*:*::::::,::+*****+++++*,....,*****+,.,,,:,::::*#+::**:############################:*:+:.       
:**+++++**+*,:**********+,+*********++,:++::,:::::,:++++,,,,,,++,*::**+:,:*++*+++:++*+*:..,   ,*:...,,::++:,:+*,::#**+###########################,..*::,.      
#*++**++++++++,:*******::*+,*+******+::::*+++++:,*:,:++:,,,,,,:+:::*::++,:+::+::,,,::+*+..,  ::....,.+*****,,,,::**+**########################*+.....*::,      
++*::+++++*****+,:+**:+*****:,+***++****+::++++,:+**+:,:,,:,:,::*.,,...:,::,,:,,.,,::**:.., :++*+:.,:*#*:,,,,:*#::*+*#########################*+.....:+:::     
*****::**********+::+*********+::+********+:::::+++++++,,,::::::+,,.,,,,,:::,...,,,:+++....:****,.,.,,*.,,:,*#*:::+*+##############*#########+*.......*+:+.    
****:+,:++******+::::+********+,,+*********+,,:++++++++:,,:,,::*::,,::::,,::,,..,:+++: ...,+::+:,,,.,:,,,:**##*::+*##############..*##########...... .**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+:,*+++++::,:::...**::+:+::,,,,++*++,. . ,, .+*#*++*...,:.:+**##*+**#############.. .,########## ...... *#*:+:    
+**#####**+::+*********::+++*******+::+++***++++::++:+*+,:,,.....,:*+:,.  ,+.    ,,. ....+##*#*++.,.,:*#***###################:...##########........+##*:+:    
:+*####**+::,:+*********,,+**********:,+******++++,:**+*:,,,,,,,.........,,,,,..,,:::::,,,,**+,,+.**##*########################*###########+......,+##**++:    
*::*###*++++++::++++++:+++:,+******++++::+****+++:+::+**:,,,...... .,,,,.,,. ...,:::,,,..:*:,,+*###*#*#*#####################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++::++::::::::++++++++:,::::,..   .,.,,....,.,,,,,,..,+*******#*#####*#################################*#####********+++.    
,.,,.,,,.....,::**####################************++++:::..,..:+:,,,,,,,,,,,:**:,,,,,.,+**#***############################***###############***********+++     
,,,,,,:::+::,,+**+*#***#########**********************##****++:::::::,,,,+###+:+:,,.,:*#**###########################################*##**************++*,     
#***#*##**######**+:+,.,:,:+**#############################*,:+*:::::+**+:::+*+,,:++**++:+**#############################*##########*##########******+:+*.     
####:+***#####**#***##*++*##*###############################+#:**:**+:::+**+:::::::++**##########*######*###############**########*#############****+++*,      
####*****#####**:#######*+***################################**+***+#:+*++::++++*##############:###***********************************++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,,,,::::::::::::::,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,,,:::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**###*##############################################*++:,          +    .    
                ..,:,:+***##################****************:,,,,,,,,:::,,...,++++++++++++++++++++++++++********************************+::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::,,,,.,:,:##*#####*************###########***####################*.........*+::,          *       
     ..,::,,,::#########+::++***+***********:,............,,,,::::.+####******+++++++:::::::::::++++*****#######################........ *+::,          :.     
,,:::+*#*#########*+,:::+*+**+*********:,,:,,................,,,*#*******++:::::,,,,,...,,::::::::+************##################* ...... #+:+,          ,.    
+***#########*++::,,,::*+**+*****+:,.......,,,..    ....  ... +*****:++::,..,. .....,.....+##*+:,:+#####*+***+*####################........*+:+,          ,,   
########++++:::,,,,::+***+***:..............,,....  ....   . +*+:::,,:++,,......:*#*+,...,*#####*+:,,+**++********##################,.......*+::,           :  
###*++++::::,,,,,:+:**+++,..,,,,,,............,...    ..    +:::,.,,,,....  .. :******#*:. . :*+,,,,,:++++++*##****##################,.......*+::,           : 
*+++::::::,,,,:::++*+***+::+++:,,,,,,...,,,,,,............ :++::,,,:,.+*#*.   ,******:.    .::......,:#*#+::+*#*+*#*##################......  #+::.          .+
::::::++,,,,,:++**:,,,,,,..,,,,,,,....................  ...+::::,,,::+**+**+,.   ,+,         .,.,,...:#*#+::+*####*#*#**+###**+++*####:........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,,::,,,........    ....      :++::::,::++:++:.. .  .,           ,+:+. ..*##*:,:**###*+*#**+*#***+++*+####*.........*:+,.          
++*+.,,,::+**++*+:,,::::++:::::,++,,.***+++,,,..,....   .,,,,,,,,..,,,::       .,.   . . .  .:++,....+###***::,::*+:**+*##****##########......*#**::,          
+,,,,,:++**+**++::,,,,,,,,,...,,......,,,,,,,,,,,,,... .,,,,,,,:,::,,.......    .........  ,***:.  .*#*##*+,,.,:,,*+:+####*#############..########+:+,         
,,,,:++**:+****+:+*+:,,,,,,,......,,..:+:::::::,:::,....,,,,:::*:++,,,,,,,,,::::::,,.......+******+:,,,+*:,,:+##**:*:*#################.*#########*+:+,        
,,:****+++::*++*******+::+:::,,,,,,,..:+::+++++:,,+**+:,,,,,,,+:+*,::+::,:***++**++**....,:*****:,..,.::,,,,+*#*,,+*+*############################:*:+:.       
:**+++++**+*,:**********+,+**********+::++::,:::::,:+++,,,,,,,+::+:+:*++:+**+++*++***,..,   ,*:. .....,:,,::**::,:*+**###########################,..*::,.      
#*:***++++++++,:*******::*:,*+******+::::*+++++:,*:,:+*,,,,,,,:++,,,,::::+:+:::::::+*:.., ,:,    .,,***+,:.,,::,+*:+*+########################*+.....*::,      
++*::*++++*****+,:+**:+*****:,+***++****+::++++,:+**+::,,:::,,::+,,..,+:::::,,,,,,,:+,....::::,,.,.***#:,,:,*#::+#:+*+########################*+.....:+:::     
*****::**********+::+*********+::+********+:::::+++++*+,,:::::::.,..,,,::,,,,,,,,:+++....:***+,.:..**,,,,,:*#,::::++*##############,#########+*.......*+:+.    
****:+,:++******+::::+********+,,+*********+,,:++++++**,,:,,,:*#,::::::,,,,,,,,:+++, ...++::+,,.,,,,.,,,**###::::+*#+###########+..+##########...... .**:+,    
++*#####+,:**+++****+::+***+:+***+,:*****+++*+:,*++++++,,:..,.*#*:,++:::::++++......,  :###*:,:....:,,,**##:#::*#############*.. .,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::+++++,,,......,,........... :.......:*#**##+:....:***##*##:#################,...##########........+##*:+:    
:+*####**+::,:+*********,,+**********:,+******++++,:***,,,,,,,........,,,:..,,:::::::,,,+**:,,:,+*##**#*#######################*###########+.......+##**++:    
*::*###*++++++::++++++:+++:,+******++++::+****+++:+::++:.......,::,.,.,,......,::,,,.,,+:,,:**##**#*#########################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++::++::::::::+++++++:.     ,,,,,,,,..,,,,::,,,,,,.:**+**#***####*#####################################*#####********+++.    
,.,,.,,,.....,::**####################************++::::**#*++:,,,,,,,,,,+#*,,,,,,,,+*****+*###############*####****######***###############***********+++     
,,,,,,:::+::,,+**+*#***#########**********************##**+:++::::,,,:*#**+++:,,,,:**#########################**#####################*##**************++*,     
#***#*##**######**+:+,.,:,:+**############################::**+::++**:::++++::::+**+++++*################################*##########*##########******+++*.     
####:+***#####**#***##*++*##*##############################+:+:,#*+:+++++:::::++++**##################**################**########*#############****+++*,      
####*****#####**:#######*+***###############################+*+**++*++++++++**################+*###*********************************++++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,:::::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*#########################################*++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,::::,..+*++++++++++++++++++++++++++********************************+::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::,,,,.,:,+***###***********###############***###################*..........*+::,          *       
      .,::,,,::#########+::++***+***********:,............,,,,::::.+####*****+++++:::::::::::::::+++****#######################,........ *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:,,:,,................,,:**##**++++::::,,......,,.,::::,:,,:::++++++****##################........ #+:+,          ,.    
+***#########*++::,,,::*+**+*****+,........,,,..    ....  .. .#*+*:+::::**+,......,,.,..*****,,,:*###*#*+++++++**#################:........*+:+,          ,,   
########**++:::,,,,:++***+***:..............,,....  ....   . :+:,,+*::,,,,...,+**#+....:*####*#*:,,,**+::++**++**#*#################........*+::,           :  
###*++++:::::,,,,:+:**+++,..,,........,,......,...    ..   .++:,:,,,,,::,....+********:.  .+*:...,,,+,:::::*##*:+*##################*........*+::,           : 
*+++::::::,,,,:::+**++++:::++:::,,,,....,,,,,,............ :++:::+::***+,. .:***#*+,     ,:.  .....:**#*:::*##**+*##*################:......  #+::.          .+
::::::++,,,,,:++**:,,,,,,..,,,,,,,....................  ..,*++::::+**##*+:. . ,+,                 .:###+,,,+##*****##**+#####*+**#####.........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,::,,,.........    ....    .,,:::*+:,.,++:.    .,.          .,++*,   :*##*:,,:*##*#**,:*#**#*****+***####..........*:+,.          
++*+.,,,::+**++*+:,,::++::::,*:,:,,:****+++,,,.......   ,:,,,,,,,.++:.      ..   .. .    ,***+. . +##*+:::+++**:,,+*+++##*****#########:......*#**::,          
+,,,,,:++**+***+::,,,,,,,,,.,,,,...,,,,,,,,,,,,,,,,.....,,....,,,.,...................  ,***,    :***##*+,,,,:,..:,+:++#**#############+.,########+:+,         
,,,,:++**:+****+++*+:,,,,,,.........,:++:::::::,:::,....,,,,,,.::,*::***++*****+,......,+***:::,,::,:**,,,,:+++:*:*++++*##############:.*#########*+:+,        
,,:****+++::*++*******+:,*::,,,,,,,..:::::+++++:,,+**+:,,.,,,,:::.::+:++++**+*****..,..:*****+.... ,+,.,.,:**#*,,+*:+#*###############,###########+*:+:.       
:***++++**+*,:***********,+*******+***,:++::,:::::,:+++,,,,,,:+:*,:,::,+:***+++*++....   :*,........,,,,,,+#+,,,+*+++*+##########################,..*::,.      
#*:***++++++++,:*******::*:,+*******+::::*+++++:,*:,:+:,,,,,,,:::,,,,::::+::::::,+.... ,:,   ...,****:,,+,*,,,:**::++#########################*+.....*::,      
++*::+++++*****+,:+**:+*****:,+***++****+::++++,:+**+:,,,,:::,::.,,,,:::+,,,,,,,:+....,:,,.....,*****,...**,,,+++::**#########################*+.....:+:::     
++***::**********+::+*********+::+********+:::::+++++*,,,:::::,:.,,,:::,,,,,,,,:*:...:****:.,,.+**:.,,,:#*:,,,,,::+*#+############+.#########+*.......*+:+.    
****:+,:++******+::::+********+,,:*********+,,:+++++*+,,,,..:****,,:::,,,,,:+++,....:*+:++.: ,,.,,,.,,*#,:*,,,:::+*############# ..+##########...... .**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++++,,,...:#**+*++++++*:   . ,. .,+*#*:,:.....,,,,*##**:.+:::*#############,....,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++:+,,,,,,.............,,...,,..:*##**#**,....:,**##*#::*:*####*############....##########........+##*:+:    
:+*####**+::,:+*********,,+**********:,+****++++++,:**:,,,......,,,,,,,.,::::::::,,,:**+,,,..+**##*#*####*#####################*###########+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+::+,:::,,..,.,,:,,,..,,,:::,,...++:,,+*###*#**###*########################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++++++::::::::++++++..,:*+,,,::,,,,,.:#+,,,,,,,:**++*##**##############################################*#####********+++.    
,.,,..,,.....,::**####################************++++:*++::::::,:::*###:::,,,,,:*#****####################*############*#***###############***********+++     
,,,,,,:::+::,,+**+*#***#########********+*************#*,**+:::+:*#**++++:,,,::*##############################**#####################*###*************++*,     
#***#*##**######**+:+,.,:,:++*###########################*****+:+::+**++:,:+++*++++**####################################*##########*##########******+++*.     
####:+***#####**#***##*++*##*#############################***#*+****+:::++*++**##################*####**##*#############**########*#############****+++*,      
####*****#####**:#######*+***###############################**:*++++++++##########**########***+##**********+*************************++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,.,,,,,:::::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*#########################################*++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,::::,..+#++++++++++++++++++++++++++********************************+::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::,,,,.,,,:*######**********################*###################**..........*+::,          *       
     ..,::,,,::#########+::++***+***********:,............,,,,::::,+####*******+++:::::::::::::::+++****#######################......... *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:,,:,,................,,,*#***:*+++:::,,....,,,..,,,,,:::::::::::::++**###################........ #+:+,          ,.    
+***#########*++::,,,::*+**+*****+,........,,,..    ....  .. .**++++,:+***:... ..,:..,.:****:,,,+*#####++++++++*#**###############.........*+:+,          ,,   
########**++:::,,,,:++***+***:..............,,....  ....   . ++:,:++:,,,,...,:*##+... ,*#######+,,,:**+::++*+++**#*################:........*+::,           :  
###*++++:::::,,,,:+:**+++,..,,........,,......,...    ....  ,:::::,:+**:,,.,***###*#*:....+#+,....,+:,,:::+*#*+++*##################:........*+::,           : 
*+++::::::,,,,:::+**++**:::++::,,,,.....,,,,,,............ :++:::::**#*+:,.,++***+.     ,:,   . ..,**#*,,,:##*+::*###################.......  #+::.          .+
::::::++,,,,,:++**:,,,,,,..,,,,,,,....................  ..,,+++::+**###*,.   ,+,           .      :##**.,,:##*+:+*###***####*****####*.........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,::,...........    ....    ..,,:::+:,.:*+.    ..            ,++*,  ..*###:.:,+#####++:+*#+#******+*+*####..........*:+,.          
++*+.,,,::+**++*+:,::::::::::*,,,,:*****+++,,,.......   ,,::,,::::+,.  ..  ..   ......  :**+:.  .:###+.,::***#+:,:+*:+*#****+*#########.......*#**::,          
+,,,,,:++**+***:::,,,,,,,,..,,,,...,,,,,,,,,,,,,,,,...  ,,.,,,,...,... .............,  :+**,   .:***###*:,.,++,.,,.:::*#**#############,..########+:+,         
,,,,:++**:+****+++++,,,,,,,......,,.:+++:::::::,:::,....,,,,,,.,::*,:*#*#**##**,......,***+:,,,,+:::#*:..,,:+:::*,*:::*###############,.*##########+:+,        
,,:****+++::*++*******+::*::,,,,,,,.,:::::+++++:,,+**+:,,.,,,,,:,.,+::::*:**++***....,******+..,  .+,....,*##*+,,*+::#*###############,###########:*:+:.       
:***++++**+*,:***********,+***********,:++::,::::::::+:,,.,,,,:::,,,:::++:++*+++* ..   .*+,. .... ......,+*#,,,.**+:+#*##########################,..*::,.      
#*:***++++++++,:*******::*:,+*******+::::++++++:,*:,:+,,,,,,,::::.,,::::::,,,,,,+ ... ::..   ,..****,.,:+*,,.,:**,::+#+#######################*+.....*::,      
++*::+++++*****+,:+**:+*****:,+***++****+::++++::+**+:,,,,::,,::.,,,,+:+,,,,,,,:+... ::,,.... ,****+:,,.+:,,,:+*,::++#*#######################*+.....:+:::     
++***::**********+::+*********:::+********+:::::++++++,,,,::,,,:.::,:::,,,,,,:++...,*****, ,.,***:,,,,+#+:,,,,,+::++#*############:.#########+*.......*+:+.    
****:+,:++******+::::+********+,,:*********+,,:+++++++,,,...:###*,::,,,,,:+++:..,. +*::+,.:.,,,,.,,,:##,,*,,,,::::###+#########* ..:##########...... .**:+,    
*+**####+,:**+++****+::+***+:+***+,:*****+++*+,,*+++*:,,,...+#****+:,+*:.. . .,...:**#*:,:.....,.,:###***,*::,,*#############.....,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++:+,,,,,,......, ...,,.....,,,:*###*#**....,,+*####*:++::*####**###########....##########, ......+##*:+:    
:**####**+::,:+*********,,+**********:,+****++++++,:*+,,,,....,,::,,,,,::::::::,,.,:**:,.:,,**##**#*###+*##*###################*###########+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+::+..... .,,,,,,,,,,,,::,,,,,,,++,,,+**####*####*#########################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++++++::::::::++++++****+:::,,:,,,.:**,,,,,,.,+*#*+*#######*###########################################*#####********+++.    
,.,,..,,.....,::**####################************++::+++:::::::,:+*##*+::,,,,:+##****###*################**###*##########***###############***********+++     
,,,,,,:::+::,,+**+*#***#########********+**************#:*++++++##*:++++:::,:+########################*##############################*###*************++*,     
#***#*##**######**+:+,.,:,:++*###########################:+:**+:+++++*+:::++++++++**#####################################*##########*##########******+++*.     
####:+***#####**#***##*++*################################***+****+++++++++*####################*#####**################**########*#############****+++*,      
####*****#####**:#######*+***##############################***:*++++****#########**###########**##**********+*************************++++++++:::::::::,.      
::,,::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,:::::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*#########################################*++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,:,::,, :**+++++++++++++++++++++++++++++****************************+::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,,*#*####**********####################################**..........*+::,          *       
      .,::,,,::#########+::++***+***********:,............,,,,::::,:####*******++::::::::::::::::+++****#######################......... *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:,,:,,................,,:**#++:**++::,,,,,......,,,,,,,,,::::::::::++**##################*........ #+:+,          ,.    
+***#########*++::,,,::*+**+*****+,........,,,..    ....  ....++:+++:+****,....,,:,.,.,**#*+.,,:*###*#*+:::++++*#**###############.........*+:+,          ,,   
########**++:::,,,,:++***+***:..............,,....  ....   ..:+:,,::,,,,...,:*##*,...,+##*##*#+,,.,+*+::::+*+:+*****###############:........*+::,           :  
###*++++:::::,,,,:+:**+++,..,,........,,,,....,...    ....  ,:::::::+**:...+*#***##*:. . +#*,....,++,,,::,+##*:+***#*###############,........*+::,           : 
*+++::::::,,,,:::+**++**::::::,,,,,.....,,,,,,...........  :++::+::****:,,,+:+++:,.    ,+:.   ,...****+,,,*##*::+*###+###############,......  #+::.          .+
::::::++,,,,,:++**:,,,,,...,,,,,,,....................  ..,::++++**####:    ,+,       .         . **#*,.,,*##*:+**####**####*****####*.........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,::,,..........    ....    ..,,,::+:.,**,     ..           ,+++,.  .,***:.,,:*####*::+++**#******+*+*####..........*:+,.          
++*+.,,,::+**+++::,,::++::,:*+:,.,+*****+++,,,.......   .,,,,,::.+:,,.      . ......   :*+*:  ..,::**,.,,***##+,,,:#:+##******#########.......*#**::,          
+,,,,,:++**+**+::,,,,,..,...,,.....,,,,,,,,,,,,,,,,.....,,.,..,,,,.................. .:**+,    :***+***:,,,:*+,,:.,+::+***#############,..########+:+,         
,,,,:++**:+****+:+*+,,,,,,......,,.,++++:::::::,:::,....,.,,,,,.,:*::****+*#**,......+***+,,,.:++:+**+....,+:::+::+::+*+##############..*##########+:+,        
,,:****+++::*++*******+:,*:,,,,,,,.,,:::::+++++:,,+**+:,,.,,,,,::,,:,::+++******...,,******+. .. ,+:....,+##**:.:*:::#**##############,###########+*:+:.       
:***++++**+*,:***********,+***********,:++::,:::::::+++.,.,,,,:::::,::+*:+++++++.. .  ,++,  ... .   ....:*#+:,,,#+:::#**#########################,..*::,.      
#*:***++++++++,:*******::*:,+*******+::::++++++:,*:,:+,,,,,,,,+::,,,+::+::,,,,:: ., .::.   ., .++**,.,,+++,,,,##:,+::#########################*+.....*::,      
++*::+++++*****+,:+**:+*****:,+***++****+::++++::+**+:,,::::,,,:,,::,++:,,,,,,,+..,.:,,,......*#**:+,..,,,,,.*+,,:+:+#:#######################*+.....:+:::     
++***::**********+::+*********:::+********+:::::++++**,,:,:::,:+::::::,,,,,,:++,..:+**#+..,.:***:.,,,+#+,.,,,,*:::*+##############,.#########+*.......*+:+.    
++**:+,:++******+::::+********+,,:*********+,,:+++++++,,...,:**#:,+:,,,,:+++:.....**::+,.,..,,,.,.,:*#,,,,,,,,,,::###+#########* ..:##########........**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,*++++:,,....**#*++::++,.... ,,..,:*#**,.+.,.,...,,*#**#*,+.,,,+*#############.....,########## ...... *#*:+:    
***#####**+::+*********::+++*******+::+++***++++::++::,,,,,,..,,...,..:,,,,,,,,,:*#**##*+.,.,.,+*####*,*:,:+####****##########....##########, ......+##*:+:    
:**####**+::,:+*********:,+**********:,+****++++++,:*+,,....,,:+,,,,.,,:::::::,,,.:**+,.+.,+**#**#**##:+######################**###########+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+:::,....,,,,::,,..,,,,:::,,,,,*+.,:+###*##################################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++::++::::::::++++++**++::::,::,:,.**:,,,,,,,:****#*#####*##*################*#########################*#####********+++.    
,.,,..,,.....,::**####################************++:::+++::::::,+###*:+:,,,,,+##****###*#*###############+####*##########***###############***********+++     
,,,,,,:::+::,,+**+*#***#########********++*************#+**++++#*++++*+:,,::+*##*#####################*#######****###################*###*************++*,     
#***#*##**######**+:+,.,:,:++*###########################:::**+:++***+::+++*++++***###############*######################*##########*#########*******+++*.     
####:+***#####**#***##*++*################################**#*+***+:+++++++*####################*#####**################**########*#############****+++*,      
####*****#####**:#######*+***##############################**+**++++**###########*############*+###*********+*************************++++++++:::::::::,.      
::::::,::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,:::::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,.:.                ,:,,,:::+*##**#############################################*##**########*#########################################*++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,:,::,..:**+++++++++++++++++++++++++++++****************************+::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,,*#***##**********################*###################**..........*+::,          *       
     ..,::,,,::#########+::++***+***********:,............,,,,::::.:####*******+++:::::::::::::::+++****#######################,........ *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:,,:,,................,.,****:++++:::,,,,,.,,.....,:,,,,,::::::::::++**##################*........ #+:+,          ,.    
+***#########*++::,,,::****+*****+,........,,,..    ....  ....,*:+*+*****:..,..,:,,,..+**#*,.,,:#####**:::::::*****###############.........*+:+,          ,,   
########**++:::,,,,:++***+***:,.............,,....  ....   . :+:::::,,,,,..,*##*:..,.+*##*###*,,.,:**+,:::+++::*#***###############:........*+::,           :  
###*++++:::::,,,,:+:**+++,.,,,,.....,,,,,,....,...    ....  ,:::+::+**+,.,,*#***##*+....:**+,...,,*,..,:::*#*+:+***#################,........*+::,           : 
*+++::::::,,,,:::+**++**:::::,,,,,......,,,,,,............ ,*++++:+*#**++:::++++,.    .:,.    .,.+***+,,,:*##+::+*###*###############.......  #+::.          .+
::::::++,,,,,:++**:,,,,,...,,,,,,.....................  . ,*:++:+**##*+, . .:,       ..          :**#+..,:*##+::+*####+*####**+**####*.........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,:,,,..........    ....     .,,.,,*+.+*,.    .,.          ,*+*:   .,:+*+,.,,*#####*,,*++**#******+*+*####..........*:+,.          
++*+.,,,::+**+++::,,:::::::+*+,,,,+*****+++,,,.......   .,.,,,::*,...,.   ..  ... .   :***+   .:++:+,.,,:*#*##+,,,,*:+*******##########.......*#**::,          
+,,,,,:++**+**+::,,,,,..,...,,....,,,,,,,,,,,,,,,,,..  .,,.,,,.,..,....,........... .:***,    ,****+***,,,,+*:.,:,::::+*############### ..########+:+,         
,,,,:++**:+****+:+++:,,,,,......,.,:++++:::::::,:::,....,,,,,....:*::*++***#*+..... +***:,...,++++**:,,...+:,,:*,+,::++*##############. *##########+:+,        
,,:****+++::*++*******+:,*:,,,,,,,.,,:::::+++++:,,+**+:,,.,,,,,:::,:,::+*+*****. .,,+***+*+,    .++.....:*#*:+,.*+::****##############,###########+*:+:.       
:***++++**+*,:***********,+*****+****+,:++::,:::::::+++.,.,,,,::+:::::+::+++::+...    ++,.  ..      .,.,***:,,,+*:::+#*+#########################,..*::,.      
#*:***++++++++,:*******::*:,+*******+::::++++++:,*:,:+,,,,,:,,:::.,,::+:::,,,,:..,  ::..  ... +++*:, ,:+*.,,,,**,,:::**#######################*+.....*::,      
++*::+++++*****+,:+**:+*****:,+***++****+::++++::+***:,,:::::,::,,,,,+::,,,,,,:.,,.,:,,......***+:::.,,.,,,,*++,:::++#########################*+.....:+:::     
++***::**********+::+*********:::+********+:::::++++**,,,,:::,:*+,+:,,,,,,,,:+,..,+****,.,.:****,..,+*+,,,,,,+*::::+##*###########,.#########+*.......*+:+.    
++**:+,:++******+::::+********+,,:*********+,,:+++++*+,,...:+*##*++:,,::+++:.....**+:+,.:,...,....,##,,.,,,,,,,,:+###*#########* ..:##########...... .**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,++++*:,.,,..++..,,+++,...  ,,...*****,.:.....,,,,##******,:,,:**#############.....,########## ...... *#*:+:    
****####**+::+*********::+++*******+::+++***++++::+++:,,,,,,...,,,, ,,,.,,,,..,+***#*#**.....::*###*#,*::::*####****##########....##########, ......+##*:+:    
:+**###**+::,:+*********:,+**********:,+****++++++::++..,,:::::,,,,,::::++++:,,,.:*#+,.,..**###**####::###**##################**###########+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+****+++:+:::,.,,:,::,,,,,.,,,::::,,,,:*+:.:+**####*####*###########################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++::++::::::::++++++*++:::::,,,:,:**::,,,,,.:***+*#*####****###########*#####*#########################*#####********+++.    
,.,,..,,.....,::**####################************++:+:+++++::::*###*++:,,,,,+#*#**###**#*#*##############+####*##########***###############***********+++     
,,,,,,:::+::,,+**+*#***#########********++*************#+*+++*#*::++*++:::++####**###################*+#######**#####################*###*************++*,     
#***#*##**######**+:+,.,:,:++*###########################++*++++****+:::+++++++***################*######################*##########*#########*******+++*.     
####:+***#####**#***##*++*################################**+****++++++++*############################**################**########*#############****+++*,      
####*****#####**:#######*+***##############################**:**++**##########**#*##########***+###*********+*************************++++++++:::::::::,.      
::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,:::::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**########*#########################################*++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,:,::,..:**+++++++++++++++++++++++++++++****************************+::,          +        
          .,,,,:****############***+******#*******:,,,,,,,::::::,,.,,,:+#*###***********###############**####################*..........*+::,          *       
      .,::,,,::#########+::++***+***********:,............,,,,::::.:*###*******+++:::::::::::::::+++****#######################,........ *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:,,,,,................,,::#+*+*+:+:::,,,,,.,,,,....,,,,,,:,,,::::::++*###################*........ #+:+,          ,.    
+***#########*++::,,,::****+*****+,........,,,..    ....  .. ..**+++*****:.....,:,...,*##*+,,.,*###***+:::::::+*#**###############.........*+:+,          ,,   
########**++:::,,,,:++***+***:,.............,,....  ....   ...+::::::,,,..,:*##*,...,+*#**###*,,,:+**::::+*:::+***#################+........*+::,           :  
###*++++:::::,,,,:+:**+++,,,,,,.....,,,,,,....,...    ....   *::+++***:,.,+*######*,....*#*,.....::,,,,,,:*#+::++*##################+........*+::,           : 
*+++::::::,,,,:::+**++**:::::,,,,,......,,,,,,..............*+++:+*##**+::++:+*:      ::.     ..,****:,,.+#**+::+*###*###############.......  #+::.          .+
::::::++,,,,,:++**:,,,,,...,,,,,......................   .+*+++:+*##**:.   ,:.       ,          ,++**,.,.*##*:::*###*#*#####**++*####*.........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,,,,,..........    ....    ..,,.,,+,:*:... ...           .+**+.   .::+*:...:*#####*:,**++#*****+++*+*####..........*:+,.          
++*+.,,,::+**+++::,,:::::::+++,,.:+*****+++,,,.......   .,,,.,,:,,...    ... .... .  :****,   .++++....,*#*##*:.,,:*++++*****##########.......*#**::,          
+,,,,,:++**+**+::,,,..,,,..,......,,,,,,,,,,,,,,,,,..   ,,.,,,,.,.,...............  ,***:.  ..+***+:+*:.,.,**: :,,+::::################...########+:+,         
,,,,:++**:+****+:+++:,,,,......,..,:++++:::::::,:::,....,,,,,,....::,+++**+#*....  ,***+,....:+**+**,.....+::,:+,*:::++###############, *##########+:+,        
,,:****+++::*++*******+:,*:,,,,,,.,:,:::::+++++:,,+**+:,,.,,,,,+::,+::++******:.,,.+*****+,.   .:+,  ..,*##*,+..*+::***###############,###########+*:+:.       
:***++++**+*,:***********,+*********++,:++::,:::::::+++,,.,,,,:++:::::**:::::::...   +*:.  ......  ....+***,,,.**:::****#########################,..*::,.      
#*:***++++++++,:*******::*:,+*******+::::++++++:,*:,:+,,,,,:::::+..,+:*::,,,,::..  ,:,   ... :++*:,.,.+#,,,.,+*+,:::+**+######################*+.....*::,      
++*::+++++*****+,:+**:+*****:,+***++****+::++++::+**+:,,:::::,,,,.,.::,,,,,,,:....::,,......+***+,:,.,,:,,.,++,,,:::*#########################**.....:+:::     
++***::**********+::+*********:::+********+:::::++++++,,,.:,,,,+*++:,,,,,,,,:+..,:****:..:,****,..,,*#.:,,,,+*,::::+##+###########,.#########+*.......*+:+.    
++**:+,:++******+::::+********+,,:*********+,,:+++++++,,,..,:**#*++:,,::++:. ...+**:::.,,...,:..,,*#,,,:,,,,,,,::+#############* ..:##########...... .**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,+++++:,,,....... ,+:,..., ::...:*##+,.,,....:..,**#+****,,,:,:**####*########.....,########## ...... *#*:+:    
****####**+::+*********::+++*******+::+++***++++::++:,,,,,,,,,.,::.,:,,,,,,,,,:*###*#**,...,+,*#####:+:,:::*####****##########....##########, ......+##*:+:    
:+*####**+::,:+*********:,+**********:,+****++++++::*+++:++:,,,,,,,,,::+:::::,.,:**+,,,,.:**##**#*##*:#########################*###########+.......+##**++:    
*+:*###*++++++::++++++:++*:,+******++++::+******+:+::::,::::::,,,,,,::,:::,,.,,++:,,+*##########*############################################*:. .*####*:+,    
****++****++++++::::++++++++::++::++::++::::::::++++++*++::::::,:,:*#+,,,,,,,,*****#######*****################*#########################*#####********+++.    
,.,,.,,,.....,::**####################************++:++*++++:::+*##*+++:,,,,+*#****###***#**##############+####*##########***###############***********+++     
,,,,,,:::+::,,+**+*#***#########********+*************#*+*+++**+:+++++::+:+*###**####################**#######****###################*###*************++*,     
#***#*##**######**+:+,.,:,::+*###########################+:*++++****+:++:+*+++***#################*######################*##########*#########*******+++*.     
####:+***#####**#***##*++*#################################**+***+++++++**######################*#####***###############**########*#############****+++*,      
####*****#####**:#######*+***##############################**:*******#########****##########****###*********+*************************++++++++:::::::::,.      
::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,:::::::::+,::        
,,,,,,,,::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$..:.                ,:,,,:::+*##**#############################################*##**###***##*########################################**++:,          +    .    
                ..,:,:+***##################****************::,,,,,,,::::,..,**+++++++++++++++++++++++++++++****************************:::,          +        
          .,,,,:****############***+******#******+:,,,,,,,::::::,,.,,,::#*###***********###############***###################*........,.*+:+,          *       
      .,::,,,::#########+::++***+***********:,............,,,,::::,,*###*******+++::::::::::::::++++****#######################,........ *+::,          :.     
,,:::+*#*#########*+,:::+*+**+********+:,,:,,................,::,#*+**+++:::,,,,,.,,,......,,,,:,,,,:::::++**####################........ #*:+,          ,.    
+***#########*++::,,,::*+**+*****+,........,,,..    ....  .... **++***+++,....,:,,,..:**#*:,,,,**##**+::,:::::+*#**###############.........*+:+,          ,,   
########*+++:::,,,,:++***+***:,.............,,....  ....   .  +:::::::,,..,+*#*:....:*#*#*##*+,,,:*#+:,:::::::+******##############+........*+::,           :  
###*++++:::::,,,,:+:**+++,,,,,,.....,,,,,,....,...  ......   *+++++*#*:.,:***##*##*,.. ,*#*,....,++,,,,,,+*#+::+*+###+##############+........*+::,           : 
*+++::::::,,,,:::+**++++::,:,,,,,.......,,,,,,..............*+++++*##*++,+*++*+,      ++      ..++***,,.,+##*:,:+*###**##############.......  #+::.          .+
::::::++,,,,,:++*+:,,,,,,..,,,........................  ...+*+++**###+... .:,.    . ..         .:+:+:.,.:*##*,,:*#####**####**++*####*.........*+::.          .
::+++*,,,,::++*+,,,,,,,,,,,,,,,,,...........    ....     .,,,,,+,+*,...  ..     .    .+***,    ,++:,,.,.+**####*,,+#::+*****+++*+*####:.........*:::.          
++*+.,,,::+**++++:,:::::::+++:,.,++*****+++,,,.......    ,.,..,,,. ... ...  ...     .+***, .  :*++:.  .,*####*:,,,::**+#****+*#########.......*##*+:,          
+,,,,,:++**+**::,,,.......,,......,,,,,,,,,,,,,,,,,..   ,,.,,,:...,,.............. .+*#*,   .:*****++:,.,,:**:,,,+*:::+*+*#############...########+:+,         
,,,,:+***:+****+:+++:,,,......,,..,:++++:::::::,:::,.   ,,,,,,,...,+,+:+***#+... ..++**:.  .+******+..,..:+:,,::,+:,::+*+#############..*##########+:+,        
,,:****+++::*++*******+::*::,,,,,.::,:::::+++++:,,+**+::,,,,,,,,::::,:++****+*.. ,:******:. .  ,+:.....:*#*+:+,,*:::*++*+#############,###########+*:+:.       
:***++++**+*,:***********,+***********,:++::,:::::::+++.,.,,,,,++:.,::++::++::...  .,+*,   .,. ..   ..,*#**,.,,#+:::**+##########################,..*::,.      
#*++**++++++++,:*******::*:,+*******+::::++++++:,*:,:++,,,,:,,,::,.:+,+:,,,,,:... ,+,..  ,. ,+++:,..,,*#,..,,**+,+::+*+########################+.... *::,      
+**::+++++*****+,:+**:+*****:,+***++****+::++++::+***:,,:::::,,:,,,,::,,,,,,,:.. ,:...  ...,****,::,,,,,,..:++,,,+::*##+############:#########**.... :+:::     
++***::**********+::+*********:::+********+:::::++++++,,,.,,:,,+**++:,,,,,,::...:****:..:,****+....*#,..,.,,**,::+:+*#############..#########+*.......*+:+.    
++**:+,:++******+::::+********+,,:*********+,,:+++++**,,...::*##*++:::++*+...,.,**:++,,:..,,:,,.,+#+,,.,,,,,:,,,:+*###+########,...:##########...... .**:+,    
++**####+,:**+++****+::+***+:+***+,:*****+++*+,,++++++,,..,,.....,*:,... ,,...,****:,,:,...,.,,+*#.+***:,,,,,:+*#############:....,########## ...... *#*:+:    
****####**+::+*********::+++*******+::+++***++*+::++:+,,,,,,,,,,:.::,,,,,,,:,:+*#####*+...,.,+*####*++,,::***###****##########,...##########, ......+##*:+:    
:+**###**+::,:+*********:,+**********:,+******++++::+*++++:,,,.,,,,,,::+++:,,,,,+**:,.:.,+*****#*###:*#**######################*###########+.......+##**++:    
*+:*###*++++++::++++++:+++:,+******++++::+******+:+:,:,:+:::::::,,,,,::::,,,,,:*:,,:*###*######*#############################################*:. .*####*:+,    
**#*++****++++++::::++++++++::++::++::++::::::::++++++++++::::::::+#*::,,,,,,+##***#####*******##########################################*#####********+++.    
,.,,.........,::**####################************++::++*+++:++*###*++::,,::*##**#####**#**###############################***###############***********+++     
,,,,,,:::+::,,+**+*#***#########********+*************##+***+*++++**+::::+**###*#####################**#######****###################*###*************++*,     
#***#*##**######**+:+,.,:,:+**###########################*+*:++***+++::+*+++++**##################*######################*##########*#########*******+++*.     
####++***#####**#***##*++*#################################++:***+++**+**#######################*#####**################**########*#############****+++*,      
####*****#####**:#######*+***###############################*:+**####*##########*###########****###******+++++************************++++++++:::::::::,.      
::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,:::::::::+,::        
,,,,,,::::::::::,,::::,,,,,,,,,,............                                                                                                                   
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                                                               
                                                                                                                .                                              
$,,,,,,,,,,..,.***+,,,..............................................................................................................................,....,......
..............**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.***+,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.,,..,
............,.**++,.,...,,,,................,,,,,,,,....,,,,....,,,,,,,,,,..,,,,,,.................................................................,....,:++*:*
..............***+,.,...,,,,......................................................................................................................,::**+::***:+
............,.**++,.,...,,,,....................,,,,............................,,,,..........................................................+++:+:++:::**,,:*
..............**++,.....,,,,................................................................................................................,.,:,++:*:.+:*+..:*
..............**++,.....,,,,..............................................................................................................,,..+..*+:*:.+:*+.,:+
..............**++,.....,,,,..........................................................................................................,.####+.+..,+:+,.+:*+.,++
..............**+:.,....,,,,..........................................,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:...,*****,+,:,::*,,+:******
..............**+:.,..,,,,,,............,,++************************++++**+++**+****************++**+#######################*******:.,.,##*+,****+:+*:,+:*###*#
..............**+:,....,,,,,,,..........,,++:*+************************+******++*****************++:*#####################********+::,,:*#*#*++*+::+**:+:***#*#
,,,,,,,,,,,,..**++.,...,,,,,,,..........,,+++*+***********************++***********************+*++*+*####################********+:,:::,###**++*+:++,:+:*:****
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***####################*******++::::,#*####**:+:+*,,+,+:##**
::,,,,,,,,,,,,**+:.,,,,,...,,,......,,,,,,+*********+*********:,,,:+###+**************************+*+#*#################********+++::::*######+*+*::::::*+:::::
:::,,,:,,,,,.,**+:.,,,,,....,....,,,,,..,,+*********+*********:,:::+###+**********,,,,,..,::::++++:**#*#################********++*::,,#######:*:+:+*+++:*##***
::::::::::::::**+:,,,,+#****************+++*********+*****+++*::++.+###+**************+*+:*:::++++********++++++::,,,+#*******+***+++:+#######*::*:+*:++:*###**
++++++++++++:+**+::+*,*+++::::::::::::::::+*******++:****+::::+,::::*##+*****::,::****+**::::+++++++++++++++::++++++*#:+:*+++++:::++:+*#####*#*:,+,+*:++:*###*#
,,......,,::::++::::*,#:::++++++++++::::::::::::+:::,,:::::::::+:::+++++******++*:::**++::::++++++++++++++++++++++:+**:::+**::***+:*,+####*###+  +:+*:*++*##***
..................,.............,.................,:...,,,,,,,......+*+:+*++**++:,,,,,::::::+++++**+++++++++++++++++++++::++*:***+++***#######+..*:+*:++:******
..................,.............,.......,,...,...,:.,,,,..,,,,..,,...++:+++++++++**+:,,,,,,,,,,,,,,,,:::,,::::::++:::::::::*::***++*****######*:.*:+*#++:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,::::::++::::::::,,,...........,::,,,,.....,,,,,,,,,,,,,,,,.++******+:+*:###**+,*:+*#++:++:++#
,,....,........,,.,...........,..........*.,......:,....+.......++++++::::::::::::,,...,,.....,...,,.,:+::,:,:::,,,,,,,,,,:*::+:+**++***######*:,+:*+#++::::++#
,,............................,..........:........:,....+......,:+++::++::::::::+#,::::,........,,,,,:::::,:+::::::::+++++*++*+****+*****#####*+,*:*#*++:+:::+#
..,...,,,,....................,..........:,.......:,...,:,....,,::::++++::::::::+#:::,::::::::::::::::::::::::::++++++::::++*+**#*++:+#**####**+:*:**:++::::::#
.......,,,,,..................,..........:,.......:,...,+:...,::::::::+++:::::::*#+,,:**********##################**************####**+**####**+:+,**+++++::++*
+,,.....,,,,...................,........,,:........+...,,+....:+:+++:+++++::::+*##::++*#####***#####################*#######****#####*+***###**+:*:**:+++:::++*
:::,...,,,,...............................:,.......,,...,,+,,,,.++**********##**#*+:::*#*++****####################***##****#*++#####***++##***+:*:*+++:::::++*
:::,...................................,...:......,..:.....::....,,,,,,,,,,,,,,:#::::+++++**+***#*############*****++**********#*#::,:++:::#+**++*:**++:::::++*
,:::..................................................,,...::,..:.::::::::++++++#########++++++:,:::::,,::,,,,,,,,,,::,,##########,,,,,:*###***+**+*++::::::++*
..+:+:.,,.............,..............,........::.....,.,,.,,.:*,,,,,,,,,,,,,,,,,,,::::::++::++++++++****#########################*************####*#**:::+++++*
...:+++:...............................,.......,,...+:.,:,,+:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++*****+++++***
......,,,..........................,......+**,.::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++
......:++,.......,..,,..........:***,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,:,::,,,,,,..,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,.,++++:,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
..............**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.***+,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.,...,,,,................,,,,,,,,....,,,,....,,,,,,,,,,....,,,,.................................................................,...,,:++*:+
..............***+,.,...,,,,................................................,,.....................................................................,:*++::***:*
..............**++,.,...,,,,....................,,,,............................,,,,..........................................................+++:+:++:::*+,,:*
..............**++,.....,,,,................................................................................................................,.:::++:*:.+:*+..:*
..............**++,.....,,,,..............................................................................................................,,..+,.*+:+,.+:*+.,:+
..............**++,.....,,,,............................................................................................................*###*.+,.,+:+,.+:*+.,++
..............**+:.,....,,,,..........................................,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:...:*****.+,,,::*,,+:**#***
..............**+:.,..,,,,,,............,,++************************++++**+++**+****************++**+#######################*******:.,.,##*+:****+:+*,,+:**##*#
..............**+:,....,,,,,,,..........,,++:*+************************+******++*****************+::*#####################********+::,,,*#*#*++*++:++:*+:***#*#
,,,,..,,,,,,..**++.,...,,,,,,,..........,,+++*+***********************++***********************+*++*+*####################********+:,:::.###***+*+:+*,:+:*+****
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***####################*******++::++,**####**:*:+*,,+,+:##**
::,,,,,,,,,,,,**+:.,,,,,...,,,......,,,,,,+*********+*********:,,,:+###+**************************+*+#*###################******+++::::*######+*:*::::::*+,:::,
:::,,,:,,,,,,,**+:.,,,,,....,....,,,,,..,,+*********+*********+:,::+###+**********::::,..:++++++++:+*#*#######**########******+++++:::,#######:*:+:+*+++:*##***
::::::::::::::**+:,,,,+#****************+++*********+*****+++*::+:.+###+**************+*::+,::++++******++++++++::,,,+****+++++***+++,+#######*::*:+*:++:**##**
::::++++++++::**+::+*,*+++::::::::::::::::+*******++:*****::::+,::::*##+*****::,::****+**::::++++++++++++++++++++++++#:+:*::+++:++++++*#####*#*:.+,+*:++:*###*#
,,......,,::::++::::+,#:::++++++++++::::::::::::+:::,,:::::::::+,::+++++******++*:::***+::::++++++++++++++++++++++:+**::+*++::***+:+:+####*###+  +:+*:+++*##***
..................,.............,.................,:...,,,,,,,......+*+:+*++**++:,,,.,::::::++++++*++++++++++++++++++++:::::*+**++++***#######+..*:+*+++:******
..................,.............,.......,,...,...,:.,,,,..,,,...,,...++:+++++++++**+:,,,,,,,,,,,,,,,,,::,,::::::++::::::::,++:***++**#***#####*:.*:+*#++:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,::::::++::::::::,,,...........,::,,,,.....,,,,,,,,,:,,,,,,.++******+++*:###**+,*:+*#++:++::*#
,,..............,.,...........,..........*,.......:,....+.......++++++:::::::::::,,,,,..,,....,,...,,,:+::,:,:::,,,,,,,,,,,*,,+++**++***######*:,+:**#++::::++#
,,............................,..........:........:,....+,.....,:+++::++:::::::::#,::::,........,,,,,,,:::::+:::::::::++++++**:****+*****#####*+,*:***++:+:::+#
......,,,,,...................,..........:,.......:,...,:,....,,:::::+++::::::::+#:::,::::::::::::::::::::::::::++++++::::++*:**#*++:+#**####**+:*:**:++::::::#
.......,,,,,..................,..........:,.......::...,+:....::::::::+++:::::::*#+,::**********#################***************####**+**####**+:+,**+++++::++*
+,,....,,,,,...................,.........,:........+...,.+....:::+++:+++:+:::++*##::+**#####***####################**#######****#####*+***###**+:*:**:+++:::++*
:::,...,,,,...............................+,.......,,...,,+,,,,.++++*********#**#*::::****+****####################***********+*#####*****##***+:*:*+++:::::++*
::::...................................,...:......,. :....,::,....,,,,,,,,,,,,,+#:::::++++++++******##########******+*******+**#*#:::::::::#***++*:**++:::::++*
,:::,.................................................,,...:,:..:.::::::::+++++*#########++++++:::::::::::::,,,,,,::::::##########,,,,,+####***+**+**+::::::++*
..+:+:,,,.............,..............,........::.. ..,.,,,.:,+*,,,,,,,,,,,,,,,,,,,::::::++::++++++******##########################************######*+:::+++++*
...:+++:...............................,.......,,..,++.,+,,+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++***+++++***
......,,,.................................+**,,:+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
......:++,.......,..,:..........:***.,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,,,::,,,,,,,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,.,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
..............***+,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
..............***+,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,....,,
..............**++,.,...,,,,................,,,,,,,,....,,,,....,,,,,,,,,,....,,,,.................................................................,...,,:++*:+
..............***+,.,...,,,,................................................,,.....................................................................,:**+::***:*
............,.**++,.,...,,,,....................,,,,............................,,,,..........................................................++::+:++:::*+,,:*
..............**++,.....,,,,................................................................................................................,.,:,++:*:.+:*+.,:+
..............**++,.....,,,,..............................................................................................................,...+,.*+:*:.+:*+.,++
..............**++,.....,,,,..........................................................................................................,.+####.+,.,+:+,.+:*+..+:
..............**+:.,....,,,,......................................,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..,.**++*.+::,::*,,+:**#*+*
..............**+:.,..,,,,,,..............++************************++++**+++*++****************++**+#######################*******:.,,.###++****+:+*,,+:*###*#
..............**+:,....,,,,,,,..........,,+++*+************************+******++*****************++:*#####################********+::,,:+*##*+++++:+*+,+:*****#
,,,,....,,,,..**++.,...,,,,,,,..........,,+++*+***********************++***********************+*++***####################********+:,:::,###**++*+:+*,,+:*:****
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***####################*******++::++,**####**:*:+*,,+,+:##**
::,,,,,,,,,,,.**+:.,,,,,...,,,......,,,,,,+*********+*********:,,,:+###+**************************+*+#*###################******+++::::*######+#+*,,::::*+,::::
::,,,,:,,,,,,,**+:.,,,,,....,....,,,,,....+*********+*********:,,,,+###+**************:. :********+**#*#################******++++*:,:,#######:*:*:+*+++:**##**
::::::::::::::**+:,,,,+#****************+++*********+*****+:**:+*+.+###+**************+**,*:::++++++++++++++++++::,,:+****++++++**+++:+#####*#*::*:+*,:+:*###**
::::++++++++::**+::+*,*+++::::::::::::::::+*******++:****#*::++,::::###+*****::,,:******#::::++++++++++++++++++++++++#:+:*::::++++++++*#####*#*:.+,+*:++:**##*#
,,........,,::++:::++,#:++++++++++++::::::::::::::::,,::::::+::+::+:++*+****++**+:::***+:::,++++++++++++++++++++++:+**::+*++::***+:+++########+  +:+*:+++*##***
..................,.............,.................,:...,,,,,,,......+*+:+*++++++:,,..,::::,:+++++++++++++++++++++++++++:::+:*+****++**#*######+..*:+*:++:******
..................,.............,.......,,...,...,:.,,,,....,...,,...++:++++++++*+*::,,,,,,,,,,,,,,,,:,,,,:::,::+:::::::::,++,****+**#***#####*:.*:+*#*+:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,:::+:+++::::::::,,,...........,::,,,,.....,,,,,,.,,:,,,,,,,+********+**+###**+,*:+*#++:++::*#
,,..............,.,...........,..........+,.......:,..,.+.......++++++:::::::::::,,,..,,,,,,,,,....,,,:++::::::,,,,,:,,,,,::,,:++*++****######*:,*:**#++::::++#
,,............................,..........:........:,....+......,:+++::++:::::::::#::::::,,,,,,,,,,,,,,,,,:::+:::::::::::++++******++*****#####*+,*:***++:+:::+#
......,,,,,...................,..........:,.......:,...,:,....,,:::::+++::::::::+#::::::::::::::::::::::::::::::::::++::::++++**#*++++#**####**+:*:+*+++::::::#
.......,,,,,..................,..........:,.......:,...,+:....::::::::+++:::::::##:,:+*********######################***********####**++*####+*+:+:**+++++::++*
+,,....,,,,,...................,.........,:........+...,.+....,+:+++:+++++::::**#*::++######***####################**#######****####**++*+###+*+:*:**++++:::++*
:::,....,,,...............................+,.......,,...,,+,,,,.++**************#+:::+***+++***####################*************#####***++##*+*+:*:*+++:::::++*
::::...................................,...:......,..:....,::,....,,,,,,,,,,,,,**:::++++++**+***#***############***+********+****#::,::::::#++++**:*+++:::::++*
,:::,.................................................,,...:,:,.:.::::::::::::+##########+++::::,:::::,,::::,,,,,,,,,,::##########*,,,,+####***+**:**+::::::++*
..+:+:,,,.............,..............,........::.......,,,.:,+*,,,,,,,,,,,,,,,,,,,:::::+++++++**********##########################************######++:+:+++++*
...:+++:...............................,.......,,..,+:.,+,,*,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++****++++***
......,,,..........................,......+**,.::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
......:++,.......,..,:..........:***.,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,..,****+,,,,,,::,,,,,,..,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,.,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+:,,..............................................................................................................................,....,......
............,.***+,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
..............***+,................................................................................................................................,....,......
............,.**++,................................................................................................................................,..,,,....,,
..............***+,.....,,,,................,,,,,,,,....,,,,....,,,,,,,,,,....,,,,.................................................................,...,::+**++
..............***+,.....,,,,................................................,,.....................................................................,:**+::***:*
............,.**++,.....,,,,....................,,,,............................,,,,..........................................................++::+:++:::**,,:*
..............**++,.....,,,,................................................................................................................,.,:,:+:*:.+:*+..:*
..............**++,.....,,,,.............................................................................................................,.,..+,.*+:*:.+:*+.,++
..............**++,.....,,,,..........................................................................................................,.+####,+,.,+:+,.+:*+..++
..............**++.,....,,,,......................................,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..,.**+++,+::,::*,,+:**#*++
..............**+:.,..,,,,,,............,,++************************++++**+++*++****************++**+#######################*******:.,,,###+:*+**+::*,,+:**##*#
..............**+:,....,,,,,,,..........,,+++*+************************+******++*****************++:*#####################********+::,,::###*+*+++:+*,,+:*****#
,,,,....,,,,..**++.,...,,,,,,,..........,,+++*************************++***********************+*++***####################********+:,::,,####*+**+:++,,+:*,****
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***####################*******++::++,**####+*:*:+*,.+,++##**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+**************************+*+#*###################******+++::+:+######+#+*:,::::*+,::::
::,,,,:,,,,,.,**+:.,,,,,....,.....,,,,....+*********+*********:,,,,+###+**********+++++. :********+*+#*#################******++++*:,:,#######:+:*:+*+++:*###**
::::::::::::::**+:,,,,******************+++*********+*****+:**::++,+###+**************+*+,+,:+++++++++++++++++++::,,,+******++:+***++:+#####***::*:+*:++:*###**
::::++++++++::**+::+*,*+++::::::::::::::::+*******++:****#*:,::,::::*##+*****:,,,:****+*#::::++++++++++++++++++++++++#+:,+::::++++++++*#####*#*:.+,+*+++:**##*#
,,........,,:::+:::++,#:::+++++++++:::::::::::::::::,,:::::::+:+::+:++*+****+++++:::***:::+,+++++++++++++++++++++++++#:::++*::***+::++######*#+  +:+*:+++*##***
..................,.............,.................,:...,,,,,.,......+*+:+*++*+++:,,..,::::,:+++++++++++++++++++++++++++:::+:*+***+++**#*######+..*:+*:++:******
..................,.............,.......,,...,...,:.,,,,....,...,,...++:++++++++***::.,,,,,,,,,,,,,,,:,,,,::::::++::::::::+:+,****+**#***#####*:.*:+*#*+:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,:::+:+++::::::::,,,..........,,:,,,,,,....,,,,,,,,,:,,,,,,,+******+*+***###**+,*:+*#++:++::*#
,,....,.........,.,...........,..........+,.......:,..,.+.......++++++:::::::::::,,,,,,.,,,,,.,,,,.,,,::+:::,,::,,,,,,,,::,+,,::+*+++***######*:,*:**#++::::++#
,,............................,..........:........:,....+......,:+++::++::::::::+#::::::,,,,::,,,,,,,,,,,:,:+:::::::::++++++***+**++*****#####*+,*:***++:+:::+#
......,,,,,...................,..........:,.......:,...,:,....,,:::::+++::::::::*#::,::::::::::::::::::::::::::::+++++:::::+*+**#*++:+#**####**+:*:+*+++::::::#
.......,,,,,..................,..........:,.......:,...,+:....::::::::+++:::::::##:,,+*********##################***************##****++**###+*+:+:**+++++::++*
+,,....,,,,,...................,........,,:........+...,.+....:::+++:+++++:::+**#+,:++######*+*#####################*#######****####**++*+###+*+:*:**++++:::++*
:::,....,,,...............................+,.......,,...,,+,,,,.++**********##*##+:::+**++++***####################*************#####***++##*+*+:*:*+++:::::++*
::::...................................,...:......,..:....,::.....,,,,,,,,,,,,,##:+,:+++++++++**##############*****+:**#****+****#+:,::::::#++*++*+**++:::::++*
,:::,.................................................,,...:,:..:.:::::::::::::##########+::::::::::::::++:::,,,,,,,,,,:##########*,,,,+####+**:**:**+::::::++*
..+:+:,,,.............,..............,........::.......,,..:,+*,,,,,,,,,,,,,,,,,,,::+++***++**********############################************######*+:+:+++++*
...:+++:...............................,.......,,..,+:.,+,,+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++****++++***
......,,,..........................,...,..***,.::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
......:++,.......,..,,..........:***.,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,..,****+,,,,,,::,,,,,,,,,,.....,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,.,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,,**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
..............**++,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.....,,,,................,,,,,,,,....,,,,....,,,,,,..,,....,,,,................................................................,,..,.::*+*:*
..............***+,.....,,,,................................................,,.....................................................................,:*++::***:*
..............**++,.....,,,,....................,,,,............................,,,,..........................................................+++:+:+*+::*+,,:*
..............**++,.....,,,,..................................................................................................................::,++:*:.+:*+.,:+
..............**++,.....,,,,.............................................................................................................,.,..+..*+:+,.+:*:.,++
............,,**++.,....,,,,............................................................................................................+####,+..:+:*,.+:*:..+:
..............**+:......,,,,........................................,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::....****+:+:::::*,,+:**#**:
..............**+:....,,,,,,............,,++************************+++++++++*++****************++***#######################*******:.,,,###*:+***+::+.,+:**##*#
..............**+:.,...,,,,,,,..........,,+++*+************************+******++*****************+::*#####################********+::,,::*##*++++::+*,,+:*****#
,,,,....,,,,..**+:.,...,,,,,,,..........,,+++*************************++***********************+*++***####################********+:,::,,###*****+:+*.:+:*,#***
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***####################*******++::::,**####+*:*:+*,,+,+:##**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+**************************+****###################******+++::::*######+#+*::::::*+,:+:,
::,,,,:,,,,,,,**+:.,,,,,....,....,,,,,..,,+*********+*********::,,,+###+*********:........,,,,,,::::+*+***################******+++:,,,#######:+:*:+*+++:*##***
::::::::::::::**+:,,,,+#****************+++*********+*****+:**:++:,*###+**************+*:,+,:+++**+++++++++++++++++:,:#**********+*+*:+#######*:,*:+*:++:*###**
::::++++++++:+**+::+*:*+++::::::::::::::::+******++::****#*:,:+,::::###+*****:,,,:+******,::+++++++++++++++++++++++++#:::+::::+++++:++*#####*#*:,*:+*:++:*###*#
,,........,,::++:::+*,#:::++++++++++::,:::::::::+:,:,,:::::::+:+:::++++:****+++++:::***::::,++++++++++++++::++++++++*#::+++*+:***+:+++####*#*#+  +:+*:+++*##***
..................,.............,.................,:...,,,,,.,......+*+:+*++++++:,,.,,::::,:++++++++++++++++++++++++++++::::*+**++++**#*######+..*:+*:+++******
..................,.............,.......:,...,...,:...,,....,...,,...++:++++++++***+,,,,,,,,,,,,,,,,,,,,::,,::::++::::::::+:*,*******#***#####*:.*:+*#*+:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,:::+:+++::::::::.:,.........,,:::,,,......,,,,,,,,,:,,,,,,,:********:***###**+.*:+*#++:++::*#
,,..............,.,...........,..........*.,......:,....+.......++++++:::::::::::,,,,,,...,,,.,,,,,,,,::::,,,,,,,,,,:,,,,:++,,,::*++****######*:,+:**#++::::++#
,,............................,..........:........:,....+......,::++::++::::::::+*::::,,.............,,,,:::++::::::++******+*****++*****#####*+:*:*#*++:+:::+#
......,,,,,...................,..........+,,......:,...,:,....,,:::::+++::::::::*#::,::::,,,,,,,,,,,,,:::::::::::::::::::::+*:***#++++#**####**+:*+**+++::::::#
.......,,,,,..................,..........:,.......:,...,+:....::::::::+++:::::::##:,,+**********#####***########****************##****+++####+++,+:**+++++::++#
+,,....,,,,,...................,........,,:........+...,.+....:::+++:+++++:::+**#+::++######*+*#####################*#######****#####*:***###:*+:*+**++++:::++*
:::,....,,,.............................,.:,.......,,...,,+,,,,.++++*****#**##*##+:::+**+******#####################**###***#****##*#*#***##*+*+:*:***++::::++*
:::,...................................,...:......,..:....,::.....,,,,,,....,,,#*++::++*****+++********************++*####*#+***##*,:::::::#++*:+*+***++::::++*
,:::..................................................,,...:,:,.:.,,,,,,,,,,,,,#########*:,,::::,,::::,,::::::,,::,,,,,:###########,,,,+####+**:**:***::::::++*
..+++:,,,.............,..............,........::.. ....,,..:,+*,,,,,,,,,,,,,,,,,::++**********####################################************###*##*+:::+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++***+++++***
......,,,..............................,..+**,.::::,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
......+++,.......,..,,..........+***.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,...****+,,,,:,::,,,,,,,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,.,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,,**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,.,..............................................................................................................................,....,......
..............***+,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.....,,,,................,,,,,,,,....,,,,,,,,,,,,,,,,,,....,,,,................................................................,,...,::++*:*
..............***+,.....,,,,................................................,,....................................................................,,:*++::***:*
..............**++,.....,,,,....................,,,,............................,,,,........................................................,,+:::+:+*+:+*+,,:*
..............**++,.....,,,,................................................................................................................,.,:,++:*:,+:*+.,:+
..............**++,.....,,,,............................................................................................................,,,,..+,.*+:+,.+:*:.,++
..............**++.,....,,,,..........................................................................................................,,:*###:+,.,::*,,+:*:..+:
..............**+:......,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::..,.****+:+:::::*,,+:*****:
..............**+:.,..,,,,,,............,.++************************+++++++++*++****************++***#####################*********:.,,,###*::*:++:+*.,+:**##*#
..............**+:.....,,,,,,,..........,.+*+*+************************+******++*****************+::*#####################********+::,,::*##*++*+::+*,,+:******
,,,,....,,,,..**+:.....,,,,,,,..........,,+++*************************++***********************+*++**#####################********+:,:::,####****+:+*.*::*,#**#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***##################*********++::::,**####**:+:+*,.+,+:*#**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+**************************+****###################******+++::::*######*#+*:,::::+*,:::,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,,,..,,+*********+*********+:,,,+###+*********:....................,,,,,,::++++++************+++:,,,#######:+:*:+*+++:*###**
::::::::::::::**+:,,,:****************+++++*********+*****+:**+++:,+###+**************+*+,,+:++++++++++++++++++++++++:#+#*******+++:*:+######**:,*:+*:++:*###**
::::++++++++:+**+:++*,*+++++::::::::::::::+******++::****#*:,:+:::+:###+*****::,,:+**#***:::++++++++++++++++++++++++:#::*:::::++++++:+*#####*#*:.*:+*+++:*###*#
,,........,,:::+:::+*:#:::++**++++++::::::::::::::,:,,:::::::+:+::+:+++:******++*:::***::::,++++++++++++++++++++++++**+::+:++:***+::++####*#*#+  *:+*:+++*##***
..................,.............,.................,:...,,,,,.,.....,+*+:++++++++,,,,::::,:,++++++++++++++++++++++++++++::::++:+++++++##*######+. *:+*:*::******
..................,.............,.......,,...,...,:.,,,,....,...,,...++:++++++++***+,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::*,*******#***#####*:.*:+*#*+:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,:::+:+++::::::::,,..........,,:::,,,,.....,,,,,,,,,:,,,,,,,,******+*+***###**+,*:**#++:++::*#
,,..............,.,...........,.........,+,.......:,....+.......++++++::::::::::+,,,,,......,.,.....,,:+::,,,,,,,,,,:.,,,,:+:,,:+*++****######*:,+:**#++::::++#
,,............................,..........:........:,....+,.....,:+++::++::::::::++::::,,.............,,,,:::++::::::++++****+*++**++****######*+:*+***++:+:::+#
......,,,,,...................,..........+,,......:,...,:,....,,::++++++::::::::#*::,:::,,,,,,,,,,,,::::::::::::::::::::::+:*++**#++++#**####**+:*+**+++:::::+#
.......,,,,,..................,..........:,.......:,...,+:....::::::::++:::::::+#*:,,+**********####****************************##****+++####+++:++****+++::++#
+,,....,,,,,...................,........,,+....... :...,.+....::++++:+++++:::+***+:::*######*+*#####################**#######****####*+***###:*+:*+**++++:::+++
:::,....,,,...............................:,.......,,...,,+,,,,.++**********###*#+::++*********#####################**###********##*#*#***##*+++:*+***++::::++*
:::,...................................,...:...,..,..:....,::....,,,,,,,,...,,,##+*::++*****++**********************+*######+****##::::::::#+++++*+***++::::++*
,:::..................................................,,...:,:,.:.,,,,,,,,,,,,:#########+:,,,,,:::::::,,::::::::,,::,,,:*##########,,,,+####+*++**+***++::::++*
..+++:.,,.............,..............,........::.. ....,,..:.+*,,,,,,,,,,,,,,,::++**###############################################***********###*##*+:::+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++****++++***
.....,,,,..........................,......***,.:++:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
......:++,.......,..,,..........:***.,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,..,****+,,,,:,::,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,,**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,.,..............................................................................................................................,....,......
..............***+,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.....,,,,................,,,,........,,,,....,,,,,,..,,........................................................................,,...,::++*:*
..............**++,.....,,,,................................................,,....................................................................,,:*++::***:*
..............**++,.....,,,,................,,,,................................,,,,........................................................,,+:::+:+*+:+*+,,:*
..............**++,.....,,,,................................................................................................................,.,:,++:*:,+:*:.,:+
..............**++,.....,,,,............................................................................................................,,.,..+..*+:+,.+:*:.,++
..............**++.,....,,,,..........................................................................................................,,:*###:+..,::*,,+:*:..+:
..............**+:......,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::..,.****+:+:::::*,,+:*****:
..............**+:....,,,,,,.............,++************************+++++++++*++****************++***#####################*********:.,,,*##*::*:++:+*.,+:**##*#
..............**+:.....,,,,,,,...........,+*+*+************************+******++*****************+::*#####################********+::,,::*##*++*+::+*,,::******
,,,,....,,,,..**+:.....,,,,,,,..........,,+++*************************++***********************+*++**#####################********+:,:::,####****+:+* *::*,***#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***##################*********++::::,**####**:*:+*.,:,+:*#*#
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+**************************+****#################********+++::::*######*#+*:,::::+*,:+:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,,,..,,+*********+*********:,,,,+###+*********,....,.,,............,,,,,,::::++++***********++++:,,,#######:+:*:+*+++:*###**
::::::::::::::**+:,,,:+***************+++++*********+*****+:**++:+,+###+***************+*,,+:+**++++++++++++++++++++*+#+#********++:*:+#######*::*:+*,++:*###**
::::++++++++:+**+:++*,*+++::::::::::::::::+*******+::****#*::+:,::+:###+*****::,,:+*****+::++++++++++++++++++++++++++#::*:::::++++++:+*#####*#*,.*:+*:++:*###*#
,,........,,:::+:::+*:*:::++**++++++::::::::::::::,:,,:::::::+:+::+:+++:******++*:::***:::+,++++++++++++++++++++++++**+::::++:***+:+*+######*#+  *:+*,*:+*##***
..................,.............,.................,:...,,,,,.,.....,+*+:++++++++:,,,::::::,+++++++++++++++++++++++++++++:::++:++++:++##*######+..*:+*+*::******
..................,.............,.......,,...,...,:.,,,,....,...,,...++:++++++++***+,,,,,,,,:,::::::,:::,,,,::::::::::::::::*:*******#****####*:.*:+*#*+:**++**
,,................,.,.,.........,.......,:,..,...,:,..,,......,,,,::++:+++::::::::,,............,,,,,,,.....,,,,,,,,,:,,,,,,,,******+*+****##**+,*:**#++:++::*#
,,..............,.,...........,..........+,.......:,....+.......++++++::::::::::::,,,,,.....,.,......,:+::,,,,,,,,,,:,,,,,:+:,,:+*++****######*:,*:**#++::::++#
,,............................,..........:........:,....+,.....,::++::++::::::::+:::::,,.............,,,,:::++:::::::+++****+*++**++****######*+:*:**+++:+:::+#
......,,,,,...................,..........+,,......:,...,:,....,,::++++++::::::::#*::,:::,,,,,,,,,,,,,:::::::::::::::::::::::*++**#++++#**####+*+:*+**+++:::::+#
.......,,,,,..................,..........:,.......:,...,+:....::::::::++:::::::+#*:,,+**********##**#****************************#*****++####+++:++****+++::++#
+,,....,,,,,...................,........,,+........+...,.+....::++++:+++++:::+**#+:::*######*+*#####################**######*****####*:***###:*+:*+***+++:::+++
:::,....,,,...............................:,.......,,...,,+,,,,.++**********##*##+::++*********#####################**####*******##*#*#***##*+++:*+***++::::++*
:::,.......................................:...,..,..:....,::....,,,,,,,,...,,,#***:::****#*++**********************+*######+****##::::::::#+++++*+***++::::++*
,:::..................................................,,...:,:,.:.,,,,,,,,,,,,:#########::,,::,,::++++::::::,,::::::,,,,*##########:,,,+####+*++**+***+:::::++*
..+++:,,,.............,..............,........::.. ....,,..:.+*,,,,,,,,,,,,,,:::****##*############################################***++******###*##*++::+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++*****+++++***
.....,,,,,.........................,......***,.:++:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
......:++,.......,..,,..........+***.,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,..,****+,,,,:,::,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,.,..............................................................................................................................,....,......
..............***+,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.....,,,,................,,,,........,,,,........,,..,,........................................................................,,...,,:++*:*
..............**++,.....,,,,................................................,,....................................................................,,:**+::***:*
..............**++,.....,,,,................,,,,................................,,,,........................................................,,++::+:+*+:+*+,,:+
..............**++,.....,,,,..................................................................................................................,:,:+:*:,+:*:.,++
..............**++,.....,,,,............................................................................................................,,,,..+..*+:+,.+:*:,.+:
............,,**++.,....,,,,..........................................................................................................,.,*###:+..,::*,,+:*:,,+:
............,,**+:......,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::....+****:+:::::*,,+:*****,
..............**+:....,,,,,,.............,++************************+++++++++*++****************++**+#####################*********:.,,,*##*::*+:*:+*.,::**##*#
..............**+:.....,,,,,,,...........,+*+*+************************+******++*****************+::*#####################********+::,,:+*##*+**+::+*,,::*#****
,,,,....,,,,..**+:.....,,,,,,,..........,,+++*************************++***********************+*++**#####################********+:,:::,####****+:+*.:+:*,***#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***##################*********++::::,**####**:*:+*.,:,+:*#**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+**************************+****###################******+++::::*######*#+*:,::::+*,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,.....,,,,..,,+*********+*********:,,,,+###+*********,....................,,,,,,::++++++**********+*+++:,,,#######:+:+:+*+++:*###**
::::::::::::::**+:,,,:****************+++++*********+*****+:***+::,+###+**************+++,,+::++++++++++++++++++++*+++*+#********++:*++#######*::*:+*,++:*###*#
::::++++++++++**+:++*,*+++::::::::::::::::+*******+::****#*::++,::+:###+****+:,,,:+**#**++:+++++*++++++++++++++++++++#::*:::::::++++:+*#####*#*,,*:+*+*::*###*#
,,........,,:::+:::+*,*:::++**++++++::::::::::::::,:,,:::::::+,:::::+++:******++*:::***+::+,++++++++++++++++++++++++**+:+::+::***+:+*+######*#+  ++**,*::*##***
..................,.............,.................,:...,,,,,.,.....,+*+:++++++++:,,,::::::,+++++++++++++++++++++++++++++:::+::+++++++##*######+..*:+***:+******
..................,.............,.......:,...,...,:.,,,,....,...,,...++:++++++++++*+,,,,,,,,,,,,::::,,,,,,,,:::::+::::::::::*:************####*:.*:+*#*+:**++**
,,................,...,.........,.......,:,..,...,:,..,,......,,,,::++:+++::::::::,:............,:,,,,,,....,,,,,,,,,:,,,,,,,:*******++****##**+,*:**#*:+++::*#
,,..............,.,...........,.........,+,.......:,....+.......++++++::::::::::+,,,.,,.....,.,......,::::,,,,,,,,,,:,,,,,+*:,,,+*++****######*:,*+**#++::::++#
,,............................,..........:........:,....+,.....,::++::++::::::::+:::::,,.............,..,,::++::::::++******+++:**++****######*+:*+****+:+:::+#
......,,,,,...................,..........+,,......:,...,:,....,,::::::++::::::::#*::::::,,,,,,,,,,,,,,,:::::::::::::::::::::**+**#**:+#**####+*+:*+**+++:::::+#
.......,,,,,..................,..........:,.......:,...,+:....::::::::++:::::::+#+::,+**********##*******************************##****++####+++,++***++++::++#
+,,....,,,,,...................,........,,+........+...,.+....::++++:+++++:::+**#::::*######***#####################**#######****####*+***###:++:*+***+++:::+++
:::,....,,,.............................,.:,.......,,...,,+,,,,.++**********##*#*::+++*********#####################**#####******##***#***##*+++:*+***++::::++*
:::,...................................,...:...,..,..:....,::....,,,,,,,,,,,,,,#*++:::****##+++*********************++######***+*##+:::::::#++++:*+***++::::++*
,:::..................................................,,...:,:.,::,,,,,,,,,,,,+#########:,,,,,,,++**++++++::::,,::,,,,,:*##########:,,,+####+*+:**+***+:::::++*
..+++:,,,.............,..............,........::.......,,..:.+*,,,,,,,,,,,::::++***#**#############################################***********######+++::+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++******++++***
.....,,,,,.........................,......***,.::+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
......+++,.......,..,,..........+***.,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,...****+,,,,::::,,,,,,,,,,.....,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,.,..............................................................................................................................,....,......
..............***+,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.....,,,,........................,,,,,,,,,,,,,,,,,,.............................................................................,...,::++*:*
..............***+,.....,,,,................................................,,....................................................................,,:*++::***:*
..............**++,.....,,,,........................................,,,,....................................................................,,++::+:+*+:+*+,,:*
..............**++,.....,,,,..................................................................................................................,:,:+:*:.+:*:.,:+
..............**++,.....,,,,.............................................................................................................,,,..+..*+:+,.+:*:,.+:
............,,**++,.....,,,,............................................................................................................,####:+.,,+:*,.+:*:.,+:
..............**++.,....,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::....+****++:+:::*,,+:**#**:
..............**+:....,,,,,,............,,++************************+++++++++**+****************++**+#####################*********:.,,,*##*::*:,+:+*.,+:**##*#
..............**+:.....,,,,,,,..........,,+*+*+************************+******++*****************+::*#####################********+::,,::*##*++*+::+*,,+:*#****
,,,,....,,,,..**+:.....,,,,,,,..........,,+++*************************++***********************+*++*+*####################********+:,:::,####****+:+*.:+:*,#**#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*+***##################*********++::::,**####**:*:+*,,::+:*#**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********+:,,:+###+**************************+*+#*#################********+++::::*######*#+*:,::::+*,:::,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,,,..,,+*********+*********:,,,,+###+********#,,,..,,,,...,,.........,,,,,,::::++:+*********+++*:,,,#######:+:*:+*+++:*###**
::::::::::::::**+:,,,:****************+++++*********+*****+:**:+::,+###+***************++,.*:+++++++++++++++++++++*++:#:*********++:*++#######*::*:+*,++:*###**
++++++++++++:+**+:::*,*+++::::::::::::::::+*******+::******::::,::+:###+*****::,,:+**#**:::+++++*++++++++++++++++++++*+:+:::::++++++++*#####*#*:.*:+***::**##*#
,,........,,:::+:::+*,*:::++**++++++::::::::::::::,:,,:::::::+,:::+:*++:******++*:::***+::+,++++++++++++++++++++++++*#+:::+++:***+:+*+######*#+  +++*:*::*##***
..................,.............,.................,:...,,,,,.,......+*+:++++++++:,,,::::::,+++++***+++++++++++++++++++++:::+::+++++++##*######+. *:****::******
..................,.............,.......:,...,...,:.,,,,....,...,,...++:++++++++++*+,,,,,,,,,,,,,,,,,,..,,,,:::::+::::::::::+++*******#***####*:.*:**#*+:**++**
,,................,...,.........,.......,:,..,...,:,..,,......,,,,:::+:+++::::::::,:............,:,,,,.......,,,,,,,,,,,,,,,,,******+*+***+##**+,*+**#*++++::*#
,,..............,.,...........,..........+,.......:,....+.......++++++:::::::::::,,,,,........,,....,,::::,,,,,:,,,,:.,,,,+++,:,+**+****######+:,*+**#*+::::++#
,,............................,,.........:........:,....+,....,.::++::++:::::::+*,::::................,,,,:+++:::::::********+*:**++****######*+:*+****+:+:::+#
......,,,,,...................,..........+,.......:,...,:,....,,::++::++::::::::*+::,:::,,,,,,,,,,,,,,,,::::::::::::::::::::+*:**#*+++#**####**+:*+**+++:::::+#
.......,,,,,..................,..........:,.......:,...,+:....::::::::+++:::::++#+:::+*******************************************##***+++####+++:++****+++::++*
+,,....,,,,,...................,........,,+........+...,.+....::++++:+++++:::+*##::::*######***#####################**#######****####*+***###:++:*+***+++:::+++
:::,....,,,.............................,.:,.......,,...,,+,,,,.++*************##:::+++***##***#####################**####********###*#***##*:++:*+****+::::++*
:::,.......................................:...,..,..:....,::...,,,,,,,,,,,,,,,#**+:::****##++******************#***++*#####*+***##*,::::::#++++:*+***++::::++*
,:::..................................................,,...:,:.,*+,,,,,,,,,,,:+#########:,,,,,:+**####******:::,,,,,,,,,+#######*##*,,,+####+*+:**+***+:::::++*
..+++:,,,.............,..............,........::.. ....,,..:.+*,,,,,,,::::::++++###################################################*******++**######**+::+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++++++++++++++++++++++++++++++++********++++***
.....,,,,,.........................,......***,.::::,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
......+++,.......,..,,..........:***.,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,...****+,,,,,,::,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.....,
..............**++,.,...,,,.........................,,,,,,,,....,,,,,,............................................................................,,...,,:++*:*
..............**++,.,...,,,,................................................,,....................................................................,,:*++::***:*
..............**++,.....,,,,........................................,,,,....................................................................,,++::+:+*+::*+,,:+
..............**++.,....,,,,..................................................................................................................,:,++:*:,+:*:.,++
..............**+:.,....,,,,.............................................................................................................,....+..*::*,,+:*:..+:
............,,**++.,....,,,,.............................................................................................................####:+..,::*,,+:*:,,+:
..............**+:......,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::,,,,,,,,,,,,::,,::::::::::....,**:*:+:+:::+.,+:*****:
..............**+:....,,,,,,.............,++************************+++++++++*++****************++***#####################*********:.,.,*##*::*::+:+*,,+:**##*#
..............**+:.....,,,,,,,...........,+*+*+***********************++******++*****************+::*#####################********+::,,::*##*++**+:+*.,+:***#*#
,,,,......,,..**+:.....,,,,,,,...........,+++*************************++***********************++++***####################********+:,:::,####****+:+*.,+:*,#**#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,.........,+++**************************************************++*+***##################*********++::::,*#####**:*:+*.,+:+,*#**
::,,,,,,,:,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+********************+*****+**#*#################********+++::::*######+#+*:,::::+*::+:,
::,,:,:,,,,,,,**+:.,,,,,....,.....,,,,,,,,+*********+*********:,,,,+###+********+,......,,....,,................,,,,::::+++++++++++::,,#######:+:+:**+++:*###**
::::::::::::::**+:,,,:****************++::+*********+*****+:*+*+,::*###+**************+++,:+:+++++++++++*+++++++++++++#:********+++:+++#######*:,*:+*,++:**##*#
::::++++++++:+**+:++*,*+++::::::::::::::::+********::******:::+:,:::###+*****::,,:+**#**:::+++++*+++++++++++++++++++++*::+++::+++:++++*#####*#*,.*+****::*###*#
,,........,,:::+:::+*,*:::++++++++++::::::::::::::,:,,:::::::+,+::+:*++:******+++:::**+:::+:+++++++++++++++++++++++++**::::++:***+:+*+######*#+  *+****::*##***
..................,.............,.................::...,,,,,.,......+*+:++++*+++::,,::::::,+++++++++++++++++++++++++++++::::+:++++++*##**#####+..*+****::******
..................,.............,.......:,...,...,:.,,,,....,...,,...++:++++++++++*+,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::*:*********#+####*:.*+**#++:**++**
,,................:.,.,.........,.......,:,..,...,:,..,,......,,,,::++:+++::++:::::,............,:,,,,,...,.,,.,,,,,,,,,,,,,,,:*+***+*+***:##**+,*+****++++:+*#
,,..............,.,...........,.........,+,.......:,...,+.......++++++::::::::::,:,,.,........,,......,:+:,,,,.,,,,,::,,,,::+:,,:+++****######+:,*+**#*+::::++#
,,............................,..........:........:,..,.+......,::++::++::::::::*::::,,,.................,::++:::::::++******++*:*++****######+::*+****+:+:::+#
......,,,,,...................,..........:........:,...,:,....,,::++++++:::::::+#:::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::*****#*++#**####+*+:*+**+*++::::+#
.......,,,,,..................,..........:,.......:,...,:,....::::::::+++:::::+*#::,:*********************************************#***+++####+++,:+****+++++*+#
+,,.....,,,....................,........,,:........:...,,+...,:+++++:+*+++:::+*##::::*######*+*#####################**########****###*+***###:++:++****+::::+++
:::,....,,,.............................,.+........,,...,,+,,,,:++++***********#+::++*+********#####################**######******##******##*+++,++****+::::++*
:::,.......................................:...,.....:...,,::..,:,,,,,,,,,,,,,+#+*:::+****##++**********##########**++*######*****##,::::::#:++::*+#***+::::++*
,:::..................................................,,...:,,,,*+,,,,,,,,,,,,##########:,,,,,:*##########****::,,,,::+++########**#,,,+####+*+++*+***++::::++*
..+++:,,,.............,..............,........::.......,,..:.++:::::::::++++++**####################################################**********##**##**++:+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++++++++++++++++++****************************++++***
.....,,,,,.........................,......***,.::+,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::+++++++++++++++++++++++++++
......:++,.......,..,,..........+***.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,::::,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
..............**++,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.,...,
..............**++.,,...,,,.........................,,,,,,,,....,,,,,,............................................................................,,...,,:++*:*
..............**++.,,...,,,,................................................,,,,..................................................................,,:*++::***:*
..............**++.,....,,,,............................,,,,........,,,,....................................................................,,++::+:+*+::*+,,:+
..............**++.,....,,,,..................................................................................................................,:,++:*:,+:*:.,++
..............**+:.,....,,,,............................................................................................................,,....+..*::*,,+:*:..+:
............,,**++......,,,,............................................................................................................,####,+..,::*,,+:*:.,+:
..............**+:......,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,::::::::::....,**:+:+:::::+.,+:*****:
..............**+:....,,,,,,............,.++************************+++++++++*++****************++**+#####################*********:.,.,*##*::*,:+:+*,,+:**##*#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,::*##**+*++:+*,,+:*****#
,,,,......,,..**+:.....,,,,,,,...........,+++*************************++***********************++++***####################********+:,:::,####****+:+*.,+:*:#**#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,.........,+++**************************************************++*+***##################*********++::::,*#####**:*:+*.,+:+:*#**
::,,,,,,,:,,,,**+:.,,,,,...,,,....,,,,,,.,**********+*********::,,:+###+**************************+**#*#################********+++::::*######+#+*:,:::++*::+:,
::,,:,:,,,,,,,**+:.,,,,,....,.....,,..,,,,**********+*********:,,,:+###*********+,.......,...............,......,,,,:::,++++++++++*:,,,#######:+:+:**+++:*###**
::::::::::::::**+:,,,:+***************++::**********+*****++**++,::*###+**************+*+,+:+*++++++++++++++++++++++++**+*******+++:+++#######+:,*:+*,++:**##*#
++++++++++++:+**+:++*,*+++::::::::::::::::+********::******::+++,:::###+*****,:,,:+**#**,::+:+++++++++++++++++++++++:+*::+++::+:++++++*#####*#*,.*+****::**##*#
,,........,,:::+:::+*:*:::++++++++++::::::::::::::::,,::::::++:+::+:*++:******+++:::**::::+:++++++++++++++++++++++++:*#:::,++:**++:+*+######*#+  *+****:+*##***
..................,.............,.................::...,,,,,.,.....,+*+:++++*++::,,,::::::,+++++++++++++++++++++++++++++:::++:++++:+*##**#####+..*+****+:******
..................,.............,.......:,...,...,:.,,,,....,...,,...++:++++++++***:,,,,,,,,,,,,,,,,,,:::::::::,::::::::::::+++*********#+####*:.*+**#*+:**++**
,,................:.,.,.........,.......,:,..,...,:,..,,......,,,,::++:+++::++:::,,,............,,,,,,,,,....,..,,,,,,,,,,,,,,,*+***+*+***:##**+.*+**#*++++:+*#
,,....,.........,.,.............,.......,+,.......:,...,+.......++++++::::::::::,:,,.,........,...,,..::+::,,,,,,,,,::,,,,,:*+,:,:++****######+:,*+**#*+::::++#
,,............................,..........:........:,..,.+......,::++::++::::::::#::::,,,....,,,,,,,,,,,:::,,++::::::::+******+++*+*+****######+::*+****+:+:::+#
......,,,,,...................,..........:........:,...,:,.....,::++++++:::::::+#:::,:::::,,,,,,,,,,,,:::::::::::::::::::::::+****#+++***####+*+:*+**+*++::::+#
......,,,,,...................,..........:,.......:,...,:,....::::::::+++:::::+*#::::*******************************************#*##**+++####+++,:+****:++++*+#
+,,....,,,,....................,........,,:........:...,,+...,:+++++:+*+++:::+*##::::*######*+*#####################***#######****###++***###:++:++****++:+:+++
:::,....,,,.............................,.+........,,...,,+,,,,:++++***********#+::++++********#####################**######******##**#***##+:++,++****+::::++*
:::,.......................................:...,.....:....,::,,,:,,,,,,,,,,,,,*#+*:::+****##+++*********########****++**#####*****##,::::::#:++:,++****+::::++*
,::+..................................................,,...:,,,,*+,,,,,,,,,,::##########::,,:::**###########**++,,,,::+++*****###**#,,,+##*#+*+:+*+****++:++++*
..+++:,,..............,..............,........,:......,,,..:.**+::::::::++++++**####################################################**********###*##***+++++++*
...:+++:...............................,.......,,..,+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++++++++++++++****++**********************++*****
.....,,,,,.........................,......***,.:++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::+++++++++++++++++++++++++++
......:++,.......,..,,..........+**+.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,::::,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,....,.***+,.,..............................................................................................................................,....,......
............,.**++,................................................................................................................................,....,......
.............,**++.,...............................................................................................................................,...,,......
..............**++,................................................................................................................................,....,......
..............**++,................................................................................................................................,..,,,.,...,
..............**++.,,...,,,.........................,,,,,,,,....,,................................................................................,,...,,:++*:*
..............**++.,,...,,,,................................................,,,,..................................................................,,:**:::***:*
..............**++......,,,,................................................................................................................,,++::+:+*+:+*+,,:+
..............**++......,,,,..................................................................................................................,:,++:*:,+:*:,,++
..............**+:......,,,,.............................................................................................................,,,..+..*::*,,+:*:,.+:
............,,**+:......,,,,.............................................................................................................#*##,+..,::*,,+:*:,.+:
............,,**+:......,,,,......................................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::...,,**:+,+:::::+.,+:*****:
..............**+:....,,,,,,..............*+************************+++++++++*++****************++**+#####################*********,.,,,*###::*,:+:+*,,+:**##*#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,::+##*++*+::+*.,+:*****#
,,,,......,,..**+:.....,,,,,,,..........,.+++*************************++***********************+*++***####################********+:,:::,####****+:+*.,+:*:#**#
,,..,,,,,,,,..**++.,,,,,,,,,,,,,.........,+++**************************************************++*++**##################*********++::::,*#####**:*:+*.,+:+:*#**
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,.,**********+*********:,,,:+###+**************************+**#*#################********+++::::*######+#+*:,::::+*::+:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,..,,,,+*********+*********:,,,,+###*********+,,,....,...,,............,,........,,,,,,::::::++*:::,#######:+:+:**+++:*###**
::::::::::::::**+:,,,:+***************++::**********+*****++*+*+,::*###+**************+*+,+::+++++++++++++++++**++++*+**:#*******++:+++#######+:,*:+*,++:**##*#
++++++++++++:+**+:++*,*+++::::::::::::::::+********:,******::+::,::,###+****+::,,:+**#**,::+++++*+::++++++++++++++++++#::+:+:::++++++:*#####*#*,.*+****::*###*#
,,........,,:::+:::+*,*:::++++++++::::::::::::::::,:.,::::::++,+::+:*++:******+++:::**::::::++++++++++++++++++++++++:**::::++:**++:+*+######*#+  *+**:*:+*##***
..................,.............,.................,:...,,,,,.,.....,+*+:++++*++:::,:+:::::,+++++++++++++++++++++++++++++:::+++++++++*##*######+ .*+****+:******
..................,.............,.......:,...,...,:.,,,,....,...,,...++:++++++++*++:,,,,,,,,,,,,,,,,,,,,:::::::,:::::::::::::+++********#:####*:.*+**#*+:**++*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,......,,,,::++:+++::++:::,:,............,:,,,,,...,,....,,,,,,,,,,,,,,,+****+*+***+##**+,*+**#*++++:+*#
,,....,.........,.,.............,.......,+,.......:,...,+.......++++++::::::::::,,,,....,,....,.......,:+::,,,,,:,,,,+,,,,,:*+,:,:+++***######+:,*+**#*+::::++#
,,............................,..........:........:,..,.+......,::++::++::::::::#,:::,,,..............,,.,::++::::::,:********++*+*+****######+::*+****+:++::+#
......,,,,,...................,..........:........:,...,:,....,,::++++++:::::::+*,::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::+*+**#*++***####+++:++**:*++::::+#
......,,,,,...................,..........:,.......:,...,:,....::::::::+++:::::+*#:::,+************************++++++**************##**+++####+++::+**+*+++++*+#
+,,....,,,,....................,........,,:........:...,,+.,.,::++++:+++++:::+*##::::*######*+*#####################***#######****###+:***###:++,++****++++:+++
:::,....,,,.............................,.+........,,...,,+,,,,:++++***********#+::+*++*####*++#####################***#####******##**#***##++++,++****+::::++*
:::,.......................................:...,.....:...,,::,.,:,,,,,,,,,,,,,*#+*:::+**####*++*********############*++*######****##::::::+#:++:,++****+::::++*
,::+..................................................,,...:,,,+*+,,,,,,,,,,,:##########,,,,,,+*##############**+++***************+#*,,+####++::+*+****++:++++*
..+++:,,..............,..............,........,:......,,,..:.*++++++++++++++++**####################################**##*###########**********###*#****+++++++*
...:+++:...............................,.......,,..,+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++++++++++++++++**++++++++****************************++*****
.....,,,,,.........................,......***,.:++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::+++++++++++++++++++++++++++
......:++,.......,..,,..........+**+.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,::::,,,,,,,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+,.,..............................................................................................................................,....,......
..............**++.,...............................................................................................................................,....,......
..............**++.,...............................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,...,
..............**++.,,...,,,.........................,,,,,,,,........,,....,,......................................................................,,...,,:++*:*
..............**++.,,...,,,,................................................,,,,..................................................................,,+**+::***:*
..............**++......,,,,............................,,,,........,,,,.....................................................................,++::+:++::+*+,,:+
..............**++......,,,,..................................................................................................................,:,+::*,,+:*:..+:
..............**+:......,,,,.............................................................................................................,.,..*..*::*,,+:*,..+:
............,,**+:......,,,,.............................................................................................................**#* +..:::*.,+:*,.,+,
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,::::::::::...,:**::,+:::::*,,+:***+*,
..............**+:....,,,,,,..............*+************************++*++++++*++****************++*+*#####################*********,...,**##+:*::+:+*.,::*###*#
..............**+:.....,,,,,,,............+*+*+***********************++******++*****************+::*#####################********+::,,::*##*++**+:+*.,::*****#
,,,,....,,,,..**++.....,,,,,,,..........,.+++*************************++***********************+*+++**####################********+:,::,.####*****:+*.:::*,#**#
,,..,,,,,,,,..**++.,,,.,,,,,,,,,,,.......,+++**************************************************++*++**##################*********++::::,*###*#**:*:+*.,::+,*#**
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,.,**********+*********::,,,+###*********************+*****++*#*#################********+++::::*######*#:*:,,:::+*,:+:,
::,,,,:,,,,,,,**+:.,.,,,....,...,,,,..,,,,**********+*********,,,,,+###*********,,,,,,..,,..,,........................,,,,,,,,:::++:,,,#######:+:+:**+*+:*###*#
::::::::::::::**+:,,,:****************++::**********+****+++*++:,:++###***************+*+,+:++++++++++++++++++++++++*+*#:#*******++:*++######**:,*:+*,*::*###*#
++++++++++++++**+:++*:*+::::::::::::::::::+********:,******:::+,.::,###+****+::,,:+**#**,::+:+++++::+++++++++++++++++:#::+:++::+++++:+*#######*,.*+**+*+:*###**
,,........,,::++:::+*:*:::++++++++::::::::::+:::::,:.,::::::::,+::+:*+*:******++*:::**+:::::++++++++++++++++:+++++++++#+::,++:**++:+*+######*#+  *+**:*+:*#****
..................,.............,.................::..,,,,,,.,.....,+*+:+++++++:::.:::::::,+++++++*+++++++++++++++++++++:::+++++**++*##+*#####+ .*+**+*+:**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++++++**::,,,,,,,,,,,,,,,,.,,,,,,,,,::,::::::::::+++++*********:####*:.*+**#*+:**:+*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,......,,,,::++:+++::++:::,:,............,,,,,,,.....,,,,,,,,,,:,,,,,,.,:******:***+##**:,*+**#*+:++:+*#
,,....,.........,.,.............,.......,+,.......+,..,,:,.....,++++++::::::::+:,,,.,..,,,..,.,......,,::,:,,,,,:,,,,,.,,:++::,:::++****######+:,*+**#*+::::++#
,,............................,..........:........:,..,,+......,::++::++::::::+++:::::......,,,,..,,..,,:::++++:::::::*######*::++*+****######+::*:****+++:+:+#
......,,,,,...................,..........:........:,....:,....,:::++::++:::::::*#,::::,,,,,,,,......,,,,,:::::::::::::::::::::*++**#++#**####+*+:++**:*++::::+#
......,,,,,...................,..........+........:,...,::...,:::::::::+:::::::##:::+**++***++++++++++++++++++++++++++++++++*++***##**+++####+++,::**+*+++++*+#
+,,....,,,,....................,.........,:....... :...,,+.,.,:+++++:+++++:::+*#*,:::#######*+*#####################***#######****###+:***##*:++,++**+**+++:++*
:::,....,,,.............................,.+........,,...,,+,,,:,++++*********#*#::++****####*+*#####################***######******##*#***##+:++,++*+**+::::++*
:::,.......................................:.........:...,,::,,::,,,,,,,,,,,,,##++:::*####**++*#####################*+++***###*****##::::::#:++::++****++:::++*
,::+..................................................,,...::,.+*+,,,,,,,,,,:,##****##*#++++++*######################**************##,,+####+++:+++***+++:++++*
..+++:,,..............,..............,........,:.......,,..: ***+++++++++++++*############################************++*############*****++***##*##****++++++*
...:+++:...............................,.......,,..,+:,,+,:+,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::++++::++++++********************##**********************++*****
.....,,,,,.........................,......**+,.:++,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::+++++++++++++++++++++++++++
......+++,.......,..,,..........+**+.,.+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,::::,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+,.,..............................................................................................................................,....,......
..............**++.,...............................................................................................................................,....,......
.............,**++.,...............................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,...,
............,.**++.,,...,,,.........................,,,,,,,,....,,..,,............................................................................,,...,,:++*:*
..............**++.,,...,,,,..............................................,,,,,,,,................................................................,,:*++::***:*
..............**++......,,,,............................,,,,........,,,,.....................................................................,++::+:+*::+*+,,:+
..............**++......,,,,..................................................................................................................,:,++:*:,+:*:..++
..............**+:......,,,,............................................................................................................,,.,..+..*::*,,+:*:,.+:
............,,**+:......,,,,............................................................................................................:**#*.+.,,::*,,+:*:,,+:
..............**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,::,,,,::,,,,::::::::::....:**::,+:::::*,,+:*+*+*:
..............**+:....,,,,,,............,.*+************************++*+**+++*++****************++***#####################*********:.,.,**#*+:*::::+*,,+:**##*#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,:,*##*++**+:+*.:::*****#
,,,,......,,..**+:.....,,,,,,,...........,+++*************************++***********************+*++***####################********+:,:::,*###****+:+*.,+:*:#***
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,.........,+++**************************************************++*++**##################*********++::::,*###*#**:*:+*.,+:+,*#**
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,,,+*********+*********::,,:+###*********++****************+**#*#################********+++::::*######*#+*:,::::+*::+:,
::,,,,:,,,,,,,**+:.,,,,,....,...,,,,..,,,,+*********+*********,,,,:+###*********,,,,,,..,,................,,..,,......,,,:::::::::+:,,,#######:+:*:**+++:*###**
::::::::::::::**+:,,,,****************++::**********+****+++*+::,::*###*****************+,+:++++++++++++++++++++**++++*#+********++:+++######**::*:+*,++:**##*#
++++++++++++++**+:++*:*+++::::::::::::::::+********:,******:+++:,::,###+*****,:,,:+**#**,::+:+++++::++++++++++++++++::*:::,::::+++++++*#######*,.*+**:*+:*###**
,,........,,::++:::+*:*:::++*+++++::::::::::::::::,:.,::::::++:+::+:*+++****+++++:::**+:+:::+++++++++++++++++++++++++:*+::+*++**++::*+######*#+  ++**:*+:*#****
..................,.............,.................,:..,,,,,,.,.....,+*+:+++++++::,,::::::::+++++++*+++++++++++++++++++++++++++++**++*##+*#####+ .*+**:*+:**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++++++**+:,,,,,,,,,,,,,,,,,,::::::,,::,::::::::::::+*:*********:####*:.*+**#*++**:+*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,.,....,,,,::++:+++++++:::,:,............,:,,,,,.........,,,,,,:,,,,,,,,:******+*#++##*+:,*+**#*++++:+*#
,,....,.........,.,.............,.......,+,.......:,..,,+......,++++++::::::::+:,,,.,.......,.,......,,::,,,.,,,:,,,,:,,,,:+++,,:,++****######+:,*+**#*+::::++#
,,............................,..........:........:,..,,+......,:+++::++::::::++:::::,..............,,,,,::::++:::::::****##*#+:++******######+::*:****+++:+:+#
......,,,,,...................,..........:........:,...,:,.....,::++++++:::::::#*,::::,,,,,,,,......,,,,,,::::::::::::::::::::**+**#+:#**####+++:+:**:*+++:::+#
......,,,,,...................,.........,:,.......:,...,::...,::::::::++::::::+#*::,+**+****++++++++**++++++++++++++++++++++*+*****#**+++####:+:,::**+*+*+++*+#
+,,....,,,,,...................,........,,:........:...,.+...,:+++++:+++++:::+*#*,::+#######*+*######################***######*****##*:***###:++,:+**+**++::+++
:::.....,,,.............................,.+........,,...,,+,,,,.++++*********###::++****####*+*#####################***######******##*****##+:+:,++*+**+::::++*
:::,.......................................:...,.....:....,:+.:::,,,,,,,,,,,,,##++::+*####**++*#####################*+++***###*****##::::::#:++::++***+++:::++*
,:::..................................................,,...,:::+*+,,,,,,,,,,,:##****##*#++++++**####################****************#,,+####+++::++***+*+:++++*
..+++:,,..............,..............,........,:.......,,..:.**++++++++++++++*##########################********++**++++**###########***++++***##*##**+*++++++*
...:+++:...............................,.......,,..,+:,,+,:+,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++**************##############********************++*****
.....,,,,,.........................,......**+,.:++,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
......+++,.......,..,,..........+**+.,.+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,::,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$....,,,,......***+,.,..............................................................................................................................,....,......
..............**++.,...............................................................................................................................,...,,......
.............,**++.,,..............................................................................................................................,...,,......
............,.**++.................................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,.,..,,
............,.**++..,...,,,.....................,,,,,,,,........,,..,,............................................................................,,...,,:++*:*
..............**++..,...,,,,..............................................,,,,,,..................................................................,,+*++::***:*
..............***+..,...,,,,....................,,,,............................,,,,.........................................................,++::+:++::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**+:......,,,,............................................................................................................,,,...+..*::*,,+:*:,.+:
............,,**+:......,,,,............................................................................................................**##*.+..:::*,,+:*,.,+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,::,,,,::::,,,,,,,,::::::::::..,.***,+,+:::::*,,+:*+*+*:
..............**+:....,,,,,,............,.*+************************++*++++++*++****************++*+*#####################*********,..,,**#*++*+:::+*.,+:*###**
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,:,*##*++**+:+*.:::*****#
,,,,......,,..**++.....,,,,,,,...........,+++*************************++***********************+*+++**####################********+:,:::.####****+:+*.,::*:#***
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,.........,+++**************************************************++*++**##################*********++:::+,*###*#*#:*:+*.,+:+,*#**
::,,,,,,,:,,,,**+:.,,,,,...,,,....,,,,,,.,+*********+*********::,,,+###***************************++*#*#################********+++::::*######*#+*:,:+::+*::+:,
::,,,,:,,,,,,,**+:.,,,,,....,...,,,,..,,,,**********+********+:,,,:+###*********,,,,,,,,,.,,.....................,,,..,:,.,,,,,,::+:,,,#######:+:+:**+++:*###**
::::::::::::::**+:,,,:**************++++::+*********+****+++++:,::++###****************+:,:+++++++++**++++++++++++++++*#*+*******++:+++#######+::*:+*,++:*###*#
++++++++++++++**+::+*:*+++::::::::::::::::+********:,******:++:,,:::###+****+:,,,:+**#*:+::+++++*+++++++++++++++++++::++::+::::+++++++*#####*#*,,*+**:*+:*###**
,,........,,:::+:::+*:*:::++++++++::::::::::::::::,:.,:::::::+:+::+:*++:****++***+::**,:::,+++++++++++++++++:+++++++++**::+++:**++:+*+######*#+  *+*#:*::*#****
..................,.............,.................,:..,,,,,,.,.....,+*+:++++*+:::,:::::::,++++++++*++++++++++++++++++++++++++:++**+:*##+*#####+ .*+**+*+:**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++*+++*++,,,,,,,,,,,,,,,,,.,,,::::::::::::::::::::::*+*********+####*:.*+*##*++**:+*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,.,....,,,,::++++++:::::::,,,............,,,,,,..........,,,,,,,,,,,,,,,:******+*#+*##*+:,*+**#*++++::+#
,,....,.........,.,.............,.......,+,.......:,...,+...,..,++++++::::::::::,,,,,,.,,....,,......,,::,,,,.,,:,,,,,.,,,:+++,,::::+***######+:,*:**#*+++::++#
,,............................,..........:........:,..,,+...,,.,:+++::++:::::::*::::,,..............,,..:++:+++:::::::**######+:++******######+::*:****++*+::+#
......,,,,,...................,..........:........:,...,+,..,,,,:::::+++::::::+#,:::::,,,,,,,,........,,,,,,::::::::::::::::::++++*#++#**####+*+:+:**:*+++:::+#
......,,,,,...................,..........:,.......:,...,+:...,::::::::++::::++*#::::**+++***+++++++++++++++++++++++++++++++++++****##*+++####:++,::*+:***+++*+#
+,,....,,,,....................,........,,:........+...,,+...,::++++:+++++:::+##::::*######*++######################****######*****##+:***##*::+,::**+*+*+::++*
:::.....,,,.............................,.+........,,...:,+,:,,,++++*********##*::++++*#####++*#####################****#####******##*****##+:+:,++*++**+++:++*
:::,.......................................:...,.....:....,:+,::,,,,,,,,,,,,,*#++:::+####**+++*#####################*+++****##*****##+:::::#::+:,++*+++*+++:++*
,:::..................................................,,...:,*++*+,,,,,,,,,,:*#*********++******####################*********++****##:,+####++:::++***+*++++++*
..+++:,,..............,..............,........,:......,,,..:.**++++++++++++++*##########**************++++++++++++++++++**###########*++++++++**#*##++**++++++*
...:+++:...............................,.......,,..,+:.,+,:+,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++******###############################**************************
.....,,,,,.........................,......**+,.:++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::+++++++++++++++++++++++++++++
......+++,.......,..,,..........+***.,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,::,,,,,,,,,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$....,,,,......**++.,,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+.................................................................................................................................,...,,.,...,
..............**++..,...,,,.................,,,,,,,,,,,,........,,..,,............................................................................,,...,,:++#:*
..............**++..,...,,,,..............................................,,,,,,..................................................................,,:*+:::***:*
..............***+..,...,,,,............................,,,,....................,,,,.........................................................,++::::++::+*+,.:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**++......,,,..............................................................................................................,,.,,+.,*::*,,+:*:..+:
............,,**++......,,,,............................................................................................................####,.*.,:::+,,+:*,.,+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,::,,,,::::::::,,,,::::::::::..*:**+:+.+:+:::*,,+:*+***:
..............**+:....,,,,,,..............*+************************++*++++++*++****************++***#####################*********,..,,**#*::***+:+*.,::*###*#
..............**+:.....,,,,,,,............+*+*+***********************++******++*****************+::*#####################********+::,,:+###*+***+:+*.,::*****#
,,,,......,,..**++.....,,,,,,,............**+*************************++***********************+*+++#*####################********+:,:::,*##*****+:+*.,::*,****
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,..........+++**************************************************++*++**##################*********++:::+,*###*#*#:*:+*.,:,+,*#**
::,,,,,,,:,,,,**++.,,,,,...,,,....,,,,,,.,**********+*********::,,,+###*******************++******+**#*###################******+++::::*######+#+*:,,::++*,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,...,,,,..,,,,**********+********+,,,,:+###*************++++*+++::,,..................,,,,,:+,,,,,,,,,,:,,,#######:+:+:**+++:*###*#
::::::::::::::**+:,,,:****************++::**********+****+++:+:,::++###+**************+++,++++++++++++++++++++++++++++*#*:****+***+:++*#######+::*:+*,*+:**##*#
++++++++++++++**+::+*:*+++::::::::::::::::*********:,******:++::,:::###+****+:,,,:+****:::::+++++++++++++++++++++++++++*::*::::+++++++*#####*#*,,*+**:*++*###**
,,........,,:::+:+:+*:*:::++++++++::::::::::::::::,:.,::::::++:+::*:*+*:****+++*+:::*:+:::,++++++++++++++++++++++++++++*::+:+:***+:+++######*#+  *+**:*+:*##***
..................,.............,.................,:..,,,,,,.,.....,+*+:++++++::..+::::::,+++++++++++++++++++++++++++++++::::*++*+++*##+*###*#+ .*:**+*+:**+***
.....,............,.............,.......:,...,...,:.........,...,,...++:+++++++++*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+:*++*+******+####*:.*:*##*++**:+*#
,,..............,.:.,.,.........,.......,:,..,...,:...,,.,....,,,,::::+:++++::::,:,..........,,,::,,,........,,,,.,,,,,,,,,,,,,,******:*#+*###*+,*+**#*++*+::+#
,,....,.........,.,.............,.......,+,.......:,...,:,.....,++++++::::::+::,,,,.. ..,,...,......,,::,,,,,..,:,,,,,::++:::,:,:::+****######+:,*:**#*++++:++#
,,....,.......................,..........:........:,..,,+.,,..,,:+++::++::::+::+::::,,:,,,,,:,,:::,,::::+++:+:::::,,::######**:::++*****######+::*:****++*+::+#
......,,,,,...................,..........:........:,....+,.....,::::++++::::::##:::,:,,,..............,,,,.,::::::::::::::::::++*:+**+#*#####+*+:+:**:*+++::::#
......,,,,,...................,..........+........:,...:+:...,::::::::++::::+:##+:::++++++++++++++++:::::::::::::::::++++++++++*+**##++++####:++,::**+++*+++*+#
+,,....,,,,,...................,.........,:........:...,,+...,::++++:+++++:::*#+:,:+#######*+*#######################*******#******##+:***##*::+,::**+*+*+++++*
:::....,,,,.............................,.+........,,...,,+,,,,.++++*********##:::++**#####**+*#####################****######******#*****##+:+:,+:*++*+*+++++*
:::,.......................................:.........:....,++:,,.,,,,,,,,,,,.##+::::##****++++######################******++********#+::::+#::+:,++*+++**+++++*
,:::..................................................,,..,:+***+.,,,,,,,,,,:#*:::+++:++++++***###################***+++******::*+**#*,+####+++::++**++*++++++*
..+++:,,..............,..............,........,:......,,,..:.***++::++++++++*##########*++++++++++++++++::++++++++++++++**############++++++++###**#+++**+++++*
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,,,,,::::++******##########################################*************************
.....,,,,,.........................,......**+,.+++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
......+++,.......,..,,..........***+.,,+:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,::,,,,,,,,,,,,,,..,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+....,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$......,,....,.**++.,,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+.................................................................................................................................,...,,.,...,
..............**++..,...,,,.................,,,,....................,,............................................................................,,...,,:++*:*
..............**++..,...,,,,..............................................,,,,,,..................................................................,,:*+:::***:*
..............***+..,...,,,,............................,,,,....................,,,,.........................................................,++::::++::+*+,.:+
..............**++......,,,,..................................................................................................................,:,:::*,,+:*:..+:
..............**++......,,,..............................................................................................................,..,,+.,*::*,,+:*:..+:
............,,**++......,,,,............................................................................................................##**,.*.,:::*,,+:*,..+,
............,,**++......,,,,......................................,,,,,,,,,,,,,,::::::::::::::::::::::,,::,,,,::::::::::,,::::::::::.,****++:.*:+:::+,,+:*+***:
..............**+:....,,,,,,..............*+************************++*++++++*++****************++***#####################*********,..,,**#*,,**#::+*.,::**##*#
..............**+:.....,,,,,,,............+*+*+***********************++******++*****************+::*#####################*********::,::*###*+****:+*.,::*****#
,,,,......,,..**++.....,,,,,,,............+++*************************++***********************+*+++#*####################********+:,::,.*##******:+*.,::*,***#
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,........,.+++**************************************************++*++**##################*********++:::+,*#####**:*:+*.,:,+,*#**
::,,,,,,,:,,,,**++.,,,,,...,,,....,,,,,,.,**********+*********::,,,+###+**************************+**###############**####******+++::::*######**+*:,,::+++,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,...,,,,..,,,,**********+********+::,,:+###**************++*++**++,,,,,,,,,,,,..........,..:*,,,..,,,,,+,,,#######:*:+:**+*+:*###*#
::::::::::::::**+:,,,:****************++::******+***+****+++::,,::++###+**************+++:++++++++++++++++++++++++++++*#::#*******+:++*#######+::*:+*,*+:**##**
++++++++++++++**+::+*:*+++::::::::::::::::+********:,****#*::+,:,:,:###+****+::,,:+***+:::::+++++++++++++++++++++++++++#::+::::+++++++*#####*#*,,*+**:*++*##***
,,........,,:::+:+++*,*:::++++++++::::::::::::::::::.,::::::++:+::+:*++:++**++**+:::*,+:::,+++++++++++++++++:++++++++:+*:::+++***+:+++######*#+  *+**:*+:*##***
..................,.............,.................::..,,,,,,.,......+*+:++++*+:,,,+::::::,++++++++++++++++++++++++::++++++++:*++*+::*##+*###*#+ .*:**:*++**+***
..................,.............,.......:,...,...,:.........,........++:+++++++++*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::*++**+**#**+####+:.*:*##*++**:+*#
,,..............,.,.,.,.........,.......,:,..,...,:...,,.,....,,,,:::::+++::::::,:,..........,,,::,,,...... .,..,.,,,,,,,,,,,,.,******:*#+*###+:,*:**#*++*+:+*#
,,....,.........,.,.............,........+,.......:,...,:,.....,++++++:::::::::,,,......,,.. .......,,::,,,,,..,,,,,,,,:++:::,:,:::+****######+:,*:**#*++++:++#
,,....,.......................,..........:........:,..,,+.....,,:+++::++::::++*,::::,,:,,,,,:,::::::::::+++++,::::,,::#######*:,,+:+****######+::*:****+**++:+#
......,,,,,...................,..........+........:,....+,....,:::::++++:::::+#+:::::,,,...............,,,,,::::::::::::::::::++*+***+#*#####+*+:+:**:*+++::::#
......,,,,,...................,..........+........:,...:+:...,::::::::++::::+*#++:::++++++++++++++++::::::::::::::::::::+++++++++**##++++####:++,::**:+**+++*+#
+,,....,,,,,..................,..........,:........:...,,+...,::++++:+++++::+*#+:,,*######**+*#######################*******#*#****##+:***##*::+,::**:*+*+++++*
:::.....,,,...............................+........,,...,,+,,,,.++++********###:::++*######*+**#####################****######******#*****##+:+:,+:*:+*+*+++++*
:::,.......................................:.........:....,++:,,..,,,,,,,,,,:#++:::+##***++++*######################******++********#*::::+#::+:,+:*+++***++++*
,:::..................................................,,...:+*+*:.,,,,,,,,,,##::::+++++++++++**#################****++:+*###**::+***#*,+###*++:++++*++:***++++*
..+++:,,..............,..............,........,:......,,,..:.***++++++::::++###########*:+++::++++++::::++++++++++++++++**############++++++++###**#+++*****+**
...:+++:...............................,.......,,...+:.,+,:+,,,,,,,,,,,,,,,,::::++****##*#############################################*************************
.....,,,,,.........................,......**+,.+++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::+++++++++++++++++++++++++++++++++
......+++,.......,..,,..........***+.,,+:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,::,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+.,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$..............**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
............,.**++.................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,.,..,,
..............**++.,,...,,,.................,,,,........,,,,,,,,..................................................................................,,...,,:++*:*
..............**++,.,...,,,,................................................,,,,..................................................................,,:*++::***:*
..............**++.,,...,,,,........................,,,,,,,,.................................................................................,++::+:++::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*:,.++
..............**++......,,,.............................................................................................................,,...,*..*::*,,+:*:,.+:
............,,**+:......,,,,...........................................................................................................,###*.,+.,:::+,,+:*:.,+,
............,,**+:......,,,,......................................,,,,,,,,,,,,,,::::::::::::::::::::::,,::,,,,::::::::::,,::::::::::.,:#*#**:,*:++::*,,+:*+***:
..............**+:....,,,,,,..............*+************************++*++++++*++****************++***#####################*********:..,,****,.**#*:+*.,::**##*#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,:*###*++***:+*.,::*****#
,,,,......,,..**++.....,,,,,,,..........,.+++*************************++***********************+*+++**####################********+:,::,.###*****+:+*.,::*,#***
,,..,,,,,,,,,,**++..,,,,,,,,,,,,......,,,.+++**************************************************++*++**##################*********++::::,*#####*#:*:+*.,:,+,*#**
::,,,,,,,:,,,,**++.,,,,,...,,,....,,,,,,,,+*********+*********::,,:+###+**********************++**+**#*#############**###*******+++::::*######**+*:,,::+++,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,...,,,,..,,,,**********+********+::,,:+###***************+*++++::,,....,,..,,,,....,,..,..:*,,,..,,,,,:,,,#######:+:+:**+++:*###**
::::::::::::::**+:,,,:****************++++**********+****++:+:,,::++###+**************++,:++++++++++++++++++++++++++++*#++********+:+++#######+:,*:+*,++:*###**
++++++++++++++**+:++*:*+++::::::::::::::::+********:,******,:+,:,:::###+****+::,,:+**#+::+::++++++++++++++++++++++++++:#,+:::::+++++++*#####*#*,,++**:*++*##***
,,........,,:::+:+++*,*:::++++++++::::::::::+:::::::.,::::::++:+::*:*+*:****++***:::*::::::+++++++++++++++++++++++++++++::::*:***+:++*######*#+  *+**:*+:*##***
..................,.............,.................::..,,,,,,.,.....,+*+:++++++:,.,+::::::,++++++++++++++++++++++++++++++++++:*:+*++:**#+*#####+ .*:**:*++**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++*+***+,,,,,,,,,,,,,,,,,,.,,,,:,,,,,,,:,,::::::::::++:*****#**,####+:.*:**#*++**++**
,,..............,.:.,.,.........,.......,:,..,...,:...,,.,....,,,,:::::+++::::::,,...........,,,::,,,.........,,,.,,,,,,,,,,,,.,******:*#+*##*+:,*:**#*++*+:+*#
,,....,.........,.,.............,.......,+,.......:,...,+......,++++++:::+::::,,,,,.....,,,. .......,,::,,,,,..,,,,,,,,,:+++:::,,:++****######+:,*:**#*++++:++#
,,....,.......................,..........:........:,...,+.,...,,:+++::++::::::*,,::,,,,,,,,::,:,::::::::+++*+:::::,,::########:,,+:+****######+::*:*#**++*++:+#
......,,,,,...................,..........+........:,....+,,...,:::::::++::::++#,::::,,,,..............,,,,.,::::::::::::::::,::+*+**#:#*#####+++:+:**:**++:::+#
......,,,,,...................,..........:,.......:,...:+:...,::::::::+++:::+*#+::::+:::::::+++++:::::::::::::::::::::::::+++++++**##++++####:++,:,**:++***+*+#
+,,....,,,,,...................,.........,:........:...,,+ ..,::++++:+++++::+##:,,:*######**+*#######################**************##*:***##*::+,::**:++**++++*
:::.....,,,.............................,.+........,,...,,+,,,,.++++*********#+:,:***#####**+*#####################*****######******##****##+:+:,::*:+*+**++++*
:::,.......................................:.........:....,+*,,,..,,,,,,,,,,##+::::+##**+++*+*######################******++********##::::+#::+:,+:*+++***++++*
,:::..................................................,,...:+*++:.,,,,,,,,:,##::::+++++++++++**#****########********+::+******::+***##,+####+++::++*++:***++++*
..+++:,,,.............,..............,........,:......,,,..:.**+::::::::::::###########++++++++++++++++++++++++++++++++++**###########++++++**###**#+++********
...:+++:...............................,.......,,..,+:.,+,:+,,,,,,,,,,,,:::::+++**####################################################*************************
.....,,,,,.........................,......**+,.:++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::::::::::::::+++++++++++++++++++++++++++++++++++++
......+++,.......,..,,..........+**+.,,+:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,::,,,,,,,,,,,,.....,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$............,.**++,................................................................................................................................,....,......
............,.**++,................................................................................................................................,...,,......
............,.**++.,,..............................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,.,..,,
..............**++.,,...,,,.................,,,,,,,,....,,,,,,,,,,,,....,,....,,..,,..............................................................,,...,,:++*:*
..............**++,.,...,,,,..............................................,,,,..,,................................................................,,:*++::***:*
..............**++......,,,,........................,,,,,,,,........,,,,.....................................................................,+:::+:+*::+*+,,:+
..............**++......,,,,..................................................................................................................,:,:+:*,,+:*:,,++
..............**++......,,,..................................................................................................................,*..*::*,,+:*:,.+:
............,,**+:......,,,,..........................................................................................................,:#*#+.,*..:::*,,+:*:..+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,::::::::::.,:##***,.+:+:::*.,+:*****+
..............**+:....,,,,,,..............*+************************++*++++++*++****************++*+*#####################*********:..,:**#+,.****:++.,::**##*#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,:*###*++***:+*.,+:*****#
,,,,,,....,,..**+:.....,,,,,,,..........,.+++*************************++***********************+*+++**####################********+:,:::.###******:+*.,+:*:****
,,..,,,,,,,,..**++.,,,,,,,,,,,,,,,..,,..,.+++**************************************************++*++**##################*********++:::+,*#####*#:*:+*.,:,+:*#**
::,,,,,,,:,,.,**++.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###**********************+**+++**#*##################*##******+:::++######+*+*:,,::+++,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,...,,,,..,,,,**********+*********:,,,:+###***************+++:*+::,,....,,,,,...,,,,..,,...:*+,,,,,,,,,:,,,#######:+:+:**+++:*###**
::::::::::::::**+:,,,:****************++::**********+****+:++:,,::++###****************+:::+++++++++++++++++++++++++++*#*++******++++++#######*::+:+*,++:**##**
++++++++++++++**+::+*,*+++::::::::::::::::+********:,****#*::+,:,:::###+****+:,,,:+**#::::::+++++++++++++++++++++++++++*:::+:::++++++**#####*#*,,++**:*++*##***
,,........,,:::::::+*,*:::++++++++::::::::::::::::::.,::::::++:+::*:*+*:++**++**+:+:+:,+::++++++++++++++++++++++++++++++::::*:***+:+++######*#+  ++**:*+:*##***
..................,.............,.................::,.,,,,,,.,.....,+*+:++++*::,.,::::::::++++++++++++++++++++++++++++++++++:++:*++:**#+*#####+ .*:**:*++**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++*+**++,,,,,,,,,,,,,,,,,,.:::::::,,,,,,:,,::::::::+++:*****#**,####+:.*:**#+++**++**
,,..............,.:.,.,.........,.......,:,..,...,:...,,.,....,,,::::::+++:::::,,,...........,,,:,,,,.....  ..,,,.,,.,,:,,,,,,,,+*****+*#+*###++,*:**#*++*+::+#
,,....,.........,.,.............,.......,+,.......:,...,+......,++++++::::::::,,,,.,..,,,,,.........,,::,,,,,..,,,,,,,.,:+++:,:,,:+:****######+:,*:**#++++++++#
,,............................,..........:........:,...,+,....,,:+++::++::::+++::::,,,,,,,:::,::::::::::+++++:::::,,::########+,::++****######+::*:***+++*++:+#
......,,,,,...................,..........:........:,....+,,...,,::++++++:::::**,::::,,,,................,,..,,,,::::::::::::,::+++**#:#*#####+++:+:**:**+++:::#
......,,,,,........,..........,..........:,.......:,...:+:,..,::::::::+++:::+#**::::::::++++::::::::::::::::::::::::::::::++++++:***#*+++####+++,:,**:++**++*+#
::,....,,,,....................,........,,:........:...,,+....,+++++:++++*::*#*:,,:#######**+*#######################*****##********#*:***##*::+,::**:+:**++++*
:::.....,,,.............................,.+........,,...,,+,,,,.++++*********#:::++*######**+*#####################*****######******##****##+:+:,::*:+++**++++*
:::,.......................................:.........:...,,++,,,..,,,,,,,,,,##+:,:+*#**++++++*######################******++++******##::::+#::+:,+:*+++***++++*
,:::..................................................,,...:+*++:.,,,,,,,,,:#*::::+++++++++++**#********************+::+*###**:,+***##,+####++:::+:*++:***++++*
..+++:,,,.............,..............,........,:......,,,..:.*#+::::::,,:::+###########+++++++++++++++::+++++++++++++++++**###########++++++**###**#:++********
...:+++:...............................,.......,,..,+:.,+,,+,,,,,,::::::::+++***######################################################*************************
.....,,,,,...................... ..,...,..**+,.:++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::++++++++++++++++++++++++++**+++
......+++,.......,..,,..........+***.,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,..,***+:,,,,,,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$..............**++,................................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
............,.**++.................................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,.,..,,
..............**++.,,...,,,.................,,,,,,,,....,,,,,,,,....,,,,,,........................................................................,,...,,:++*:*
..............**++.,,...,,,,..............................................,,,,,,,,................................................................,,:*++::***:*
..............**++......,,,,............................,,,,.................................................................................,++::::++::+*+,,:+
..............**++......,,,,..................................................................................................................,:,+::*,,+:*:,,+:
..............**++......,,,..................................................................................................................,+..+::*,,+:*:,.+:
............,,**+:......,,,,..........................................................................................................,+###,.,+..:::*,,+:*:.,+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,,,::::::::,,::,,,,::::::::::..,###*:.,*:++::*,,+:*****+
..............**+:....,,,,,,............,.++************************+++++++++*++****************++***#####################*********,.,.**#*+,.++**:++.,::*###*#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++*****************+::*#####################********+::,,:**##*+*+*+:+*.,+:******
,,,,,,....,,..**+:.....,,,,,,,..........,.+++*************************++***********************+*+++**####################********+:,:::.###****++:+*.,+:*:****
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,......,.+++**************************************************++*++**##################*********++::::,+####**#:*:+*.,+,+:*#**
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,,+###********+**************++**+**#*#**###############*******+++::::+######+*+*:,,:::++,:+:,
::,,,,,,,,,,,,**+:.,.,,,....,.....,,..,,,,**********+*********:,,,:+###****************+:++:,,,,,,,,,.........,,....,,,,++,,,,,,,,,:,,+*#####*:+:+:**+++:*###*#
::::::::::::::**+:,,,:****************++::**********+****+++:,:,::++###***************+:+:++++++++++++++++++++++++++++*##+:******++:+*########+:,*:+*,++:*##***
::::++++++++++**+:++*,*+::::::::::::::::::+********:,******:::,:,:::###+****+::,,:+***,:::::+++++++++++++++++++++++++++#:::*::+:+++++*######*#*:,+:**:++:*##***
,,........,,:::+:::+*,*:::++++++++::::::::::::::::,:.,::::::++:+::+:*++:++**+++++:::,:::+.+++++++++++++++++++++++++++++*::::,+***+:+++######*#+  *+**:++:*##***
..................,.............,.................::...,,,,,.,......+*+:++++::,,,+::::::,+++++++++++++++++++++++++++::::+:++:::+++::+****#####+..*:+*+*++**+***
..................,.............,.......:,...,...,:.,,,,....,...,,...++:+++++++*+,.,,,,,,,,,,,,,,.,,,:::::::,,,,,,::,,:::::::::*+********,####+:.*:+*#+++**++**
,,..............,.:.,.,.........,.......,:,..,...,:,..,,.,....,,,,::++:+++::::,,,,..........,,,,:,,,.,,.....  ...,,..,,,,,,,,,,,:*****+***####++,*:**#*++*+:+*#
,,....,.........,.,.............,........+,.......:,...,+,.....,++++++::::::::,,..,,....,,.,,.......,,::,,,,..,,,,,,:..,::++:,,,,,+,+***######+:,*:**#++++++++#
,,,...........................,..........:........:,...,+,....,,:+++:::::::::*::,:::,,,,,,:::,::::::::::+++*+:::,,,,,:########*:::+:****######+::*:***++++++:+#
......,,,,,...................,..........:........:,....+,....,,::++::++:::::#,:::::,,,,.................,,,,,,,::::::::::,,,,,:++++#***#####+++:+:**:+++++:::#
......,,,,,...................,..........:,.......:,...,+:...,::::::::++::::*#+*:::::::::::::::::::::::::::::::::::::::::::::+++:+**#*+++####+++,:,*+:++*****+#
:,,....,,,,....................,........,,:........+...,,+....::++++:+++++::##+,,:*#######*+*########################***************##:***##*::+,::**:+:+*++++*
:::.....,,,.............................,.+........,,...,,*:,,,.++**********#*:::++*######*++#######################**+*#######*****##****##+:+:,::*::++++++++*
:::,.......................................:...,.....:...,,:+,....,,,,,,,,,+#+::::+***++***++########################++*****++*******#::::+#::+:,+:*:++++***++*
,:::..................................................,,..,::*:,:.,,,,,,,,,*#+++:::+++++++++:++*********************+::+######*::+***#++####++:::+:*++:+****++*
..+++:,,,.............,..............,........,:......,,,.,:+**,,,,,,,,,::,############::::+::++****##****++++++++++++++++*#######**###+++++***##**#:+++*******
...:+++:...............................,.......,,...+:..+,:*::::::+++++++++*###########################################################************************
.....,,,,,.........................,......**+,.:++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++*****+++++++++++++++++++++**+++
......+++,.......,..,,..........+***.,.+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,
,...,.:++,..,,..,****+,,,,,,,,,,,,,,,,,,.....,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,...,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$..............**++,................................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
............,.**++.,...............................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,..,,
..............**++.,,...,,,.................,,,,,,,,....,,,,,,,,,,,,,,,,,,..,,,,...................................................................,..,,,:++*:*
..............**++.,,...,,,,..............................................,,......................................................................,,:*++::***:*
..............**++.,,...,,,,................,,,,........,,,,....................,,,,........................................................,,+++:+:+*::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*+.,++
..............**++.,....,,,...................................................................................................................+..*::+,,+:*:..++
............,,**++......,,,,...........................................................................................................+**+,..*..,::*,,+:*:..+:
..............**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::,,::::,,,,,,::,,::::::::::..:###+:..*.+:::*,,+:******
..............**+:....,,,,,,.............,++************************+++++++++*++****************++***#####################*********:.,,**#*:,.++**:++,,+:**##**
..............**+:.....,,,,,,,...........,+*+*+************************+******++*****************+::*#####################********+::,,::###*+*,**:+*.,+:******
,,,,,,....,,..**+:.....,,,,,,,...........,+++*************************++***********************+*++***####################********+:,:::.####***+*:+*.,+:*:****
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,......,,+++**************************************************++*++**##################*********++::::,:####***:*:+*.,:,+:*#**
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+**********************++**:**#*###################******+++:,:::#####*+***:,,:::**::+:,
::,,,,,,,,,,,,**+:.,.,,,....,.....,,,,..,,+*********+*********:,,,:+###+*************+:,,:,,,,:::,::::,,,,,,,,,,,,,,,,..+*..,,,,,,,,,+#*####**:+++:+*:++:*###**
::::::::::::::**+:,,,,****************+++++*********+****+:++::,::+*###+***************,:::+++++++++++++++++++++++++++*##:*******++:+*########+::+:+*,++:*##***
::::++++++++++**+::+*,*+++::::::::::::::::+********::******:+,:,,:::###+****+:::,:+*#+::::::+++++++++++++++++++++++++++#::::,:+:++*++*+#####*#*:,+:**,*+:*##***
,,........,,:::+++:+*,*:::++**++++::::::::::::::::,:.,::::::++:+,:*:+**:****+***+:::::::+,++++++++++++++++++++++++++++++::::,++**+:++:*#####*#+  *+**:++:*##***
..................,.............,.................,:..,,,,,,.,......+*+:++++,,..++:,::::,++++++++++++++++++++++++++++:::++:+::+++*+,+++**#####+..*:+*:*++**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++++**+,.,,,,,,,,,,,,,,,,,:+++++::::,,,,:::,:::::::::+:+*++****+####+,.*:+*#*++**++*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,.,....,,,,::++::++::::,,,............,,,::,,.,,.....    ,,,..,,,,,,,,,.,,+****+*+*####++,*:**#*++*+:+*#
,,....,.........,.,...........,.,.......,+,.......:,...,+.......++++++:::::::,,......,,,,,..........,,:+,,,,,..,,....,:,::++,,,:,,+++**#######+:,*:+*#++++++++#
,,............................,..........:........:,....+......,:+++:::::::::+::::::,,,,,,:::,::::::::::++::+:,,..,,,:########*+,,:+:**#######+::*:***++++++:+#
......,,,,,...................,..........:........:,...,+,....,,::::::++::::**,::,:,,,....................,,....,,,,,,,,,,,,,,,,++:*+#**#####+++:+:**:+++:++:+#
......,,,,,........,..........,.........,:,.......:,...:+:....::::::::+++:::#*+::::::::::::::::::::::,,,,,,,::::::::::::::::::,:::+**#++*####+++::,**::+*****+#
::,....,,,,,...................,........,,:....... :...:,+....,+:+++:+*++++*#*+,,:*#**###**+*########################****************#****###::+:::**:++++++++*
:::,....,,,.............................,.+........,,...,,+,,,,.++++********#+,::++#######*++########################*+*########*****##***##+:+:,::*::+:++++++*
:::,.......................................:...,..,..:....:++,....,,,,,,,,,##+:::+**++++***++########################*+*###**+++**++*##:::+#::+:,+:*:++++***++*
,:::..................................................,,...+::,,:.,,,,,,,,:#***::::+******++++***********************+::*######*:+++**#+*#*#++:::+:*++:++***++*
..+++:,,,.............,..............,........,:......,,,..****,,,,,,,,,::*###########++::::**################**++++*******##*******+*#*++++***##**#:+:+*******
...:+++:...............................,.......,,,..+:.,+,:*++++++++++++++*#############################**************++++*############*++*********************
.....,,,,,.........................,...,..***,.:++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++**********########**********++++++++++++**++*****
......+++,.......,..,,..........+***.,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,..,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,..,,
..............**++.,,...,,,.................,,,,,,,,........,,,,....,,,,,,.........................................................................,..,,,:++*:*
..............**++.,,...,,,,..............................................,,,,,,..................................................................,,:*++::***:*
..............**++.,,...,,,,............................,,,,........,,,,....................................................................,,++::+:+*::+*+,,:+
..............**++.,....,,,,..................................................................................................................::,:::*,,+:*+.,++
..............**++.,....,,,...................................................................................................................+..*::+,,+:*:..++
............,,**++......,,,,...........................................................................................................:##:...*..,::*,,+:*:..+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::,,::::,,,,,,::,,::::::::::.,*##**:..+,+:::*,,+:******
..............**+:....,,,,,,.............,++************************+++++*+++*++****************++***#####################*********:,+:+*#*:,.*+**:+*,,+:**##**
..............**+:.....,,,,,,,..........,,+*+*+************************+******++**************++*+::*#####################********+::,,:*##**++,**:+*.,+:******
,,,,,,....,,..**+:.....,,,,,,,..........,,+++*************************++***********************+*++***####################********+:,:,:**###***+*:+*.,+:*:***#
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,....,,,,+++**************************************************++*++**####################*******++::::,+####*+*++:+*..+,+:*#**
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+******::++++******++******++***##################**********+::::#####*+***:,,:::**::+:,
::,,,,,,,,,,,,**+:.,.,,,....,.....,,....,,+*********+*********:,,,:+###+**************:..,,,::::++++++::::::,,,,,,,,,...+*....,,,,,,:+######**:+++:+*,++:*###**
::::::::::::::**+:,,,,****************+++++*********+*****++:+:,::++###+**************+,:::++++++++++++++++++++++++++++##+*:*****++:+*########+:,+:+*,++:*##***
::::::++++++++**+::+*,*+::::::::::::::::::+********::******::,:,,:::###+****+::,,:+*#:+:::::++++++++++++++++++++++++++:*+:::::::++++**+#######*,,+:**,++:**#***
,,........,,:::+:::+*,*:::++++++++::::::::::::::::,:.,::::::++:+::+:+*+:********+::,:::::,++++++++++++++++++++++++++++:+:::::*:**+:+++**######+  +++*+++:*##***
..................,.............,.................,:..,,,,,,.,......+*+:++++:,..++::::::,+++++++++++++++++++++++++++++::++:::::+++:,:*+*######+..*:+*+*++**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++++**:,.,.,,,,,,,,,,,,,,,:+**++++::,,,,,::,,::::::::+++*+++****####+,.*:+*#*++**++*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,......,,,,::++::++::::,,,............,,,::,,.,,.........,,.....,,,,,,,,..:******+*####++,*:**#*++++:+*#
,,....,.........,.,...........,.,.......,+,.......:,...,+,......++++++::::::+,,.,.......,,..........,,::,,,,...,,,....:,::++,,,:,,,+,***######+:,*:+*#++:::+++#
,,............................,..........:........:,....+......,:+++::::::::+:::::,:::::::::::::::::::,,++,::,:,...,,,*#####****:,.::***######+::*:***++:+++:+#
......,,,,,...................,..........:........:,...,+,....,,::++++++::::#+:,:,:,,.......................,...,,,,,,,,,,,,,,,,:+:++#**#####+++:+:**:++::++:+#
......,,,,,...................,.........,:,.......:,...:+:....::::::::+++::+#*+:,:::::::::::::::,,,,,,,,,,,,,,,,,:::::::::::::,:::+**#*+*####+++:::**::+****+*#
::,....,,,,....................,........,,:........+...:.+....,+:+++++*+++:*#+:,::*********+*########################***********++*+*##+**##*::+:::**:++++++++*
:::,....,,,.............................,.+........,,...:,+,,,,.++++********#:,::+*#######*++########################*++*#######*+*++##***##+:+:,::*::+:++++++*
:::,.......................................:...,..,..:...,::+,....,,,,,,,,:#*+::++**++*****++########################*++####**+++++++*#+:::#::+:,::*:+:+++++++*
,:::..................................................,,..:+:,,,:.,,,,,,,,*#+++,,:+*****#*++++***********************+::**#####*::+++*#**###++:::+:*++::+***++*
..+++:,,,.............,..............,........,:.......,..,*+**,,,,,,,,,::############::::::**####################******+***++++++++++##++++***##**#:+++*******
...:+++:...............................,.......,,,..+:.,+,:**+++++++++++++*#####################**********+++++++++++++++++#############***********************
.....,,,,,.........................,......***,.:++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++**********#####################*++++++++**++++*********
......+++,.......,..,,..........+***.,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,..,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,..,,
..............**++.,,...,,,.................,,,,,,,,........,,,,....,,,,,,.........................................................................,..,,,:++*:*
..............**++.,,...,,,,..............................................,,,,,,..................................................................,,:*++::***:*
..............**++.,,...,,,,............................,,,,................................................................................,,+++:+:+*::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,++:*:,+:*:,,++
..............**++.,....,,,...................................................................................................................+..*+:+,,+:*:,.++
............,,**++......,,,,..........................................................................................................,:**,...*..:::*,,+:*:,.+:
..............**++......,,,,....................................,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::,,::::,,::,,::,,::::::::::.,+##*+:..*.:+::*,,+:******
..............**+:....,,,,,,.............,++************************+++++*+++*++****************++***#####################*********:,******:..+,+*:+*,,+:**##*#
..............**+:.....,,,,,,,..........,,+*+*+************************+******++**************++*+::*#####################********+::,,,:##**++,+*:+*.,+:******
,,,,,,....,,..**+:.....,,,,,,,..........,,+++*+***********************++***********************+*++***####################********+:,::***##****+*:+*.,+:*,****
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,........,,+++**************************************************++*++**##################*********++::::++#####+*++:+*.,:,+:*#*#
::,,,,,,,:,,.,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+*****:........,,,,:::+++++++***###############**#**********::::*#####*+***:,,:::**,:+:,
::,,,,,,,,,,,,**+:.,.,,,....,.....,,....,,+*********+*********:,,,:+###+*************+:..:++++++++++++++++++++++::::,,,,:*+:::,,,,,,::+######*:+++:+*.++:*##***
::::::::::::::**+:,,,,****************+++++*********+****++::*+:::++###+**************::::+++++++++++++++++++++++++++++*#+:+*****++:++**######+::+:+*,++:*##***
::::::++++++++**+::+*,*+::::::::::::::::::+********::****#*::.+:,:::###+****+:,:,:+*+::::,:++++++++++++++++++++++++++++**:+:+:+:++++*++#######*,,+:**,*+:**#***
,,........,,:::+:::+*,*:::++++++++::::::::::::::::,:.,:::::+++:+::*:+*+:+++***+++:::::::,+++++++++++++++++::++:+++++++:::::++:,+*+:++:+#####*#+  +++*+++:*##***
..................,.............,.................,:..,,,,,,.,......+*+:*++::,..+,:::::,+++++++++++++:::++++++++++:::::::::::::*:+:,,::+######+..+:+*+*++**+***
..................,.............,.......:,...,...,:.........,...,,...++:+++++++*,,.,,,,,,,,,,,,,,.,,:*######**++::,.,,,,,,,,::::+:+*++**+*####+,.+:+*#*++**++*#
,,..............,.:.,.,.........,.......,:,..,...,:,..,,......,,,,::++::++:::,,,,............,,,::,,,..............,....,.......,.+*****+*####++,*:**#*++++:+*#
,,....,.........,.,...........,.,.......,+,.......:,...,+,......++++++::::::,,,,,,,.,,,,............,,:::,,,....,.........,:::,.,..,::**######+:,*:+*#++:::+++#
,,............................,..........:........:,....+......,:+++::::::::*::::,,,,,,,,,,,,,::::,,::::::::+:,..... .,#######**.. .,,**######+::*:***++:+++++#
......,,,,,...................,..........:........:,...,+,.....,::::::++::++#,:::::,,.....................................        ....**#####+++:+:**:++:::::+#
......,,,,,...................,.........,:,.......:,...:+:....::::::::+++::*#:::::::::::::::,,::,,,,,,,,,,.....................  ....:#**####:++:::**:+:*+**+*#
::,....,,,,....................,........,,:........+...,.+....,+++++:+*++*+##:,,:+********++*#########################*+*+*******,...:*#**##*::+:::**:+:++++++*
:::,....,,,.............................,.+........,,...:,*,,,,.++++*******#+,:::+*######*++*#########################::+#######*,...,##**##+:+:,::*::+::+++++*
:::,.......................................:...,.... :.,,:,::.....,,,,,,,,*#+:::+**+++**#**++########################*::*####*:,,.... *#:::#::+:,::*:+:::+++++*
,:::,.................................................,,.,:+:,,,:.,,,,,,,,##+*::::+*####**+++***************########**...:**####,    .*#####++:::+:*++::++++++*
..+++:,,,.............,..............,........,:.......,,,+*+*+,:,,,,,,,,:###########*::::++**####################*****++++::,,,.... .**++++****#**#:+:+++++***
...:+++:...............................,.......,,,..+:.,+,**+++++++++++++*###########***++******+++++++++++++++++++++++++++*############++++*******************
.....,,,,,...................... ..,......***,.:++,,.,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::::++******####################################**++++**++++++**++*****
......+++,.......,..,,..........+***.,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,..,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,............***+,.,..............................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,..,,
..............**++.,,...,,,.................,,,,,,,,....,,,,,,,,....,,,,,,......,,.................................................................,..,,,:++*+*
..............**++.,,...,,,,..............................................,,,,,,,,,,..............................................................,,:*++::***:*
..............**++.,,...,,,,........................,,,,,,,,................................................................................,,+:::+:+*::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,++:*:,+:*:.,++
..............**++.,....,,,...................................................................................................................+..*::+,,+:*:,.++
..............**++......,,,,...........................................................................................................,**,...+,,,::*,,+:*:,.+:
..............**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::,,::::::::,,::::::::::::::.,+##*+:..*.:+::*,,+:******
..............**+:....,,,,,,.............,++************************++++**+++*++****************++***#####################*********:.+**#**:..*.++:+*,,+:**##*#
..............**+:.....,,,,,,,..........,,+*+*+************************+******++**************++*+::*#####################********+::,,,,##**++,+*:+*.,+:*****#
,,,,,,....,,..**+:.....,,,,,,,..........,,+++*+***********************++***********************+*++***####################********+:,:****##***+++:+*.,+:*,****
,,..,,,,,,,,..**++.,,,,,,,,,,,,,..,,....,,+++**************************************************++*++**##################*********++::::++#####+*++:+*..+,+:*#**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###+*****,,,.......,....,,,,,,::++******############*+#********+::,:#####*+***:,,:::**,:+:,
::,,,,:,,,,,,,**+:.,.,,,....,.....,,..,,,,+*********+*********:,,,:+###***************:.:++++++++++++++++++++++++++++:,,:#+***++++::,:+*####**:+++:+*.++:*##***
::::::::::::::**+:,,,,+***************+++++*********+****++::*::::++###+**************:::::+++++++++++++++++++++++++++:+#*+*+****++:++**######+:,*:+*,++:*##***
::::::++++++++**+:++*,*+++::::::::::::::::+********::****#*::,+,,:::###+*****:,,,:**,:::+,:+++++++++++++++++++++++++++++*:::::+:++++*++#######*,,+:**,*+:**#***
,,........,,:::+:+:+*,*:::++**++++::::::::::::::::,:.,::::+++++:::+:+*+:+++*+++++:::,:::.+++++++++++++++++::++:+:+++++::::::::*:*+::++:*####*#+  +++*+++:*##***
..................,.............,.................,:..,,,,,,.,....,.+*+:*++:,,,::,:::::.++++++++++++::::++++++++++::++::++:::::++::,,,:+######+..+:+*+*++**+***
.....,............,.............,.......:,...,...,:.........,...,,...++:+++++++:,,...,,,,,,,,,,,,..,+#######****:::,,,,,,,,,,,::+:+++++*++####+,.+:+*#*++**:+**
,,..............,.:.,.,.........,.......,:,..,...,:,..,,......,,,,::++::++:::,,,.............,.,::,,..,,..........................:+**+***####++,*:**#*++++:+*#
,,....,.........,.,...........,.,.......,+,.......:,...,+.......++++++::::::,,,,.,,.,,,.............,,:+,:,,....,...  ....,,::,.....,,**######+:,*:+*#++:::+++#
,,............................,..........:........:,....+......,:+++::::::+++::::,,,,,,,,,,,::::::::::::::::+:,...  ...*#######*:.....:*######+::*:***++:+:::+#
......,,,,,...................,..........:........:,...,+,.....,::++++++::+**,::,::,,.....................................         ...+*#####+*+:+:**:++:::::+#
......,,,,,...................,.........,:,.......:,...:+:....::::::::+++::#*::,::::::::::,,,,,,,,,,,,,,.......................  . ..,*+*####:++:::**:+:+++++*#
::,....,,,,....................,........,,:........+...,,+....,+++++++*+++*#*:,,:********+++*#########################*+++++++***:... ****##*:++:::**:+:+:++++*
:::,....,,,.............................,.:,.......,,.,,:,+,,,,.++++*******#::,::+#######*++*#########################+:+*#######:... *#**##+:+:,::*::+:::++++*
:::,.......................................:...,.... :.,:,,:+,....,,,,,,.,##::::+++++***#*+++#########################+:+*####*:,.... :#+::#::+:,::*:+:::+++++*
,:::,.................................................,,,::+:,,,:.,,,,,,,:##++::::**####*++++*#######################*....,+*###*    .,**###++:::+:*++::++++++*
..+++:,,,.............,..............,........,:.......,::+*++*,,,,,,,,,,*##########**++++**########****##########*****+::::,,..... . .#*+++++**#**#+::+++++***
...:+++:...............................,.......,,,..+:.:****+++++++++++++*###########+::::+++++++++++++++++++++++++++++++++*############*+++++*****************
.....,,,,,...................... ..,......***,.:++,,.,,,,,,,,,,,,,....,,,,,,,,,,::::++******############################################*+++++++++++++**++*****
......+++,.......,..,,..........+***.,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,.,,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,............***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
............,.**++.................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.,..,,
............,.**++.,,...,,,.................,,,,,,,,........,,,,..,,,,,,,,......,,.................................................................,...,,:++*:*
..............**++.,,...,,,,..............................................,,,,,,,,,,..............................................................,,:*++::***:*
..............**++.,,...,,,,........................,,,,,,,,........,,,,....................................................................,,+:::+:+*::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*:.,++
..............**++.,....,,,...................................................................................................................+..*::+,,+:*:,.++
..............**++......,,,,...........................................................................................................,**,...*.,,::*,,+:*:,.+:
..............**+:......,,,,......................................,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::,,::::::,,,,::,,::::::::::.,:###*:..*..+::*,,+:******
..............**+:....,,,,,,............,.++************************++++**+++*++****************++***#####################*********:,+**#**:..+,++:+*,,+:**##*#
..............**+:.....,,,,,,,..........,,+*+*+************************+******++**************++*+::*#####################********+::,,.,##*+++,:+:+*.:::**#**#
,,,,,,........**+:.....,,,,,,,..........,,+++*+***********************++***********************+*+++**####################********+:,:*++*##***+:+:+*.,::*:#***
,,..,,,,,,,,..**++.,,,,,,,,,,,,,........,,+++**************************************************++*++**##################*********++::::++#####+**+:+*.,+,+:*#**
::,,,,,,,,,,,,**+:.,,,,,...,,,....,,,,,,,,+*********+*********:,,,:+###*****+.,,,,,,,...................,,::++******####*+:#****+++::::,######*#**:,,:::**,:+:,
::,,,,:,,,,,,,**+:.,.,,,....,.....,,....,,+*********+*********:,,,:+###***************:.+++:++++++++++++++++++++++**+++:,*:*#*******++:+####*#:+++:+*.++:*##***
::::::::::::::**+:,,,,+***************++++**********+*****+:**+:::++###+*************+:::::+++++++++++++++++++++++++++::#*::,***+++::+++######+:,*:+*,++:*##***
::::::++++++++**+:++*,*+::::::::::::::::::+********::****#*:,,+:,:::###+*****:,,,:+*,+:::,:+++++++++++++++++++++++++++++*::::+::++++*++#######*,.+:**,*+:**#***
,,........,,:::+:+:+*,*:::++**++++::::::::::::::::,:.,::::+++++:::*:+*+:++**+++++:::::::,+++++++++++++++++++++:++++++:+:::::+:,+*+:+:+,*######+  +++*+*+:*##***
..................,.............,.................::..,,,,,,.,....,.+*+:*+:::,,+:::::::.::++++++++++::::++++++++++::++::::+:::::::,,,,::######+..+:+*+*++**+***
.....,............,.............,.......:,...,...,:.........,...,,...++:++++*++:,,...,,,,,,,,.,,....:#######****++:,....,,,,..,,,+:+++:+*+####+,.+:+*#*++**:+**
,,..............,.,.,.,.........,.......,:,..,...,+,..,,.,....,,,,:::+::++:::,,,.............,.,::,,..,,...........................,+*+*+*####++,*:**#*++++:+*#
,,....,.........,.,...........,.,.......,+,.......:,...,+.......++++++::::::,,,,.,,.,,,.............,,::,:,,...  ,...  ,..,,::,,.....,+*######+:,*:+*#++:::+++#
,,............................,..........:........:,....+......,:+++:::::::+:::::,,,:,,,,,:::::::::::::::+,::,.........+######**:.. ..,*######+::*:***++:+:::+#
......,,,,,...................,..........:........:,...,+,....,,:::::+++:::*+,::,:,,......................................      .  . .,*#####+*+:+:**:++:+:::+#
......,,,,,...................,.........,:,.......:,..,:+:....::::::::+++:+#++:,::::::::,,,,,,,,,,..,,,,.......................    ..,:**####:++:::**:+:+++++*#
::,....,,,,,...................,........,,:........+..,,.+....,+++++++*+++##::,:,*******++++*#########################*+++++++***+....,**###*:++:::**:+:+:++++*
:::,....,,,.............................,.:,.......,,.,,,,+,,,,.++++****+*##:,,::+#######*++*#########################*::*#######*... ,***##+:+:,::*::+:::++++*
:::,.......................................:...,.....:,,,.,:+,....,,,,,,.:#*:::+++++**###*+++#########################+::*#####*:,.....**,+#::+:,::*:+:::+++++*
,:::,.................................................,,:::+:,,,:.,,,,,,,*#*++:::+*#####*+++*########################*:,,...:+*#*,.   .***#*+++::++*++:::+++++*
..+++:,,,.............,..............,........,:......,,+:+*.*+,,,,,,,,,,##*********++++++**##*#########******##******+:,,,,....    ,. *#*++++#*#**#+::+:+++***
...:+++:...............................,.......,,,..+:.:****++++:::::::::############++:::++++++::++++++++++++++++++++++++**#########**##*++++++***************
.....,,,,,.........................,......***,.:++,,,,,,,,,,,,,,,,,,,,,,,:::++++********#################################################+++++++++++++++++*****
......+++,.......,..,,..........+***.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,.,,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,..,,........***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
............,.**++.................................................................................................................................,...,,......
..............***+.................................................................................................................................,..,,,.,.,,,
............,.**++.,,...,,,.................,,,,,,,,....,,,,,,,,..,,,,,,,,,,....,,................................................................,,...,,:++*:*
..............**++.,,...,,,,................................................,,,,,,,,............................................................,,,,:*++::***:*
..............***+..,...,,,,........................,,,,,,,,........,,,,....................................................................,,++::+:+*::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*:.,++
..............**++.,....,,,...................................................................................................................*..*::+,,+:*:,.+:
............,,**+:......,,,,............................................................................................................**:...+..:::*,,+:*:,,+,
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::,,,,::::,,,,::::::::::::::..,###*+..*.,:::*,,+:****++
..............**+:....,,,,,,............,.++************************++++**+++*++****************++***#####################*********:..:,#*+:.,+,:+:+*,,+:*##**#
..............**+:.....,,,,,,,..........,.+*+*+************************+******++**************++*+::*#####################********+:::..+##**++,,*:+*.:::*****#
,,,,,,........**+:.....,,,,,,,..........,.+++*+***********************++***********************+*+++**####################********+:,*++:+##***++*:+*.,::*:#***
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,.......,+++**************************************************++*++**##################*********++:,++:,####*+**+:+*.,+:+*#***
::,,,,,,,,,,,,**+:.,,,,,...,,,..,,,,,,,,,,+*********+*********:,,,:+###*****,,,,,,,,...,................................,,*+..,,,::::::+####*#*#*+:,,+,:*+,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,.....,,....,,+*********+*********:,,,:+###***************::+++++++++*+++++++++++++++++++++++*#:*+**+++:::::####*#:+*+:+*,++:*##***
::::::::::::::**+:,,,:****************++::**********+***++:,**:,::++###+*************:::::++++++++++++++++++++++::++++++*#:::++*+++:*+:+######+::*:+*,++:*##***
::::::++++++++**+:++*,*+++::::::::::::::::+********::*****+:.++:,:::###+****+:,,,:+:+:+:,:++++++++++++++++++++++++++++::++:++:+,++++**+*######*:.+:+*:*+:*##***
,,........,,:::+:::+*,*:::++++++++::::::::::::::::::.,::::++++::::*:+*+:****+++++:,::::,++++++++++++++++++::++++++++:::+::::::+:,+:++::*######+ .+++*+++:*#****
..................,.............,.................::..,,,,,,.,....,.+*+:+:+:,.::::::::::++++++++++++::::++++::+++:::::++::++::++:+. ...  +####:..*:+*+*::**+***
.....,............,.............,.......:,...,...,:.........,...,,...++:+++**++.......,,,,,,,,,......#############**............,.:.,:::::####+:.+:+*#*++**::**
,,..............,.,.,.,.........,.......,:,..,...,+,..,,.,....,,,,:::+::+:::,,,..............,.,,,,,,,,,.............................,:***####+:,*:**#*++++:+*#
,,....,.........,.,...........,.,.......,+,.......+,.,,,+.......++++++::+::,,.,,,...,,,.,....   .....,:::,,,.....,......:....,::,,,...:.######+:,*:**#++:::+++#
,,............................,..........:........+,....+......,:+++::::+::+:,,::::::,,,::::++++::::::::++:::,,,........*#######*+,.  ..:#####+::*:***+::+:::+#
......,,,,,...................,..........:........::...,+,....,,::++++::::*#,:,::,,,......................................            ..**###+*+:+:**:++:::::+#
......,,,,,...................,.........,:,.......+:,,.,::....:::::::::++:##::,,::::::,,,,,,,,,,,,..,.........................      ..,,+*###:++,:,**:+:+++++*#
::,....,,,,....................,........,,:........+..,,,+....:::+++:++++*#*:,,,+****+++++++*########################*******+++++++,..,,**##*::+,::**:+:+:+:++*
:::,....,,,.............................,.+.......,,,.,.,,+,,,,.++++**+++*#*,,,,+########*++*##########################*::*########,.., **##+:++,::*::::::++++*
:::,.......................................:...,..,,.+,,.,,::,....,,,,,,,##::::++++*#####*++**#########################+::*######*,...  *#+#::+:,::*::::::++++*
,:::.................................................:+:,,.::,,,:.,,,,,,:#*+,,:::*###**++++:*##########################+,,,,...,++:.    ,***:+++:++*++,::+++++*
..+++:,,,.............,..............,........,:...,,,+*+:+:.**,,,,,,,,,##:::::+++::,:::+++++***********************++:,..,,,,,,.     ..,#*+++*****#+::++++++**
...:+++:...............................,.......,,..,*******+,,,,,,,,,,:,#############::::::::::+++++++++++::::::++++++++++++*#######**++:**+++++++++*****+*****
.....,,,,,.........................,......**+,.:++::,,::::::::++++++++++**######################################*************##############++++++++++++++++++++
......+++,.......,..,,..........+***.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,..,,........***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+.,...............................................................................................................................,..,,,.,..,,
............,.**++.,,...,,,.................,,,,,,,,....,,,,,,,,,,,,,,,,,,,,......................................................................,,...,,:++*:*
..............**++.,,...,,,,..............................................,,,,,,,,................................................................,,:*++::***:*
..............***+.,,...,,,,........................,,,,............,,,,....,,,,............................................................,,++::+:++::+*+,,:+
..............**++.,....,,,,..................................................................................................................,:,:::*,,+:*:,,++
..............**++.,....,,,...................................................................................................................*..*::*,,+:*:,.+:
............,,**+:......,,,,..........................................................................................................,.+#*...+..:::*,,+:*,.,+,
............,,**+:......,,,,........................................,,,,,,,,,,,,,,::::::::::::::::::,,,,::,,::::::,,,,::::::::::::::..,+##*+.,*.,:::*,,+:**#*+:
..............**+:....,,,,,,............,.++************************++++**+++*++****************++***#####################*********:..,,***:.,+,:+:+*,,::*##**#
..............**+:.....,,,,,,,..........,.+*+*+************************+******++**************++*+::*#####################********+:::.,:#**++*:,+:+*.,::*##***
,,,,,,....,,..**+:.....,,,,,,,..........,.+++*+***********************++***********************+*++***####################********+:+*+:,*#****++*:+*.,::*+#***
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,.......,+++**************************************************++*++**##################*********++::+++,#####**++:+*.,+:++****
::,,,,,,,:,,,,**+:.,,,,,...,,,..,,,,,,,,,,+*********+*********:,,,:+###+****++++++++::,,.,..,,..,,,,,,,,..,,............ ,+#..,,,,,,,.,:####*#+#**:,,+,:++::+:,
::,,,,,,,,,,,,**+:.,,,,,....,.....,,....,,+*********+*********:,,,:+###+**************::+++++++++++++++++++++++++++++++++##:,***+++:::::####*#:+*+:+*.++:*##***
::::::::::::::**+:,,,:****************++++**********+***+:,,**:,:::*###+**********+*::::::++++++++++++++++++++++::+++++++#+::+,**+*:+:::######+::*:+*,++:*##***
::::::::++++++**+:++*,*+++++::::::::::::::+********::*****+::::,,:::###+****+::,,:+,+:+:,:++++++++++++++++++++++++++++:::+:::+,+:+++++**######*,.+:+*:*++**#***
,,........,,:::+:::+*,*:::++**++++::::::::::::::::::.,::++++++::::*:+*+:***++++++:,:::+.++++++++++++++++++++++++++++::::,:::::::*::++:+*######+  +++*+++:*#****
..................,.............,.................::..,,,,,,.,....,.+*+:+:::: +:::::::,+++++++++++++::::::++::++++::::++::::::++:::.,.....####:..*:+*+*:+**+***
.....,............,.............,.......:,...,...,:.........,...,,...++:++++*+,..,....,,,,,,,,,......#############**,...........,,.,,:::::*###+:.+:+*#*++**::**
,,..............,.,.,.,.........,.......,:,..,...,+,..,,.,....,,,,:::+::+:::,,,..............,.,,,,,,,,,.............................,,*+*####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,.......,+,.......+,,.,,+.......++++:::::::,,,,, . ..........   .....,:::,,,...  .......,...,,::,,. ....+#####+:,*:**#++:::+++#
,,............................,..........:........+,,...+......,:+++::::+:+,,,:::::++:++++++++++::::::,,:+:,,,,.........+*#####*+++.. ..,*####+::*:**#+::+:::+#
......,,,,,...................,..........:........::...,+,....,,::++::::::#+,,,,,,,.....................................            ....,+###**+:+:**:++:::::+#
......,,,,,...................,.........,:,.......+:...,::....:::::::::+++#*:::,::::::,,,,,,,,,,..............................  .   ..,,:+###:++,:,**:+:+++++*#
::,....,,,,....................,........,,:........+...:,+....,+:+++:++++*#+,,,,********++++*###############************+++++++++++:..,,,**#*:++,::**:+:+:+:++*
:::,....,,,.............................,.+.......,,:.,.:,+,,,,.++++++++*##:,,,,*########*++*##########################*+:+*#######+.., ,**#+:++,::*::::::++++*
:::,.......................................:...,..,..+,,..,::,....,,,,,,:##,,:+*++*######*++**########################**::+*######*,... .#*#::+:,::*::::::++++*
,:::................................................::+:,,.::,,,:.,,,,,,*#*+::,:+###**+:++++*##########################*::,,,...,::..    ***:++::++*++,:::++++*
..+++:,,,.............,..............,........::....,:+**:::.**,,,,,,,,,##:,,,,::::+::::::::++******************++++:::,..,+***+,,.   ...+#+++*****#+::+:++++**
...:+++:...............................,.......,,,.,********,,,,,,,,,,,:############+:::::::+*##########******++++::::::::::*###***+::,,,:#*++++++++*****+*****
.....,,,,,.........................,......**+,.:++++::::++::++++++++++++############################************+++++++++++++##############*::+++++++++++++++++
......+++,.......,..,,..........+***.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::,,::::++++++++++******++++++++::,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$..............***+,.,..............................................................................................................................,...,,......
............,.**++.,...............................................................................................................................,...,,......
.............,**++.,...............................................................................................................................,...,,......
............,.**++,................................................................................................................................,...,,......
..............**++.,...............................................................................................................................,..,,,.,..,,
............,.**++.,,...,,,.................,,,,,,,,....,,,,,,,,,,,,,,,,,,,,....,,................................................................,,...,,:++#:*
..............**++.,,...,,,,..............................................,,,,,,..................................................................,,:*+:::***:*
..............***+.,,...,,,,....................,,,,,,,,,,,,,,,,....,,,,....,,,,,,,,........................................................,,++::+:++::+*+,.:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,,++
..............**++.,....,,,...................................................................................................................*..*::*,,+:*:,.+:
............,,**+:......,,,,..........................................................................................................,.:#*:..+..:::*,,+:*:,,+,
............,,**+:......,,,,........................................,,,,,,,,,,,,,,::::::::::::::::::,,,,::,,::::::,,,,::::::::::::::....###++.*.,,::*,,+:*****:
..............**+:....,,,,,,............,.++************************++++**+++*++****************++***#####################*********:..,,+**:,,+,,+:+*,,::*##**#
..............**+:.....,,,,,,,...........,+*+*+***********************++******++**************++*+::*#####################********+::,.,,#**++*:,+:+*.,::*##***
,,,,,,..,,,,..**+:.....,,,,,,,..........,,+++*************************++***********************+*++***####################********+:**+:,##****++*:+*.,::**#***
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,....,,,,+++******************************+++++***************++*++**##################*********++::*+++#####**++:+*.,+:++##**
::,,,,,,,,,,,,**+:.,,,,,...,,,..,,,,,,,,,,**********+*********:,,,:+###************+****+:,,..,,,,,,,,,,,,,,,,,,........,.,+:...,,,,..,,######****:,,+,:++::+:,
::,,,,,,,,,,,,**+:.,.,,,....,.....,,....,,+*********+*********:,,,:+###**************+::+++++*+++++++++++++++++++++++++++##*++**++::::::###*##:+**:+*,++:*##**#
::::::::::::::**+:,,,:****************++++**********+***:+.:+*+,::.+###+************:+::::++++++++++++++++++++++++++++++:+*:+::+*++:*:+:######+::*:+*,++:*##***
::::::++++++++**+:++*,*+++++::::::::::::::+********::****++:::+,,:::###+****+:,,,:::::::,+++++++++++++++++++++++++++++::,:+:+:,+,+++*++*######*,.+:+*:*++*##***
,,........,,::++:::+*,*:::++++++++::::::::::::::::::.,::++:::+::::+:*++:+*++::+++,:,::,,++++++++++++++++++++++++++::::::,::+:::::,,++:+#######+  +++*+++:*#****
..................,.............,.................::,.,,,,,,.,.....,+*+:+:+:: *:::::::,:+++++:+++++++:::+++++++++:::::::::+++:::+:+.::,...+###:..*:+*+*:+**+***
.....,............,.............,.......:,...,...,:.........,...,,...++:+++++:,,.,....,,,,,,,,,.....,##############*:...,,.........,.,,::++###+:.+:**#*:+**::**
,,..............,.,.,.,.........,.......,:,..,...,+,..,,.,....,,,,:::+::+:::,,,..............,.,::,,,,,,... ..........................:+**####++,*:**#*:+++::+#
,,....,.........,.,...........,.,.......,+,.......+,..,,+.......++++::::::,,,,,... ...,....,.........,::::,,..,......... ...,:::,,  .. ..#####+:,*:**#++:::+++#
,,............................,..........:........+,....+......,:+++::::::*,::::::++:::::+++::::::,,....,::,,,,,........,*####**++:,.. ..:####+::*:**#+::+:::+#
......,,,,,...................,..........:........+,...,:,....,,::::::::++#,:::::,,.....................................              .. :###**+:+:**:++:::::+#
......,,,,,...................,.........,:,.......+:,..,::...,:::::::::++*#:::,,::::,,,,,,,,,,,,............  ................   .    ..,+*##:++,:,**:+:+++++*#
::,....,,,,,...................,........,,+........+,..:.+....,+:+++:++++##:,,,,**********++*#**####*************+++++++++::::::::::...,.**#*:++,::**:+:+:+:++*
:::,....,,,.............................,.+.......,,,,..:,+,,,,.++++++++*#*,,,,:*########*++*###########################+:+*####*#**..,, *##+:++,::*::::::+++++
:::,.......................................:...,..,..+,,.,,::,....,,,,,,##*:,:++**#######*++**########################**::+*#######:.....+**::+:,::*::::::++++*
,:::..............................................,,,:,,...::,,,:.,,,,,:##+:,,,:*##**++:++++*##########################*::+++:,..,,...   ,**:++::++*++,:::++++*
..+++:,,,.............,..............,........::...,:++*+:,:.**,,,,,,,,:##++::::::+++++**+:::+:+++++**++++++++++++:::,:,. .+*###**+,   ...##++***+*#:::+:++++**
...:+++:...............................,.......,,,,:#*****++,,,,,,,,,,:*############::::::::*#################************::++++::,,......#*++++++++*****+*****
.....,,,,,.........................,......**+,.++**++++++++++++++++++++*######################**********++++++++++++::+++++++*##############::+++++++++++++++++
......+++,.......,..,,..........+***.,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::::++++++++++++**********************######*:,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,........,,,.***+,.,..............................................................................................................................,...,,......
............,.**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
............,.**++.................................................................................................................................,...,,......
..............***+.................................................................................................................................,...,,.,..,,
............,.**++.,,...,,,..................,,,,,,,....,,,,,,,,....,,,,,,,,,,....................................................................,,...,,:++#:*
..............**++.,,...,,,,..............................................,,....,,................................................................,,+*+:::***:*
..............**++.,,...,,,,........................,,,,,,,,........,,,,....,,,,,,,,.........................................................,++::+:++::+*+,.:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,,+:
..............**+:......,,,...................................................................................................................+..*::*,,+:*:,.+:
............,,**+:......,,,,.............................................................................................................*#*.,+.,:::*,,+:*:,,+,
............,,**+:......,,,,........................................,,,,,,,,,,,,,,::::::::::::::::::::::::,,::::,,,,,,::::::::::::::....+##*+,*.,,::*,,+:*****:
..............**+:....,,,,,,............,.++************************++++**+++*++****************++***#####################*********:..,,.*++,,+.,+:+*,,::*##**#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++**************++*+::*#####################********+::..,:#**++*:,+:+*.,::*#****
,,,,,,,,,,,,..**++.....,,,,,,,...........,+++*************************++***********************+*++***####################********+:**+,,##****+++:+*.,::*##***
,,..,,,,,,,,,,**++..,,,,,,,,,,,,,,......,,+++******************************.....,,,,,,::::::::++:+++****################**********+:,*+:######**++:+*.,::+*##*#
::,,,,,,,,,,,,**+:.,,,,,...,,,..,,,,,,,,,,**********+*********:,,,:+###+***********+**++,,.,,,,,::++++++::::,,,,,,,,,,..,,:++,.........,######***+:,,+::++::+:,
::,,,,,,,,,,,,**+:.,.,,,....,.....,,..,,,,+*********+*********:,,,:+###**************::::++++++++++++++++++++++++++++++++##*:,**++:::::+###*##:+**:+*,++:*##**#
::::::::::::::**+:,,,:****************++++**********+***::.:+*:,,:,+###************+:+::::++++++++++++++++++++++++++++++::*:+:*,*+::+:++######+:,*:+*,+::*##***
::::::++++++++**+:++*,*+++::::::::::::::::+********:,****+:::::,,:::###+****+:,,,:::::::,++++++++++++++++++++++++++++++:,,+:+:::::+++*+#####*#*,.+:+*:*++*##***
,,........,,:::+:::+*,*:::++++++++::::::::::::::::::,,::++++:+::::++*++:*+:,,:+:+:::,::,++++++++++++++++++++++++++::::::,::::::::*::+:*#######+  +++#+*+:*#****
..................,.............,.................::,.,,,,,,.,.....,+*+::++:.,+:::::+:.+++++++++++++::::+++++++++:::::::::::+:::::+:,::. . *##:..*:**+*:+**+***
..................,.............,.......:,...,...,:.........,...,,...++:+++++:........,,,,,,,,,......##############*:...,,....,,..,...,:+++*##+:.+:+*#*:+**::*#
,,..............,.,.,.,.........,.......,:,..,...,+,..,,.,....,,,,::++::::::,,...............,.,:::,,,,,...............................:**####++,*:**#*:+++::+#
,,....,.........,.,...........,.,.......,+,.......+,..,,+.......++++::::+:,,,,...  ..,,.,..,........,,:+:,.,......,.........,,,,...... .,*####+:,+:**#+::::+++#
,,............................,..........:........+:....+......,:+++::::+::,,::,,:::..,,.,::........  ..::*+,,,,.........***++::::,:..  ..*###+::*:**#+::+:::+#
......,,,,,...................,..........+........+:...,:,....,,::::::::+**,,::,,,.............................  ...                  ..,,*##**+:+:**:++:::::+#
......,,,,,...................,..........:,.......+:...,::....:::::::::++##:::,,:::,,,,,,,,,................... ..............   .    ...:*##:++,:,**++:++++*+#
::,....,,,,,...................,........,,+........+...:.+....,+:+++++++##*:,,,:*********+++****++****+++++++++++++++++:::::,,::,,,,,....:***:++,::**:::::+:+++
:::,....,,,...............................+,......,,:...,,+,,,,.++++++++##*,.,:+########**++############################+:+*********:.., :**+:++,::*::::::+++++
:::,......................................,:,..,..,,.+....,::,....,,,,,,##::,:+++*######**++*#########################**+::*#######*,....,**::+:,::*::::::++++*
,:::........................................,.....::,.,,...::,,.:.,,,,,:##+,:::+**+++++++*++**##########################::+****:.,:,...   **:++:::+*+:,:::++++*
..+++:.,,.............,..............,........+:..,:+++++..:.++,,,,,,,,*#***,,::+***####*+++++++**********************#+...:#######*    ..*#++***+*#:::+:++++**
...:+++:...............................,....,..,,,:+#****::+,,,,,,,,,,,###########**+:::::+:*#######################*****+::::,,,,.....  .+#++++++++****++*****
.....,,,,,.........................,......**+,.+*#**+++++++++++++++++++#################******++++++::::::::::::++++++::::::++##############+:::+++++++++++++++
......+++,.......,..,,..........+***.,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,::::::::++++++**************##############**#################*,,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,........,,..***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
.............,**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,.,.,.,
............,.**++.,,...,,,.................,,,,,,,,....,,,,,,,,....,,,,,,,,,,,,...................................................................,...,,:++*:*
..............**++.,,...,,,,............................................,,,,,,..,,................................................................,,:*+:::***:*
..............**++.,,...,,,,....................,,,,,,,,............,,,,........,,,,.........................................................,++::::++::+*+,.:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**++......,,,...................................................................................................................+,.*::*,,+:*:,.+:
............,,**+:......,,,,.............................................................................................................,##*,*.,:::*,,+:*,.,+:
............,,**+:......,,,,........................................,,,,,,,,,,,,,,::::::::::::::::::,,,,::,,::::::,,,,::::::::::::::....,##**+*.,,::*,,+:*****,
..............**+:....,,,,,,............,.++************************++++**+++*++****************++***#####################*********,..,,,:++,,+,,+:+*,,::*##***
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++**************++*+::*#####################*********::,.:::**++++,+:+*.,::*##***
,,,,,,,,,,,,..**++.....,,,,,,,...........,+++*************************++***********************+++++**####################*********:+:+,*#******++:+*.,::*##***
,,..,,,,,,,,,,**++..,,,,,,,,,,,,,,......,,+++*****************************:.....,,,,....,,,,,,,,........,,............,,,,::::::++:::*++*####****+:+*.,:,+**#*#
::,,,,,,,,,,,,**+:.,,,,,...,,,..,,,,,,,,,,+*********+*********:,,,:+###***************+:++:+********++++++++++++++++++++:,.**+*+++:::::**####*+***:,,+::++::+:,
::,,,,:,,,,,,,**+:,,,,,,....,.....,,..,,,,+*********+*********:,,,,+###*************::::::++++++++++++++++++++++++++++++:+#*+:,*++:::::#*#*###:+**:+*,++:*##**#
::::::::::::::**+:,,,:****************++++**********+**+:,::+*:,:+,+###***********+:++::,:+++++++++++++++++++++++++++++++:*::::*,*:+:+:#######+::*:+*,:+:*##***
::::::++++++++**+:++*:*+++::::::::::::::::+********:,****:,::::,,:::###+****+::,,::,:::,+++++++++++++++++++++++++++++++::::*:::::::++**#######*:.+:+*:*++**#***
,,........,,:::+:::+*:*:::++++++++::::::::::::::::::,,::+:++++::::+:*+++::,,,.,,++::::.+++++++++++++++++++++++++++++,,::.,::+:::::*:***#######+  +++#+*+:*#****
..................,.............,.................::,.,,,,,,.,.....,+*+:::+,.+,,,,,,:,++++++::++++::::::++++::::::::::::::::::::::+*,:+:... *#+ .*:**+*:+**+***
.....,............,.............,.......:,...,...,:.........,...,,...+::+++++,......,,,,,,,,,,,....,,###############+.....,.........,..,++++*#+:.+:**#*++**::*#
,,..............,.,.,.,.........,.......::,..,...,+,..,,......,,,,:::+::::,,,...............,,,,:::,,,,,... ......................... ,,+*####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,.......,+,,......:,..,,+.......++++::::::,,,,... ...,.,,, .. ......,,:+,,,,......,......,,.,:,,........,,*###+:,*:**#+::::+++#
,,,...........................,..........:......,.+,....+......,::++::::::,,:,,,:.,,....,,:,............:+*+:,,,,........+++::,,,,,,..   .,*##+::*:**#+::+:::+#
......,,,,,...................,..........+,,....,.+,...,:,....,,::::::::#*,::::,,,...................... ......  .                     ..,:*#++::+:**:+::::::+#
......,,,,,...................,..........+,.....,.:,...,::....:::::::::+##:::::::,,,,,,,....................... ..............  ..    ....:+*:++,:,**:+:++++*+#
::,....,,,,,...................,........,,:.....,..+...,.+....,+:++++++*#*::::+***++++++++++++++++++::::::::::::::::::::,,,,,,,,,,..,...,.***::+,::**:::::+:+++
:::,....,,,...............................+,.......,,...,,+,,,,.+++++++##*:,:::*########*++*############################*+:+**++*****..., +*+:++,::*::::::::+++
:::,....................................,.,:,..,..,..+....,::,....,,,,,##+::::+*########*+++############################+::+########+.....*#+:++,::*::::::++++*
,:::........................................,.......,..,...::,..:.,,,,*##::::+***+++*****++*############################+:+*####*+,,,...  .**+:::::*+:,:::++++*
..+++:.,,.............,..............,........+*::::,:,,,..:.+::,,,,:,##**+::::+#######*++++############################,...,:**####.   . .**+***+*#:::+:+++***
...:+++:...............................,...,,..+++++**:,+,:+,,,,,,,,,:##+++++***++++++++*****#######*******************+::,,,......    ..  *#+++++++****++*****
.....,,,,,.........................,......***:,*##*+++++++++++++:++++:#############+::::::::,,:,::,,::::::::::::::::::::::::::+############*#+::+++++++++++++++
......+++,.......,..,,..........+***.,,+:,,,,,,,,,,,,,,,,,::::::::::+++*****#################################################################,,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,........,,..***+,.,...,,.........................................................................................................................,...,,......
............,.**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,.,..,,
............,.**++.,,...,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................,,...,,:++*:*
..............**++.,,...,,,,............................................,,,,....,,..............................................................,,,,:*+:::***:*
..............***+.,,...,,,,................,,,,....,,,,,,,,........,,,,,,,,....,,,,.........................................................,++::::++::+*+,.:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**++......,,,..................................................................................................................,+..*::*,,+:*:,.+:
............,,**+:......,,,,............................................................................................................,.###++.,:::*,,+:*,.,+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::::::::,,,,::::::::::::::....,,##***.,,::*,,+:***+*,
..............**+:....,,,,,,..............*+************************++++**+++*++****************++***#####################*********,..,,..*+,,+.,*:+*,,::*##**#
..............**+:.....,,,,,,,............+*+*+***********************++******++**************++*+::*#####################********+::,,:,+***+*+:+:+*.,::*##***
,,,,,,,,,,,,..**++.....,,,,,,,..........,.+++*************************++*+************++*******+*+++**####################********+:*,.:##******++:+*.,::*****#
,,..,,,,,,,,..**++..,,,,,,,,,,,,,,......,.+++*****************************::::::,,,,,,,,,,..........................,,,,..,,:,,,,,.......:##******:+*.,:,+###**
::,,,,,,,:,,,,**++.,,,,,...,,,..,,,,,,,,,,**********+*********:,,,:+###**************,::++************************+++++++++**,**++::,,###+####****:,::::++,:+:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,..,,,,+*********+*********:,,,:+###************+:::::+++++++++++++++++++++++::++++++::##+++,*:::::###*####:**+:+*,++:*##**#
::::::::::::::**+:,,,:****************++++**********+*+::,++:*:,:+,+###**********+:+:::,::++++++++++++++++++++++++++++++::+*::::+,,:+:########*:,*:+*,+::*##***
::::::::++++++**+:++*,*+++::::::::::::::::+********:,***:,,+:,:,,:::###+****+::,::,::+,++++++++++++++++++++++++++++++++::::*+::::+:+++########*:.+:+*+*++**#***
,,........,,:::+::++*:*:::++++++++::::::::::::::::::.,:::+++:+,:::+:*++::,,.,,:::::::,++++++++++++++++++::++++++++++::,,,::::+::::,::+########+  +++*+*+:*#****
..................,.............,.................::,.,,,,,,.,.....,++:+++: :,,,,,,,,,::::::::::::::::::++::::++:::::::::::::::::::::.**,... **..*:**+*::**+***
..................,.............,.......:,...,...,:.........,...,,...++:++++,,......,,,,,,,,,.,,....################+.....,......... .,,++++*#+:.+:**#*++**::*#
,,..............,.,.,.,.........,.......::,..,...,+,..,,......,,,,:::+::+,,,.................,,,::,,,,,,... ............................,*####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,.......,*,,......:,....+.......++++::::,,,,..,...,,,,,....  .......::::,,,,....... .... ,,,,:::,,..,......###+:,*:**#+::::++*#
,,............................,..........:...,....:,....+......,::++::++:,:::,.,,,..,,,,,::,..........,::+++,,........  .+::,,,,,,,,,... ..:##++:*:***+::+:::+#
......,,,,,...................,.........,+...,....+,...,:,....,,::::::+#,,:::,,,........................ ....... .                    . ...+#+*+,+:**:+::::::+#
......,,,,,,.......,..........,..........+,..,....:,...,::....::::::::*#*:::,:::,,,,..............................................     ..,.**:++,:,**:+:++++*+#
::,....,,,,....................,........,::........+...,,+....,+++++++##::::,+++++++++++::++++++::::::,,::::::::::::,,,,,,,,.......     ..,*+:+:,::**:::::+:++*
:::,....,,,...............................+,......,,,...,,+,,,,.:++++*##:,,,,+*######***+++#############################++++*********:.....**::+,::*::::::::+++
:::,...................................,,.,:,..,.....+....,::,...,,,,*##::::++*########*+++#############################++++########*:.. ..**+++,::*::::::++++*
,:::........................................,..........,...::,,,:.,,,##*:::+++**+***###*+++#############################+::*######*+,....  ***+::::*+:,:::++++*
..+++:.,,.............,..............,......,:**,..,...,,..:.+::,,,,,##++:,::+*#####**::++**############################,.......:+***    ..:#****+#*:::+:++++**
...:+++:...............................,....,::+++++*+.,+,:+,,,,,,,,+##:::::++++:::+::::+++***********************+++++:,. .:::,,.,.     , ,#*+++++++***++*****
.....,,,,,.........................,...,..**#*+*##*+::::,,,,,,,,::::*##############,,,,,,,,:,:++++++++++::++::::::::::::,,,,,:+********+::,,#*::::::+++++++++++
......+++,.......,..,,..........****.,.+:,,,::::::++++++++++++++++++**##################################################********##############,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,........,,..***+,.,..............................................................................................................................,...,,......
............,.**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,.,..,,
............,.**++.,,...,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................................,,...,,:++*:*
..............**++.,,...,,,,............................................,,,,,,,,,,................................................................,,:*++::***:*
..............**++.,,...,,,,....................,,,,,,,,............,,,,........,,,,.........................................................,++::+:+*::+*+,,:+
..............***+.,....,,,,..................................................................................................................,:,:+:*,.+:*:.,++
..............**++......,,,...................................................................................................................+,.*::*,,+:*:,.+:
............,,**+:......,,,,..............................................................................................................*#**+..,::*,,+:*:,,+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::::::::,,,,::::::::::::::....,,##**+..,::*,,+:**++*,
..............**+:....,,,,,,..............*+************************++++**+++*++****************++****####################*********:..,,..++,,+.,*:+*,,::*##**#
..............**+:.....,,,,,,,..........,.+*+*+***********************++******++**************++*+::*#####################********+::,:,:+***+++:+:+*,:::*##***
,,,,,,,,,,,,..**+:.....,,,,,,,...........,+++*************************++*:++++++**************++++++**##**##############**********+:*: *##*#******:+*.,::*#***#
,,..,,,,,,,,..**++..,,,,,,,,,,,,,,.......,+++*****************************++++++++++++++::,,.........................,.....::+........,.,,*#*#****:+*.,:,+##***
::,,,,,,,:,,,,**++.,,,,,,,.,,,..,,,,,,,,,,**********+*********:,,,:+###************++::+*+**************++**********++++*:*##:**+*::,:########****:,::::++,:+:,
::,,,,:,,,,,,,**+:,,,,,,....,.....,,,,,,,,+*********+*********:,,,:+###************:::::+++++++++++++++++++++++++++++++++:##++::::::,,###*####:***:+*,++:*###**
::::::::::::::**+:,,,:+***************++++**********+**:::++:+:,:+.+###+*********::::::,:+++++++++++++++++++++++++++++++:::*::+:*:::::########+::*:+*,:+:*##***
::::::::++++++**+::+*,*+::::::::::::::::::+********::***+,,+:,:,,:::###+****+::,::::::,+++++++++++++++++++++++++++++++++:,:++::::,,:+*########*:.+:+*:*::**#***
,,........,,:::::+++*:*:::++++++++::::::::::::::::::.,:,++++::::::+:**::,,:,,:,,:::::,++++++++++++++++++::++++++++++::::::,::+::::::,+########+  +:+*++::*#****
..................,.............,.................::,.,,,,,,.,.....,++++++ +:,,,,,:,,:::::::::::::++++++++++++++::::::::::::::::::::*,**:,.  ++..+:+*+*::**+***
..................,.............,.......:,...,...,:.........,...,,...++:++::.,....,,,,,,,,,,,.,,..,,###############*+.....,......... .,.+++++*+,.+:**#*++**::*#
,,..............,.,.,.,.........,.......::,..,...,:,..,,......,,,,:::+:::.,................,.,,::,,,,,..................................,+####+:,*:**#*:+++:+*#
,,....,.........,.,.............,.......,*,,......:,....+.......+++++++,,.,,.... ....,,..,.... ..,,,++:,,,... ...........,:,,..............###+:,*:**#+::::++*#
,,............................,..........:........:,....+......,::++++:,,,,,,,+.....,,,:::............,:+**::,,..........+,.,,,,,,,,,...  .,##+::*:***+::+:::+#
......,,,,,...................,..........+,.......+,...,:,....,,::::::*+::::,,,......................... ......         ......      ......,:#+++:+:**:+::::::+#
......,,,,,,.......,..........,.........,+,.,.....:,...,::....:::::::+#*:::,,:,,,............................ ...........   ....       ... *+:++,:,**:+:++++*+#
::,....,,,,,...................,........,::........+...,.+....,+++:::*#*+:,,:+::::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,..    ,,.*+::+,::**:+:::+:++*
:::.....,,,...............................+.......,,,...,,+,,,,.:+++:##+:,,:+*********++++##############################++***********:.....**+++,::*::::::::++*
:::,...................................,,..:,..,.....+....,::,...,,,+##+::::+*########*+++##############################+:+*#########:...  **+++,::*::::::::++*
,:::......................................,.,.........,,...:,:..:.,,*#*:::*++++*######**++*############################*+::*#######*,,.... :**+::+:*+:,:::++++*
..+++:.,,.............,..............,....,,:,*+,,., .,,,..:.:::,,,,##++:,:::*###*++++++++*############################*:,,,,....,,:,,.    ,#****+**:::+:+++++*
...:+++:...............................,...:::::::+,*+.,+,:+,,,,,,,:##+:::::::++++++**+:::+++++++++++++++++++:::::::,:,,.. :*####*++.    ...#*+++++++***++++***
.....,,,,,.........................,...,..###*+*##+,,,,,,,,,,,,,,,::##############*,,,,,:,*#################******++++**++++::+:::::,,,,....*#::::::+++++++++++
......+++,.......,..,,..........+***.,,+::::::++++++++++++++++++++++##############################################******++::::::##############,,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,......,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++**********************##****+:,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,........,,..***+.,,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............***+.................................................................................................................................,...,,.,.,.,
..............**++.,,...,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................................,,...,,:++#:*
..............**++..,...,,,,............................................,,,,,,,,,,................................................................,,+*+:::***:*
..............***+..,...,,,,................,,,,,,,,,,,,............,,,,....,,,,,,,,........................................................,,++::+:++::+*+,.:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**++......,,,...................................................................................................................+,.*::*,,+:*:,.+:
............,,**++......,,,,.............................................................................................................,:##**..,::*,,+:*,.,+:
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::::::::::,,,,::::::::::::::.....,##*#*,,,::*,,+:**+,*,
..............**+:....,,,,,,..............*+************************++++**+++*++****************++***#####################*********:...,..,+:,+..+:+*,,::*#***#
..............**+:.....,,,,,,,............+*+*+************************+++****++**************++*+::*#####################********+::,,:+******+:+:+*.,::*#****
,,,,,,,,,,,,..**+:.....,,,,,,,..........,.+++*************************++:,,,,,,,,,..................,,,,,,::::::++++***************::,.####*******:+*.,::*****#
,,..,,,,,,,,,,**++..,,,,,,,,,,,,,,......,.+++*********************************++*+***+:,....,,,,,,,,..................,,++:+:*::::,,,,,,,,,*##****:+*.,:,+##***
::,,,,,,,:,,,,**++.,,,,,,,.,,,..,,,,,,,,,,**********+*********:,,,:+###+***********,++++++++**++++++++++++++++++++++++++++*##:,*+*:::*#######**##+:,::::++,:+:,
::,,,,:,,,,,,,**+:.,,,.,....,.....,,....,,+*********+*********:,,,:+###*********+:::::::++++++++++++++++++++++++++++++++:+*#:::+,+:::*#######*++**:+*,++:*##**#
::::::::::::::**+:,,,:****************++++**********+*::,*+::::::+.+###********::*:::,::++++++++++++++++++++++++++++++++:::+:::::,+::########*+::*:+*,+::*##***
::::::::++++++**+::+*,*+::::::::::::::::::+********:,**::,##::::,:::###+****+:,:,:,,,,++++++++++++++++++++++++++++++++++:,:++:::::+,+#########*:.+:+*:*::*##***
,,........,,:::+:+:+*:*:::++++++++::::::::::::::::,:.,::++++:+::::+::+:...:,:::::::,:+++++++++++++::::::+++++++++++++++++:,:::::+:+*,,###*###*+  +++*++::*#****
..................,.............,.................::,.,,,,,,.,......:++++.:,,,,,,,,.::::::::::::::++:::::+::::::++::::::::::::::::::*:+*+:,. .:..*:**+*::**+***
..................,.............,.......:,...,...,:.........,...,,...++:++,.....,,,,,,,,,,,,,.,,.,.################*,.....,......... ...:+++**+:.*:**#*++**::*#
,,..............,.,.,.,.........,.......::,..,...,:,..,,......,,,,:::::,,,...............,,,,,,:,,,,,................................. .,:####+:,*:**#*:+++:+*#
,,....,.........,.,.............,.,,....,*,,......:,..,,+.......+++++,,.,,..,...,.,,... ......,.,,:++:,,,,.............. ,,,...............+##+:,*:**#+:::::++#
,,............................,..........:........:,....+......,::++::,,,,,.,......,,,.,,...........,::+++,:,,...........,,,,,,,,,,.,....  ,##++:*:**#+::+:::+#
......,,,,,...................,.........,+........:,...,+,....,,::::**:::::,............    ..............,,...     .... .......,,,, .  ...,*++::+:*+:+::::::+#
......,,,,,,.......,..........,...,,....,+,.......:,...,::....:::::+##,:::,:,,,,...........................   ..........                 . +++++,:,**:+:++++*+#
::,....,,,,,...................,..,,....,::....... +...,.+....,+::+*#*++,,:+:::::::::::::,,,::,,,,,,:,,,,,,,,,,,,,,,,,,,............  ...,,**:++,::**:::::+:++*
:::.....,,,..............................,+,......,,,...,,+,,,,.:++*#*:::,:***********++*#########################*****+++***++++++++:.. ,.**+++,::*::::::::++*
:::,...................................,,.,:...,.....+....,::,...,:##+,::::*#########*++*##############################*+++*########*: .., **+++,::*::::::::++*
,:::........................................,.........,....:,:..:.*#*::::+++**#######*+++############################***::+*########+, ... +#*+::::*::,:::++++*
..+++:.,,.............,..............:.......,::......,,,..:.::::,##*+::::++#**+++++++++*##############################*::**##*+,.,,,...   ,*****+**::::::++++*
...:+++:..............................,.,::::.,:,,..+:.,+,,+,,,,,,##+++:,::+**######*++++***********##########****##*#*+...,**######:    ...##+++++++*++++*****
.....,,,,,.........................,...,,:###*:+++:,.,,,,,,,,,,,,:##************+*++*****############******************+::,,,,.......    .. *#++::+++++++++++++
......+++,.......,..,,..........+***.,,+*+++++++::::::++++++++++++##############################********++++++:::::::::,,,,,,,,.############*#:,,,,,,,,,,,,,,,,
,.....:++,..,,..,***+:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++******########################################**##################,,,,,,,,,,,,,,,,,
:,,,.,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,........,,..***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,.,..,,
..............**++.,,...,,,.................,,,,,,,,....,,,,,,,,,,,,,,,,,,,,.......................................................................,...,,:*+*:*
..............**++.,,...,,,,............................................,,,,..,,,,,,..............................................................,,:*+:::***:*
..............***+..,...,,,,....................,,,,,,,,............,,,,....,,,,,,,,........................................................,,++::+:+*::+*+,,:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**++......,,,.................................................................................................................,,+..*::*,,+:*:,.+:
............,,**+:......,,,,...............................................................................................................##**..,::*,,+:*,.,+:
............,,**++......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::::::::::,,,,::::::::::::::....,,*###*.,:::+,,+:*++.+,
..............**+:....,,,,,,..............*+************************++++**+++*++****************++****####################*********:...,.,,+:,*,,+:+*,,::*#***#
..............**+:.....,,,,,,,............+*+*+************************+******++**************++*+::*#####################********+::,,:+*******++:+*.,::*#****
,,,,,,,,,,,,..**+:.....,,,,,,,..........,.+++*************************++,,......,,..,,,,,,,,,,,,......,,....,,..,,,,,,,,,,::::+++++:,,,####*******:+*.,::*****#
,,..,,,,,,,,,,**++..,,,,,,,,,,,,,,......,.+++***************************************+,.,,,,,::::::::::::::::::,,,.......,,,:++++++++::::::++##*#*+:+*.,:,+##***
::,,,,,,,:,,,,**++.,,,,,,,.,,,..,,,,,,,,,,**********+*********:,,,:+###***********::++:+++++++++++++++++++++++++++++++++++##*:++:*:::*#####*##*##+:,::::++.:+:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,..,,,,+*********+*******+*:,,,:+###+********:::::::+++++++++++++++++++++++++++++++++:++#:::+,::::########*++**:+*,++:*##**#
::::::::::::::**+:,,,:****************++++**********++:::**+:::,:+.+###+******+:+:+::,::+++++++++++++++++++++++++++++++++:,::::::::::########*+::*:+*,:+:*##***
::::::::++++++**+::+*,*+::::::::::::::::::+********::*+:,,#*+:,:,:::###+*****::,::::,++++++++++++++++++++++++++++++++++:::,:::::::+:+#########*,.+:+*:+::*##***
,,........,,:::+:+:+*:*:::++++++++::::::::::::::::,:.,::++++++:::::::,,..:+::::::::.++++++++++++++::::::++++::+++++++++++:,:::::++:+,.**#***#*+  +++*++::*#****
..................,.............,.................::,.,,,,,,.,......+***,:,,,,,,,,,,,,::::,,::::::++++++++:::+::::::::::::::::::::::+:,*+:.   :..*:**+*::**+***
..................,.............,.......:,...,...,:.........,........++,:,..........,,,,,.,,,.,,.,**###############*......,.............::++**+:.+:**#*++**::*#
,,..............,.,.,.,.........,.......::,..,...,:,..,,......,,,,::::,,,................,.,,,::,,,,.................................. ..,####+:,*:**#*:+++:+*#
,,....,.........,.,.............,.,,....,*.,......:,..,,+.......++:+,,,,,,.,...,.,.....,.....,..,,:++:,,,,...... ........,.............. .::##+:,+:**#+:::::++#
,,............................,..........:........:,....+......,::++:,,,,,.,......,,,,,,............,::+++,,,,. ........:,,,,,,,,,..,....  .*#++:*:**#+::+:::+#
......,,,,,...................,..........+........:,...,:,.....,:::**:::::,,............    .............,.....  .  .... .......,,,, .  ...,**++:+:**:+::::::+#
......,,,,,,.......,..........,...,,...,.+,.......:,...,+:...,::::+##,:::,:,,,,,............................   .........                 . :+:++,:,**:+:++++*+#
:,,.....,,,,...................,..,,...,.,:........+...,.+....,+::##*+:,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..........    ....,+*+++,::*+:::::+:++*
:::.....,,,...............................+.......,,,...,,+,,,,.::##+:,,,:***********+++################***************+++**+++++++++,.. ,.+*:++,::*::::::::++*
:::,...................................,,,,:...,.....+....,::,...,##+,:,,:*#########*+++###############################*:+**########*: .,, **+++,::*::::::::++*
,:::......................................,.,.........,....:,:.,:*##::::++**########*+++#############################*#+::+*########+..  ..+#*+::::*++,:::::++*
..+++:.,,.............,..............:......,.+:.......,,..:.:::,##*:::::+*#*++:+***++++###############################+::*####*:,,,....   ,#****+**++:+::++++*
...:+++:..............................,,:::,,,.,,,..+:.,+,,+,,,,:##+++,:::+*#######*++++**######****###################,....,+*#####,      .*#+++++++*++++*****
.....,,,,,.........................,...+++##*:,+++:,,,,,,,,,,,,,:##*++++****++++++++++**########**********************+:,,,.........   ..,..*#+:::+++++++++++++
......+++,.......,..,,..........****,,:***++++++++::::::+++++++++################*******++++++::::::::::::::,,,,,,,,,..,,,,,,,..########*****#+,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++*******#####################################################################*,,,,,,,,,,,,,,,,,
:,,,,,++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$....,,,,..,,..**++,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++,................................................................................................................................,...,,......
..............**++,................................................................................................................................,..,,,.....,
..............**++.,,...,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................,...,,:*+*:*
..............**++.,,...,,,,............................................,,,,..,,,,,,..............................................................,,:*++::***:*
..............**++......,,,,....................,,,,,,,,............,,,,....,,,,,,,,........................................................,,++::+:+*+::*+,,:+
..............**++......,,,,..................................................................................................................,:,:::*,,+:*:.,+:
..............**++......,,,.................................................................................................................,,+..*::+,,+:*:,.+:
............,,**+:......,,,,..............................................................................................................,#***..,::*,,+:*:,,+,
............,,**++......,,,,....................................,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,::::......+#***,,:::+,,+:*++.+,
..............**+:....,,,,,,..............*+************************++++**+++*++**************++++****####################*********:...,,,,++:*,,+:+*,++:*##**#
..............**+:.....,,,,,,,............+*+*+***********************++**++**++************++++*+::*#####################*********::,::********++:+*,,::*#****
,,,,....,,,,..**+:.....,,,,,,,..........,.+++*************************+:........,,,,........,,..,,,,........,,..,,,,........,,..,,,,..,:++++******:+*.,::*****#
,,..,,,,,,,,,,**++.,,,,,,,,,,,,,,,.......,+++**************************************+,,:::+++++++++++++++++++++::::::,,,.,,,:++**++++++++++++##*#*+:+*.,:,+##***
::,,,,,,,,,,,,**++.,,,,,...,,,..,,,,,,,,,,**********+*********:,,,:+###+*********:::::++++++++++++++++++++++++++++++++++:+##*+*,++:::#####**##*##*:,::::++.:+:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,..,,,,+*******************:,,,:+###********+,::::::++++++++++++++++++++++++++++++++++::#:::+,,:::########*+***:+*,++:**#**#
::::::::::::::**+:,,,:****************++++**********:+:,***++::,:+.+###+****+*:+::::,::+++++++++++++++++++++++++++++++++:,:::::::*:,+########*+::*:+*,:+:*##***
::::::::++++++**+:++*,*+::::::::::::::::::+********::*+:.+#*+:,:,:::###+****:,,::,:,+++++++++++++++++++++++++++++++++++:+,,:::::::*:*#########*,.+:+*:+:+*##***
,,........,,::++:+:+*:*:::++++++++::::::::::::::+:::.,:+::::++::::::,,..++:,::::::,+++++++++++++++::::++++++::+++++++++++::::+:::::+..****+**#+  +++*++::*#****
..................,.............,.................::,.,,,,,,.,.....***+,:,,,,,...,,,,,,,,,,,,,::::::::::::::++++::::::::::::::::::::+:.**:..  ,..*:**+*::**+***
..................,.............,.......:,...,...,:.........,........+:::.......,,,,,,,,,.,,,.,,,,**###############*......,......... .,.,:++**+:.+:**#*++**::*#
,,..............,.,.,.,.........,.......::,..,...,:,..,,......,,,,,,,,,,.................,,,::,,,,,,.................................. .,,####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,.,,.....*.,......:,..,,+.......:+:,,.,,,.,...,.,,....,......,,,::+++:,,........ .......,,,, .............,,##+:,+:**#+:::::++#
,,............................:..........:........:,....+......,::::,,,,,.,,.....,,,,,,,..... ......:+:*+:,,,,..........+,,,,,,,,,.,.....  .*#++:*:**#+::+:::+#
......,,,,,...................,,,,.......+........:,...,:,.....,::*+::::,,,.........      ...............,,,..      .. .......,,,,:,..  ...,++++,+:*+:+::::::+#
......,,,,,,.......,..........,,,,,,,....+,.......:,...,+:....:::+#*,:::,:,,,,.......................... .. ..............  ..         . . :+:++,:,**:::++++*+#
:,,.....,,,....................,..,,..,.,,:........+...,.+....,+:*#*+:,,,:++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,..............     ...,**:++,::*+:::::+:++*
:::.....,,,...........................,.,.+.......,,,...,,+,,,,.+##+:,,,:************++*########**********************++++++++++++++:,.. ,.+*+++,::*::::::::++*
:::,...................................,,..:...,..,..+...,,::,,,:##+,,,:+##########*+++################################+:+***********. .:, **+++,::*::::::::+++
,:::....................................,...,.........,,...:,:,.##*+,,:+++#########*+++*#############################**::+*#########+..  . +#*:::+:*++,:::::++*
..+++:.,,.............,..............:,,..,...::.......,,..:.:+:##+:::::++*+++++****+++*##############################*+:+*####*+:,,.. .   ,#****+**++:+::++++*
...:+++:............................,,:::,.,,..,,,..+:.,+,,+,,,:##++:,:::**######**++:+*##############################*,.....,:+*###.     ..##+++++++*++++++***
.....,,,,,........................,,.,:+++***,.+++:,,,,,,,,,,,,+##:::::++++++++++++++++***************************++++,.....,,,,,.. .  ..,,,*#++::::+++++++++++
......+++,.......,..,,..........+***,:+**+++::++::::::++::::+++*################*::::::,,,::++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,:******++:::,*#+:,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,,:,::,,,,,,,,,,,,,,,,,,::::::::++++++++**##############################################################*#**##########+,,,,,,,,,,,,,,,,
:,,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::,,,,,,:,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+,................................................................................................................................,...,,.....:
..............**++.,,...,,,.................,,,,........,,,,,,,,,,,,,,,,,,.........................................................................,...,,:*+*+*
..............**++.,,...,,,,............................................,,,,..,,,,,,..............................................................,,:*+:::***:*
..............**++......,,,,....................,,,,,,,,............,,,,....,,,,,,,,........................................................,,+++:::+++:+*+,,:+
..............***+.,....,,,,..................................................................................................................,:,:::*,,+:*:,.+:
..............**++......,,,..................................................................................................................,+..*::*,,+:*:,.+:
............,,**+:......,,,,...............................................................................................................*#*+,.,::*,,+:*,.,+,
............,,**+:......,,,,........................................,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::......,###+:::::+,,+:*::.+,
..............**+:....,,,,,,..............++**++********************++++**+++*++**************++++***#####################*********:..,,.,.++:+:++:+*.*::**#**#
..............**+:.....,,,,,,,............+*+*+**********************:::::::++++++********++++++++::+*##################***********::,,:********+*:+*.,::*#****
,,,,....,,,,..**+:.....,,,,,,,..........,.+++************************+++++::::::::::,,,,............................,,....,::.,,......,,,,.,:*****:+*.,::*****#
,,..,,,,,,,,..**++..,,,,,,,,,,,,,,....,,.,+++*********************************+*,+::+:++++++****++**+++++*++**+++++++++++:,*+:**+++:::******+#***+:+*.,:,+##**#
::,,,,,,,:,,,,**++.,,,,,...,,,,,..,,,,,,,,+*********+*********:,,,:+###+******::::::+++++++++++++++++++++:++++::+++++++++:##++*,++*:*#######*#*##*,:::::++.:+,,
::,,,,,,,,,,,,**+:.,,,,,....,....,,,,,..,,********************:,,,:+###*****:::,:::::++++++++++++++++++++++++++++++++++++:*+::::,.+:+#########:**+:+*,++:*##***
::::::::::::::**+:,,,,******************++**********:::*****+::,,:.+###+**+:+::::,,::++++++++++++++++++++++++++++++++++::::+:::::*,,*#########+::*:+*,+::*##***
::::::::++++++**+::+*:*+::::::::::::::::::+*******+::++:+*##+,,:,:::###+*:,:::::,,+++++++++++++++++++++++++++++:++++++::::::+:::+:+:*#########*,.+:+*++:+*##***
,,........,,::+*::::*:#:::++**++++++:::::::::::::+::.,++++::::,:::,.,:+,,::::::,,++++++++++++++++++++++++++++++++++++++++:::::::++,+..::,,,,:+:  +++*+*::*#****
.................,,.............,.................::,.,,,,,,..,.:+**++,,.,..,,,,..,,....,,,,..,,,,,,,,,,,,::::::::::++::::::::::::::+,.#*:,.  ...*:**+*::**+***
..................,.............,.......:,...,..,,:.........,...,,,,:,..........,,,,,,,,,.,,,.,,:+++********#####*:.....................:+++**+:.*:**#*+:**::*#
,,..............,.:...,.........,.......::,..,...,:,..,,......,,...,....................,,::::,,,,....  .................................,####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,........*.,......:,....+......,,.,,,..,..,,.......,......,..,,::+::,,,,.......,.......,,,,,...... ......,.,##+:,*:**#+:::::++#
,,............................:..........:........:,....+.....,,,,,,,.,,......,,.,,,..............:+++:::,,......... .,,,,,,,,,,,,.,.....  .*#++:*:**#+::+:::+#
......,,,,,...................,,,,.......+........:,...,+,...,:*,,:::,,,................      .........,,,,.  ..    .. .....,,::++:. .  ...,*++:,::**:+::::::+#
......,,,,,,.......,..........,,.,,......+,.......:,...,:,..,.##,,,:,,:,,,...............................................             .  . ++:++,:,*+:::++::++#
:,,.....,,,...................,,.,,,....,,:........:...,.+...+#*::,,,:::::::::::::::,,,,,,..,,,,,,,,,,,,,,,,.....................      ...,**:++,::*+:::::+:++*
:::.....,,,.......................,.......+.......,,,...,,+,,##*:,,,,**************+**************++++++++++++++++++::::::::::::,,,,. ...,.**+++,::*::::::::++*
:::,...............................,...,...:...,..,..+...,,:+##*,,,,:*##########*+++#################################*++************:...,..**+++,::*::::::::+++
,:::................................,.................,,...,*##:,:::++##########*+++#################################*::+*#########*,......***:::::++:,:::::++*
..+++:.,,.............,..............:,.......::......,,,.,,##*::::+**++++*#####*+++#################################*:++*#######*:,..  .  +#***#+**++:+::++++*
...:+++:..............................,,,......,,...+:.,:,,:##++:,:::+######**++++++#################################+,,,,,,....,:+:..     ,#*+++++++++++++++**
.....,,,,.......................,::+:,.,:,***,.+:+:,,,,,,,,:##::,,::+:::+++++++++:::++++++**++++++++++++++++::::::::... ,+######**+     ...,#*++::::+++++++++++
......+++,.......,..:,..........*###+++**,,,,,,,,,,,,,,,,,,+##################*,,,,.**########################*********+++::::::,,,,..   . .##:,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,:,,::::::::::::::::::::::::::++++++####################################################****++++::,,,,,:##############+,,,,,,,,,,,,,,,,
+.,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++**********################################**####################*#:,,,,,,,,,,,,,,,,
,::,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+,.,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+,................................................................................................................................,...,,.....,
..............**++.,,...,,,.................,,,,....,,,,,,,,,,,,,,,,,,,,,,.........................................................................,...,,:*+*+*
..............**++.,,...,,,,............................................,,,,..,,,,,,..............................................................,,:*+:::***:*
..............**++......,,,,....................,,,,,,,,............,,,,....,,,,,,,,........................................................,,+++:::+++:+*+,,:+
..............***+.,....,,,...................................................................................................................::,:::*,,+:*:,,:+
..............**++......,,,..................................................................................................................,+..*::*,,+:*:,.+:
............,,**+:......,,,,..............................................................................................................,+**+,.,::*,,+:*:,,+:
............,,**+:......,,,,........................................,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,......,###*:::::*,,+:*+:,+:
..............**+:....,,,,,,..............++**++********************++++**+++*++**************++++****####################*********,..,,.,.++,+:++:+*.*::*##***
..............**+:.....,,,,,,,............+*+*+*********************,,,,,,::::::++++*********++++++:*###############**##***********::,,:+*******++:+*.,::*#****
,,,,....,,,,..**+:.....,,,,,,,..........,.+++*+**********************+++++++++++:+::,,..................................,,:+*:,,......,,..,,:*****:+*.,+:*****#
,,..,,,,,,,,..**++..,,,,,,,,,,,,......,,,.+++***********************+**********:+:++:+++++++****+++++++++++++++++++++++++++*,,**+++:,:***********+:+*.,:,+##**#
::,,,,,,:,,,,,**++.,,,,,...,,,,,..,,,,,,,,+*********+*********:,,,:+###+*****,::::::++++++++++++++++++++++++++++:+++++++++#*++*,++****########*##*::::::++,++,,
::,,,,,,,,,,,,**+:.,,,,,....,....,,,,,....**********+*********:,,,:+###+***:::::::::++++++++++++++++++++++++++++++++++++:+*:::++:,++*#########:***:+*:++:**#***
::::::::::::::**+:,,,,******************++**********+:,*****+::,,:.+###+*:::::::,,:+++++++++++++++++++++++++++++++++++::,:+::::::*,,*#########+::*:+*,:+:*##***
::::::::++++++**+::+*,*+::::::::::::::::::+********:,:+:***#*,,::,:,*#*+::,:::::,+++++++++++++++++++++++++++++++++++++++,,::::::+:+,*#########+,.+:**++:+*##***
,,........::::+*:::+*,#:::++**++++++::::::::+::::+::.::++::::::+:,..++,,:::::::,++++++++++++++++::++::++++++++++++::++++::::::::+::+,........::  +++*+*::*#****
.................,,.............,.................::,.,,,,,,...,+***,,,,,,,,,,,,,,,.....,,,,,,...............,,,::::::::::::::,,::::+:,**+,.  ...*:**+*::**+***
..................,.............,.......:,...,..,,:.........,...,.,:,............,,,,,,,.......,..,,,,::::++******......................,:+***+,.+:**#*+:**::*#
,,..............,.:.,.,.........,.......::,..,...,:,..,,......,,..,,....................,,:::,,.,,,......................................:####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,........*.,......:,....+.....,,,,,,.. .,,,,.,,,..,..........,,::::,,,,,. ..............,.,,,,.............,##+:,+:**#+:::::++#
,,................,...........:..........:........:,....+...,.,,,,,,,, .....,,,,,,,..............,:++*,,:,,......... .:,,,,,,,,,,,.,..  .  .*#++:*:**#+::+:::+#
......,,,,,...................,,.........+........:,...,:,..,*:,,::,,,.............................. ..,,..         ..    ......,:,. ......,*++::+:**:+::::::+#
......,,,,,,.......,..........,,,,.......+,.......:,...,+:..:#+,,:,,:,,,................................. ..................             ..++:++,:,*+:::++::++#
:,,.....,,,,...................,,,......,,:........+...,.+..##:+,,,:::++::::::::::::,,,,,,..,,,,,,,,,,,,,,,,,,,,.................     ....,*+::+,::*+:::::+:++*
:::....,,,,......................,......,.+........,,...,,+:##:,,,,+***********++++*####****************++++++++++++::::::::::::,,,,....:..**+++,::*::::::::+++
:::,...................................,...:...,..,..:...,,*##:,,,:+##########**+++#################################*+++************,...:..**+++,::*::::::::+++
,:::...............................,..................,,..,##*,:::++**#########*+++##################################+:++*#########*.... ..***:::::++:,:::::++*
..+++:.,,.............,.............,,........::......,,..:##:,:,:++*++++*#####*+++#################################*+:+*########*,,..  .  +#***#+**++:+::++++*
...:+++:................,.............,,.......,,...+:.,:,*##++,::::*#####**++++++**################################*:,:,,,.....,::,...   .:#*+++++++++++++++**
.....,,,,.....................,,,::,...,..***,.+:+,,,,,,,,##*:::,:::::::++++++++++::++++++++++++++++++++++++::::::::,...+**#####**+      ..,#*++::::+++++++++++
......+++,.......,..:,...,..,,:+####:,,*:,,,,,,,,,,,,,,,,,###################*,,,,,*#########################*********++::::,,,,,,,,...    .##:,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,:,,++++::::::::::::::++++++++++++##################################********++++++++::::,,,,,,,,..,,,,..##############+,,,,,,,,,,,,,,,,
+.,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++****######################################################################:,,,,,,,,,,,,,,,,
,::,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+.,,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+,................................................................................................................................,...,,.....,
..............**++.,,...,,,.................,,,,....,,,,,,,,,,,,,,,,,,,,,,.........................................................................,...,,:*+*+*
..............**++.,,...,,,,............................................,,,,..,,,,,,..............................................................,,:*+:::***:*
..............***+......,,,,....................,,,,,,,,............,,,,....,,,,,,,,........................................................,,+++:::++::+*+,,:+
..............***+.,....,,,...................................................................................................................,:,:::*,,+:*:,,+:
..............**++......,,,...................................................................................................................+.,*::*,,+:*:,.+:
............,,**+:......,,,,...............................................................................................................:**+,.,::*,,+:*,.,+,
............,,**+:......,,,,........................................,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,......,###+++:::+.,+:*:,.+,
..............**+:....,,,,,,..............++**++********************++++**+++*++**************++++***#####################*********,..,,.,.:+,+*++:+*.*::**#**#
..............**+:.....,,,,,,,............+*+*+*******************+:....,,,,,,,,,,::::++++++++++++::+*################**##*********::,,:+*********:+*.,::*#*#*#
,,,,....,,,,..**++.....,,,,,,,..........,.+++************************+++++**++++::,,........,,,,,,,,....................,.,+*,........,,...,,*****:+*.,::*****#
,,..,,,,,,,,..**++..,,,,,,,,,,,,......,,,.+++*******************************+*,+++*+**************++**+++++++++++++++++++**#,,**+++:++######*#**#+:+*.::,+##**#
::,,,,,,,:,,,,**++.,,,,,...,,,,,..,,,,,,.,**********+*********::,,:+###****+:+::::+++++++++:+++++++++++++++++++++++++++++#*+::*,+++++*########*##*::::::++,:+:,
::,,,,,,,,,,,,**+:.,,,,,....,.....,,,,...,********************:,,,:+###+*+,+::+::::++++++++++++++++++++++++++++++++++++::+*::::+,,**+#########+***:+*+++:**#**#
::::::::::::::**+:,,,,*#**************++++*********++:+*****+::,,:.:###+,:,::::,::+++++++++++++++++++++++++++++++++++:::::+:::::+:,,*#########+::*:+*,:+:*##***
::::::::::++++**+::+*:*+::::::::::::::::::+********:,:::***#*,,,:,,:**:,:,::::,,++++++++++++++++++++++++++++++:++++++::+:,,:::::::+:*#########*,.+:+*++:+*##***
,,........::::++:+:+*,#:++++**++++++::::::::+:::+:::.,+++:::::+:,, +:,::::::::++++++++++++++++++++++++++++++++++:::::::::::::::::::*:........,:  +++#+*::*#****
.................,,.............,.................::,.,,,,,,..,:+*:,,,..,,,,,,,,,,,.........,,,,,,,,,,..........,,,,,,,,::::::,,::::*::**+,.  ...*:**+*::**+***
..................,.............,.......:,...,...,:.........,...,,,..............,,:,,,,,,,,,...........,,::::+++:..................,...++****::.+:**#*+:**::*#
,,..............,.,.,.,.........,.......::,..,...,:,..,,......,,,.....................,,,::::,,,,,.......................................,####+:,*:**#*:+++:+*#
,,....,.........,.,...........,.,........*.,......:,....+....,,,,,..,.,,,,,..... ,..........,,:+::,,......................,,::,,,. ........,##+:,*:**#+:::::++#
,,................,...........:..........:........:,....+...,,,,:,,.:.,,..,,,,::,,..............,:++*+::,,,...........,,,,,,,,,,,,.......  ,##++:*:***+::+:::+#
......,,,,,...................,..........+........:,...,:,.:#,:::::,........................  .............         .       ....,,.     ...:*++::::**:+::::::+#
......,,,,,,..................,..........+,.......:,...,+:,##,:::,::,,,,............................,...................  ..        .. ....++:++,:,*+:::++::++#
:,,....,,,,,..................:,........,,:........+...,.++##++,,,::::++::::::::::::,,,,..,,,,,,,,,,,,,,,,,,,,,,................. .   ...,:*+:++,::*+:::::+:++*
:::....,,,,...................,.........,.:........,,...,,##*:,,::*************+++*#****************++++++++++++++++::::::::::::,:,,....:.,*+:++,::*::::::::+++
:::,...........................,.......,...:...,..,..:..,,##*:,,::*##########*+++*##################################++++************....,.,**+++,::*::::::::+++
,:::..................................................,,.:*#:,::::+*##########*++*##################################++:+*##########+......,**+:::::++:,:::::++*
..+++:.,,.............,...........,..,........::......,,,##*::::++**+++*######*+++*#################################++++*########*:......  *#***#+**++::::++++*
...:+++:................,..........,..,........,,...+:.,:##++:::::+*####**+++++:+*##################################::::::,,....::,...    .*#*+++++++++++++++**
.....,,,,................,,..,,,...,.,.,..***,.::+,,,,,,:##+::::::::++++*****++:::+++++++++++*****++++++******++**+:....+*#######*:     ...:#*::::::+++++++++++
......+++,.......,..:,,,,,:,++++****,+,+:,,,,,,,,,,,,,,,+#####*##########***+::+::*###############################**++:::,,,,,.....,.....  ,#*,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,,:*****+++::::::::::++++++::++++*###################****++++:+::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,##############:,,,,,,,,,,,,,,,,
+.,,,,++++::,:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++*******###############################################################**############,,,,,,,,,,,,,,,,,
,::,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::++++++++++****++**++++++++++,,,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+.,,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+.................................................................................................................................,...,,.....,
..............**++.,,...,,,.................,,,,,,,,....,,,,,,,,,,,,,,,,,,..,,.....................................................................,...,,:*+*:*
..............**++.,,...,,,,..............................................,,..,,,,,,..............................................................,,:*+:::***:*
..............***+......,,,,....................,,,,,,,,,,,,........,,,,....,,,,,,,,........................................................,,+++:::++::+*+,,:+
..............***+.,....,,,...................................................................................................................,:,:::*,,+:*:,,+:
..............**++......,,,..................................................................................................................,+.,*::*,,+:*:,.+:
............,,**+:......,,,,...............................................................................................................,*#*:,,::*,,+:*,.,+,
............,,**+:......,,,,........................................,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.......###*+:+::+.,+:*::.+,
..............**+:....,,,,,,..............*+************************++++++****++**************++++***###################***********,..,,..,::,**++:++.*::**##*#
..............**+:.....,,,,,,,............+*+*+*******************,,..,,..,,,,......,,,,,,,,::::::::+***#*##############***+*******::,,::*********,+*.,::*#*#*#
,,,,....,,,,..**++.....,,,,,,,............**+*************************++**+++++:..,,,,::::::::::::::::,,,,,,,,............+:+..............,,*****:+*.,::*****#
,,..,,,,,,,,..**++..,,,,,,,,,,,,......,,,.+++*******************************:::++++++++++++++++++++++++++++++++++++++++++#**+,**++*:::######*#**#+:+*.::,+##**#
::,,,,,,,:,,,,**++.,,,,,...,,,,,..,,,,,,,,********************::,,:+###+**+:::+::+++++++++++++++++++++++++++++++++++++::*#*::+*,+:+..*########*##*::::::++,:+:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,,,...,**********+*********:,,,:+###+:::::::,::++++++++++++++++++++++++++++++++++++:::*::+::+,:+++#########+***:+*++::**#**#
::::::::::::::**+:,,,,*#****************++******+**+,,******+::,,:.+##*,:,::::,:++++++++++++++++++++++++::+++++++++++:::++:::::::,::*#########*,:*:+*,+::*##***
::::::::::++++**+::+*:*+::::::::::::::::::+********:,::+**##+,,,,.,,::,::++::,:+++++++++++++++++++++++++++++::++++++::+::,:::::::::,*#########*,.+:+*+*:+*##***
,,........,,::++:+:+*:#:++++**++++++::,:::::+:::+:::.::++:::+:::.:::::,:::::.:+++++:++++++++++::::++::++++++++:::::::::::::::::::::+,. ......,:  +:*#+*::*#****
.................,,.............,.................::,.,,,,,,.,++::,,..,,,,,,,,,,,,,.......,,,:::::::,,,,,.......,,,,,,,,,,,,,,,,,,::*,+*+:,.  ...*:**+*::**+***
..................,.............,.......:,...,..,,:.........,...,,..............,,,,,,,,,,...............,,,::+++........,............,.++***#+:.+:**#*+:**::*#
,,..............,.:.,.,.........,.......::,..,...,:,..,,......,,......................,,::::,,,,,.......................................,:####+:,*:**#*:+++:+*#
,,....,.........,.,.............,........*.,......:,...,+..,,,,,,.,.....,,..,...............:::::,,,,...  ..,........,...,,,,,............,:##*:,*:**#+:::::+*#
,,................,...........,..........:........:,..,.+.,,,,::,,,.,,...,,,,,::,..............,:++++:::,,..........,+,,,,,,,,,,,.:...     ,##++:*:**#+::+:::+#
......,,,,,...................,..........+........:,...,:,*::::::,,,................................,,,,.....           ....,,..,,      ...:#++:,::**:+::::::+#
......,,,,,,..................,..........+,.......:,...,:*#+::::,::,,,............................. ......  ............            .. .. ,*+::+,:,*+:::++::++#
:,,....,,,,,................,.,.........,,:........+...,,##++,,,::::::::::::::::,,,,,,,,..,,,,,,,,,,,,,,........................      ...,:*+:++,::*+:::::+:++*
:::....,,,,,................,.............:........,,...*##+::,,+***********++++**********++++++++++++++++++::::::::::::::,,,,,,,,:.  ..:.+*+:++,::*::::::::+++
:::,.........................,.........,...:...,..,..:.,###+:,,:+###########*+++###################################*++++***********,....,.+**:++,::*::::::::++*
,:::..................................................,,##*:,:::+*##########*+++*##################################*::++###########:..... +#*+:::::++:,:::::++*
..+++:.,,.............,..............,........::......,+##+,::+***++**######*+++*##################################*::+*#########*:...... .******+**++::::++++*
...:+++:................,........,....,........,,...+:,*#*+::::::*###**+++++++++*##################################+::+++++:,...,,,...    .*#*++++++++++++++++*
.....,,,,...............,,........:,...,..***,.:::,,,,,##*++:::::++*******#*+:::+*****************************####*:....+*########.     ...*#*::::::+++++++++++
......+++,.......:..,:,,,:++++:,*#**,,.+:,,,,,,,,,,,,,,##**********+++++++++*****###############******************++,,,,,.....  ...    ..  *#*,,,,,,,,,,,,,,,,,
,.....:++,..,,..,****+,,:+*****+:+::::::::::::::::::+++####################*,,,,,,,,,,,,,,::,,,,,,,,,,:::::,,,,,,,,,....,,,,,,,:####****+:::##,,,,,,,,,,,,,,,,,
+.,,,,++++::,:,,,,,,,,,,,,::::::::::++++++++++++++++++++**#####################################################################*##############,,,,,,,,,,,,,,,,,
,::,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,::::::::::::++++++++++******##########*************#########*:,,,,,,,,,,,,,,,,,
$,,,,,,,,......***+.,,..............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.................................................................................................................................,...,,......
..............***+..........................................................,,,,,,.................................................................,...,,.....,
..............**++.,,...,,,.....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,..,,..,,..............................................,,...,,:*+*:*
..............**++.,,...,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..,,......,,..............................................,,:*+:::***:*
..............***+......,,,,........................,,,,,,,,,,,,................,,,,........................................................,,+++:::++::+*+,,:+
..............***+.,....,,,...................................................................................................................,:,:::*,,+:*:,,+:
..............**++......,,,..................................................................................................................,+..*::*,,+:*,..+:
............,,**++......,,,,................................................................................................................+#+:,,::*,,+:*,.,+:
............,,**+:......,,,,......................................,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,......,+##*+++::+.,+:*+:.+,
..............**+:....,,,,,,..............++************************++++**++**++**************++++++*#############**##**#*##*******:.,,,....+:+++*:+*.,::**##*#
,,............**+:.....,,,,,,,............+*+*+*****************,,...........,,,......,,..............,,,,........,,,,:::,,,++**+++::,::,+******+*,+*.,::*#*#**
,,,,....,,,,..**++.....,,,,,,,..........,.+++*************************++***:++::++++++++**++++++++++++++++++++++++++,,,,.**::::::::,,,,,,,,,,+****:+*.,::***#*#
,,..,,,,,,,,,,**++..,,,,,,,,,,,,......,,,.+++***************************+::::::+++++++++++++++++++++++++++++++++++++++:###+:+,**+**:::########*#**:+*.,:,+###*#
::,,,,,,,:,,,,**++.,,,,,...,,,,,..,,,,,,.,********************::,,:+##*,+:::+:::++++++++++++++++++++++++++++++++++++++++**:::+:,+:,.+*########**#+::,+::++,++:,
::,,,,:,,,,,,,**+:.,,,,,....,.....,,,,..,,**********+*********:,,,:+*:::::+::::++++++++++++++++++++++++++++++++++++++:::+:::+::+,+**,*########+***:+*,*::*##**#
::::::::::::::**+:,,,,*#****************++*********+,+******:::,,:.,:::::::,:+++++++++++++++++++++++++++++++++++++++::,++::::++:*::+:#########+::*:+*,:+:*##***
::::++++++++++**+::+*:*+::::::::::::::::::+********:,++:::,,..,,,:,::::::,.:++++++++++++++++++++++++++++++++:+++::+++:::,:+::::::+:.+#########*,.+:+*+*:+*##***
,,......,,,,::++:::+*:#:++++**++++++::,:::::+:::+:::.,++++::, :,,,,::::::,:+++++::++++++++++++++++++++++++::::::::::::::::::::::::+, .:.......:  +:*#+*::*#****
.................,,.............,.................::..,,,,,.,,:,.....,,,,,,,,,,.,........,+*####****++++::,,,.........,,,,,,,,,,,,,+:.++:,,. .. .*:**+*::******
.....,............,.............,.......:,...,..,,:.......,,,,................,,::,,,,,,,.....................,........................:****##+:.+:**#*+:**:+*#
,,............,,,.,.,.,.........,.......::,..,...,:,..,,...,........................,:::::,,,,,,... ................................ ...:+####+:,*:**#*:+++:+*#
,,....,.......,,,.,.............,........*.,......:,...,,,,,,,,,..,,,,...... ,...........,:+++:,,:,,......,....... ......,::,,...,......,.,###*:,+:**#+:::::+*#
,,,...,,..........,...........,..........:........:,...:,,::,,.,,,,,,,,,,:::,,..............,::++*::::,,.......... :,,,,,,,,,,,,.:......  .,##++:*:**#+::+:::+#
..,..,,,,,,,..................,..........+........:,..+*:::::,,,................................ .,,....  ....  ... ........,,,,,.     ...::#++:,+:**:+::::::+#
......,,,,,,.......,..........,..........+,.......:,.,#*,,::,::,,,,,...............................  .................              . ....++*::+,::*+:::++::++#
:,.....,,,,,..........,,......,.........,,:........+.*#*:,,:,:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,......................  ...      ...,:++*:++,::*+:::::+:++*
:::....,,,,,...........,..................+........,:##+::,,:***************++**++++++++++++::::::::::::::::::::,,::,,,,,,,,,,,,..    .,.,**+:++,::*::::::::++*
:::,...................................,...:...,..,.*##+:,,,:*#######*****+++*####################################*++***++++******,......,**+:++,::*::::::::+++
,:::................,...............................###,,,,::*###########*+++*####################################+:++*##########*,..... :**++:::::++:,:::::++*
..+++:.,,.............,...,..........,........::...:##::::*+**++*#######**+++*##################################**:::+*#########*:........*#*+***+**++:+::++++*
...:+++:................,.............,........,,,,*##+:::::++****++++****+++*###################################*::+**###**+:,,,,....   .*#*+++++++++++++++++*
.....,,,,...............,,...,.....,...,..***,.:+::##*+*::::::**########+++++***##**#############################+.......,:+*####,      . *#*+::::+++++++++++++
......+++,.......:,,:::::,,,,,:,****,,,+:,,,,,,,,,,##:::::++++++::::::++:++++*******##********************++++++:... .,,::,,,,,.      .,. *##:,,,,,,,,,,,,,,,,,
,...,.:++,,,,,,,,*###***+++:+++:::,,,,,,,,,,,,,,,,:######################:,,,:++**############********++::,,,,,,,,:::::::::::::+,,.........##+,,,,,,,,,,,,,,,,,
+.,,,,++**+:::,:::::::::::::::+++++++++++++++++++++*############################################################****++::::::,,,##############+,,,,,,,,,,,,,,,,,
:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++:::+******###############################################################################:,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.................................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,...............................................................,...,,...,.,
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..............................................,,...,,:*+*:*
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................,,,,:*+:::***:*
..............***+.,,.,,,,,,................,,,,....,,,,,,,,,,,,........,,,,,,,,,,,,........................................................,,+++:+:++::+*+,,:+
..............***+.,,,..,,,,..................................................................................................................,:,:::*,,+:*:,,++
..............**++......,,,..................................................................................................................,+..*::*,,+:*,..+:
............,,**++......,,,,....................................,,..........................................................................,*+*,:::*,,+:*,.,+:
............,,**+:......,,,,......................................,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,......,,##**++::+.,+:*+::+,
..............**+:....,,,,,,..............++****************+,,,,,,,,,,,,,,,::::++++++++******++++*+*#**####**######***************:.,,,.. ,++*:**:+*,,::**##*#
,,............**+:.....,,,,,,,............**+*+*****************++++++++++::,,....................................,,..,,+*:................,:***+*,+*.:::*#*#**
,,,,,,,,,,,,..**++.....,,,,,,,............**+*************************+:+:++++++++++********************+++++++++++++++*#:::****+++::::+**********:+*.,::*#*#*#
,,..,,,,,,,,,,**++..,,,,,,,,,,,,,,....,,,.+++************************,::::::+++++++++++++++++++++++++++++++++++++++++:###++*,:****+:::+#######**#+:+*.,+,*###*#
::,,,,,,,:,,,,**++.,,,,,...,,,,,..,,,,,,.,********************:,,,::::::::::::++++++++++++++++++++++++++++++++++++++++:*:::::+.**+.:::########**#*:::+::*:,:*:,
::,,,,:,,,,,,,**+:.,,,,,....,....,,,,,..,,+********++*********:,,:::::+::.+++++++++++++++++++++++++++++++++++++++++::::+::+++:*::**:,+########:+**:+*,*::*##**#
::::::::::::::**+:,,,,*#****************++********+:,*******+::,,:,:::::.:++++++++++++++++++++++++++++++++++++++++::+::++::::::*:,:,,*########*::*:+*::+:*##***
++::::++++++++**++:+*:*+++::::::::::::::::+********:,:,,...,,,,,:::::::,+++++++++++++++++++++++++++++++++++++::::::,,:.,:::::::::,,,:*########*:.+:+*+*++*##***
,,......,,,,::++::::*:#:++++**++++++::::::::+:::++:::+++: .+:,,,,:::::.:::::+:::++++++++++++++++++++++++++++:::::::::::::::::::::+. .*+,.   .::  +++*++::*#****
.................,,.............,.................,:. .,,,:,,.....,,,,,,,,,,,,,.......,+##########****++:::,..........,.........,,:, ,*+:,,..,:..*:**+*::******
.....,............,.............,.......:,...,...,:...,,,,..................,,,:,,,,,,,.. ..................,.......................,. ***####+:.+:**#*+:**:+*#
,,,..,........,,,.,.,.,.........,.......::,..,...,:,............................,,,:::,,,,,,...........................................,+#####+:,*:**#*:+++:+*#
,,,...,,......,,,.,.............,........*.,......:,,,,,,..,..,,........ ............,,:::+:,,,,.......,..............,,,,,,,,..........,,*###+:,+:**#+::::+++#
,,,...,,..........,...........,..........:........+,,,::,.,,..,...,,,,,,:,...............,:++++:::,,.............:,,,,,,,,,,,,........   .,+##++:*:**#+::+:::+#
.,...,,,,,,,..................,..........+........#,::::,,,,...................................,::.............. ...,,::::++***:.   .....,:*#++:,+:**++::::::+#
......,,,,,,.......,..........,..........:,......*#,::::,:,,,,,,...................................  ..,......      ..   .        .  ., .++**+++,::**:+:++::++#
:,...,,,,,,,.....,,...........,,........,,:.....:##++:::::::::::::::::,,,,,,,,,,,,,,..,,................................    .      ....,:*+**:++,::*+:+:::+:++*
+++,...,,,,,......,.....................,.+.... *#*++::,+*++++++++++++++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,....      ..,.:***::++,::*::::::::++*
++::..............,,...................,..,:...,###+:,::*************++++*#####################################*****************,.......+***::++,::*::::::::+++
,+:+...............,,..........................:##*:,,::+############*+++*#####################################*++++############:...,,  +***:+:::+:++:,:::++++*
..++++.,,,...........,...............,........,##*::::++**##########**+++**##################################*#*::++*###########,.......+*#*++***+**++:+::++++*
...+*++:..............,...............,.......,##*::::++***+++**####**+++**####################################*::+*########**:,......  .##*++++++++++++++++++*
.....,,,,..............,,,.........,...,..+++,+##++:::::+*#####**++++++++*#####################################+:::::,,....,,::,..       *#*::::::+++++++++++++
......+++:,,,,..,:,,::,,,:......****,,.+:,,,,,*##+:+::++:++*++******++++::+++++++++++**************************,.,,,*##########,     ... *#*,,,,,,,,,,,,,,,,,,,
,...,.+*+,,,,:::*###**,,:::::::,,,,,,,,,,,,,,,############******+++++**+*+##############**********************++::::,,,,...........  .   +##+,,,,,,,,,,,,,,,,,,
+,,,,,****+:+****+++++++++++++++++++++++++++++########################********++++++++++++::::::::,,,,,,:::::::::,,,,,..,,,,,,###***++::::##*,,,,,,,,,,,,,,,,,,
:::,,,,,,,,,,,,:::::::::::+++++++++++++++++++*+*############################################################################**##############+,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.................................................................................................................................,...,,......
..............**++.,...............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,...............................................................,...,,.,.,.,
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,...,,:*+*:*
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................,,,,:*+:::***:*
..............***+.,,.,,,,,,................,,,,....,,,,,,,,............,,,,,,,,,,,,........................................................,,+++:::++::+*+,,:+
..............***+.,,,..,,,,..................................................................................................................,:,+::*,,+:*:..+:
..............**++......,,,..................................................................................................................,+.,*::*,,+:*,.,+:
............,,**++......,,,,....................................,,..........................................................................,*+*,,::*,,+:*,.,+,
............,,**+:......,,,,....................................,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,......,,##****::+.,+:*++:*,
..............**+:....,,,,,,..............++***************:......,,,,..............,,,,,,,,......,,::::++****########*+:+*********:,,,,,,,.+++:**:+*.,::*##**#
,,,,..........**+:.....,,,,,,,............**+*+**********************+:+,,,,::::++++++++++++++::::,,,,,,....,,.........+:+..............,,,,,***+*,+*.:::*#*#**
,,,,,,,,,,,,..**++.....,,,,,,,............+++************************:::+++++++++++++++++++++++++++++++++***++++++++++##+:,+****++*:,::+######****:+*.,::*#*#*#
,,..,,,,,,,,,,**++..,,,,,,,,,,,,......,,,.+++*********************+,+:::::++++++++++++++++++++++::++++++++++++++++++:*##+++*,+**+**:::+*######****:+*,,+,*###*#
::,,,,,,,,,,,,**++.,,,,,...,,,,,..,,,,,,,,********************+:,,+:+++:,::+++++++++++++++++++++++++++++++++++++++++:+*+::::+:.+::.:+:########**#*:::+:+*+,+*:,
::,,,,:,,,,,,,**+:.,,,,,....,....,,,,,..,,********#++*********:,::::++:.:+++++++++++++++++++++++++++++++++++++++++:::+++::++++,,+*+:::########:+**:+*,*::*##***
::::::::::::::**+:,,,,*#****************++********++,+******+:,:::::+: :++++++++++++++++++++++++++++++++++++++++++:+::::::++++::,::..*########+::*:+*:+::*##***
++::::++++++:+**++:+*:*+++::::::::::::::::+*******::,...,++::,:,:::::.:+++++++++++++++++++++++++++++++++++++::++:::::,:+::::++:::,,::#########*:.+:**+*+:*##***
,,......,,,,::+*:+:+*,*:++++++++++++::::::::::::::++++:.,:,,,,,,,,,,,,::::::::::::++++++++++++++++++++++::++++::::::::::::::::::++,.,*+,... .*+  +++*+*::*#****
.................,,.............,.................,:..,,:,......,,,,,,,,,,,,,,,,....,,############****++::,.....................,::..:+::,,,.,+..*:**+*::******
,,...,............,.............,.......:,...,...,:.,,,,.................,,,,,,,,,,,,...................,,,,.................... .....,#######+:.+:**#*::**:+*#
,,,..,........,,,.,.,.,.........,.......::,..,....:..,........................,,:::::,,,,,,.............................................######*:,*:**#*::++:+*#
,,,...,,........,.,.............,........*,......,,,,,................ .............,::++:,,,...................,...,,,,,,..... ........,,####+:,+:**#+::::++*#
,,,...,,..........,...........,..........:......,,::,,,,,.......,,,,,,,,...............,:+++++:::,,,............:,,,,,,,,,,,,,,,......  ..,*##++:*:***+:++:::+#
.,...,,,,,,,..................,..........+.....:+:::,:,,.....................................,::,,,,............::++++******#*+     ....,::*#++:,+:**:+::::::+#
......,,,,,,.......,..........,..........:,....#+::::,::,,,,,,,,..............................,...................  ....         ... . .++:#*:++,::**:+:++::++#
+,,..,,,,,,,...,..............,,........,,:. .##*+::,:::::::::,,,,,,,,,,,,,,.................................................     .... .***#+:++,::*+:+:::+:++*
+++,...,,,,,...,........................,.+..,##++::,:++++++++++++:::::::::::::::::::::::::::,,,::::::::,,,,,,,,,,,,,,,,...... .  ..,,.,***#::++,::*::::::::++*
+++:.....,.....,.......................,..,:.*##+:,:::******************#################################***************++++*++:.....:.,****::++,::*::::::::++*
,+++............,,...........................###::,:,:*###########**+++*######################################*+++*************+...,,,.,****:+:::::++:,:::++++*
..++++,,,,........,...,..............,......:##+::::+++*##########**+++*######################################+::++*###########:.......,***+++***+**++:+::++++*
...+**+:...........,..................,....,###+::::++**++**######**+++*#####################################*+:+++##########+,,......  ##*+++++++++++++++++***
.....,,,,...........,,.............,...,..++##*+::::::*####**++++++++++*######################################::+++**+::,,,.::,...     .*##+::::::+++++++++++++
......+++:,,....,:,,::,,........****,,.+:,,:##*+++:::::+***######*+:+++*************#########################*,.....:+*#######:       ..*##+,,,,,,,,,,,,,,,,,,,
,...,.+*+,,,++++*###**+,:,:,::,,,,,,,,,,,,,:##++++++++++++++++++++*+*****#############******************+++++:,.....,,,,....      ..,,..,*#+,,,,,,,,,,,,,,,,,,,
+,,,,:**********+:::::::::::++++++++++++++++########################*+:+++**########******++++++::,,,,,,,,,,::::::::::::::::::::,.....  .*#*,,,,,,,,,,,,,,,,,,,
:::,,,,,,,,,::::+++++++++++++++++++++++++++*############################################################################******#############*,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,...............................................................................................................................,...,,......
............,.**++.,...............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++.,,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,....,,,,.......................................................,...,,.,.,.,
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..............................................,,..,,::*+*:*
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................,,,,:*+:::***:*
..............***+.,,.,,,,,,................,,,,....,,,,,,,,............,,,,,,,,,,,,........................................................,,+++:::++::+*+,,:+
..............**++.,,,..,,,,..................................................................................................................,:,+::*,,::*:..+:
............,,***+......,,,...................................................................................................................+.,+::*,,::*,.,+:
............,,**++......,,,,....................................,,...........................................................................****:::+,,+:*,..+,
............,,**+:....,,,,,,...........................,............,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,........+#****::+.,::***+*,
..............**+:....,,,,,,..............*+************++::::::,,:,.,,,..........,,............................,,,,:+++.,..............,,.,:+*:**:+*.,::*##**#
,,............**+:.....,,,,,,,............**+*********************:+++++++**********************************++++::,,,+*,:++++++++++:::::::::+*****:+*.,::*#*#**
,,,,,,,,,,,,..**++.....,,,,,,,............**+******************+,::::::+++++++++++++++++++++++++++++++++++++++++++*###+++,+******++:,::,*###*#****:+*.,::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,,......,,,.+++****************+,::::::::+++++++++++++++++++++++++++++++++++++++++++:***:::+:.*****+*:::+#######****:+*,::,*###*#
::,,,,,,,:,,.,**++.,,,,,...,,,,,..,,,,,,.,*****************+:::++:::,+:+++++++++++++++++++++++++++++++++++++++++::,:*::::::*,,:+,..+::########**#+:::+::++,:*::
::,,,,:,,,,,,:**+:.,,,,,....,.....,,,,..,,*********++*****:::::::+, ++++++++++++++++++++++++++++++++++++++++++++::::++::+++:*,,++*,:,,########+**+:+*:*::*##**#
:::::::::::::+**+:,,,:*#**************++++****+:,,,,,:+::,:::::+:,.+++++++++++++++++++++::+++++++++++++++++++++:+::::::::+++:+,.++:..+*#######+:,*:+*:+++*##**#
++++::++++++:+**++++*,*+++::::::::::::::::***::,,,.,*+::+::::::::,:+++++++++++++++++++++++++++++++++++:+++++++++::,,:+::::+++:+, ,,:++++**####*,.+:+*+*++*##***
,,........,,:::+:+:+*:*:::++++++++++:::::::::+****:,::,,,,,,,,,,,.,,,,,,,,,,::,,,:::::::::::::++:::::::::+++:+++:::::::::::::::*:...++,... .+#+  +:*#**++*#****
,,...............,,.............,................,::..........,,,,,,,,,...,,....,:###################***,...................,,,,,.. ,,+++:::+#+..*:****::***#**
,,...,............,.............,.......:,...,..,,,.................,,,,:::,,,,,,...............  ......,.........................,..,*#######+:.*:**#*::**++*#
,,,.............,.,.,.,.........,.......,:,..,.,......,,,,,,,,,,..........,,:::::,,,,,,.... ..................................... ..,,.+######+:,*:**#*::++:+*#
,,,...,.........,.,.............,........*,,,,,,,.,,....,,....... ,.............,::+::,,,,,,.................,....,,::::................+#####*:,*:**#+:::::+*#
,,,...,,..........,...........,..........:,,,,,,,..,.......,,,,,,:,................,:+++*+,::,,..............:,,,,,,,,,,,,,.,.......  .,..*###++:*:***+:++:::+#
.,...,,,,,,...................,..........+*::::::,,,....................................,,::,,,,.............:::++**********.     ....,:,,*##:+:,+:**:+::::::+#
.,....,,,,,,.......,..........,.........,**,::::::,,,,,,..................................,...........  ..  ..  ....           .......:+:,*#*:++,::**:+:+++++*#
+:,..,.,,,,,..................,,........*##+::::::::::,,,,,,,,,,,,,,,,,,..,,............................................ ..     . ,,..+*+:*#+:++,::*+:+:::+:++*
+++,...,,:,,............................##*+:,,:++++++++++++:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.............     ..,..,+*++**::++,::*::+:::++++*
+++:.....,,............................:##*+,,,:****************++*###########**********************++++**+++++++++++++++::::......+,.+**++*::+:,::*::::::++++*
,+++,....,,,...........................*##+:,,::*############**++**########################################*++***************:....,,.,**+***:+:::+:++:,:::++++*
..***+,,,..,,.........,..............::##*,::::++*###########**+++#########################################+:++**###########*,. ...  .*#**++++***+**++:::+++++*
...+***:.....,........................*##+::::++****#########**+++*######################################**:::+*###########*:....... .*#*+++++++++++++++++*****
.....,::,,....,,...................,..###+:,:::+*****+++++******++*#######################################*:+++*######*+:,,,,.....    +#**++::::::::+++++++++++
......**+:,,..,,,:,,:,..........+**+.,##*++,:::::*########**++++++*#######################################*:,,,,....,,:+**##.       ..:##*,,,,,,,,,,,,,,,,,,,,,
,.,,,.+*+,,,,,,,+****+,,,,:,::,,,,,,,:##::::::+++:::::::++++++++::+***********************++++++++::::::,,.....:########*++.       ,..,##*,,,,,,,,,,,,,,,,,,,,,
+,,,,:****++++:+::::::,,,,,,,,,,,,,,,+######################*####+*###############################**********++++::::,,,,,,,,.. .      .*#*:,,,,,,,,,,,,,,,,,,,,
+:+++::::::::::::++++++++++++++++++++*############################################*#####**************+++:::::::::::,,,,,,,.######****+###+,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,...............................................................................................................................,...,,......
............,.***+.,...............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++..,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,,,,,,,,,.......................................................,...,,.,.,.,
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..............................................,,...,::*+*:*
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................,,,,:*+:::***:*
..............***+.,,.,,,,,,................,,,,....,,,,,,,,........,,,,,,,,,,,,,,,,........,,,,............................................,,+++:::++::+*:..:+
..............**++..,,..,,,,..................................................................................................................,:,+::*,,::*,..+:
............,,**++.,,...,,,.................................................................................................................,.*.,+::*,,+:*,.,+:
............,,**++......,,,,....................................,,..........................................................................,++**:::+,,+:*,,.+,
............,,**+:....,,,,,,.........................,......................,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,........:#*#**::+.,::***+*,
..............**+:....,,,,,,..............++******************++*+*:,,,,........,,,,,,..,,.......................,,:**:.............,,.....:,+*:**:+*.,::*##**#
,,,,..........**+:.....,,,,,,,............**+******************:++++++++************************************+++++++*#+.,*******++++:::::+:++****++:+*.:::*#*#*#
,,,,,,,,,,,,.,**++.....,,,,,,,............**+****************:::::::++++++++++++++++++++++++++++++++++++++++++++++###+++,,******+++:::::#*#*##****:+*.:::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,,,,....,,..**+*************+,::::+++:::+++++++++++++++++++++++++++++++++++++++++++:+*+:::++,,****++*:::+*######****:+*,::,**##*#
::,,,,,,:,,,.:**++.,,,,,...,,,,,..,,,,,,,,**********+***+,+::++:+.:++++++++++++++++++++++++++++++++++++++++++++::+:+::++::*:,:++,,,:+:*#######*##*:::+::*:,+*:,
::,,,,:,,,,,,:**+:.,,,,,....,.....,,,,..,,*********+:**:::,::::: ,++++++++++++++*+++++++++++++++++:+++++++++++:::+:++::+++:+,.+**+::,,########+*+*:+*+*::*##**#
:::::::::::::+**+:,,,:*#****************++*+,,,,,,,,,:,:,:::++: :+++++++++++++++++++++++::+++++++++++++++:::::::,:,:::::+++:+,.::+,,.:########*,:*:+*:+:+*##**#
++++::++++++:+**++:+*+*+++:::::::::::::::::::,,,,++:,:::::::::.:+++++++++++++++++++++++++++++++++++++++++++++++++::+++::++:::+, .,,,,,,,+*####*,,++**+*++*##***
,,......,,,,::+*:+:+*:*:++++++++++++:::::,:****+:,,,.,,,,,......,,,,,,.,,,,,,,,,,,,,,,,,::::++::++++:+::::++:::::+++++++::::::*: .,+:,.. . ,##+  +:**+*::*#****
,,...............,,.............,.............,,,,..........,,,,,,,,..,,......,+#####################*:.......................,,.. ,,:++++::##+ .*:****::******
,,...,............,.............,.......:,....,,..................,,,::::,,,,,,.......................,..............................***######*:.*:**#*::**++*#
,,,.............,.,.,.,.........,.......,:..,,....,,,,,,,,,,,...........,:::::,,,,,,............................................ .....++######*:,*:**#*::++:+*#
,,,...,.........,.,.............,.......,,,,,,..,...,,.....,.. ,............,,:++++::,,,,,. ....................,,,:::,,............,.,:######*:,*:**#*::::++*#
,,,...,,..........,...........,.........,,,,,,,,........,,,,,,:,................,::++++:::,,,.. ...........:,,,,,,,,,,..,,.,........ .,,.,####*+:+:**#+:++:::+#
.,,..,,,,,,...................,.......,+::::::,,.....................................,,,:::::,,...........,+********##*##*+        ..,:,.:###:+::::**:+::::::+#
.,....,,,,,,......,...........,......,#+,:::,::,,,,,,,,,......,,..................................      ..                   ........:+:,:##*:++,::**:+:+++++*#
+:,..,.,,,,,..................,,.....*#*::::,:::::,,,,,,,,,,,,,,,.....................................................  ..     ...,. +*+:*##+:++,::*+:+:::+:++*
+++,.,,,,,,.........................:##++,,,::++++++::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,....,,,,.............      .,...,**++***::++:::+::::::++++*
+++:.,,.............................*##+:,,:+*****************+*******************++++++++++++++++++++++:::::::::,,,:::::,,,.....,:.,**++,,*::++:::*::::::++++*
,+++,.,,...........................,###+:,,,+#############***++*#########################################*++***************+......  ,*******:+:::::++:,:::++++*
..**++,,:.............,............+##+:::::+*############**+++*#########################################+:+++*############+.....,  :#***+++++***+**+::::+++++*
...+**+:.,.........................###::::++**+*##########**+++*#######################################**+::+**###########*,....... ,##**+++++++++++++++++*****
.....,:::.,,......................:##*:::::++***++++****#***+++*########################################*+:++**#######**:,,,......   *#*++::::::::+++++++++++++
......+++:.,,,...:,,:,..........+**##+*::::::+#######*++::+++++*########################################*+::+:::,....,,:::,,..     ..*#*+:,,,,,,,,,,,,,,,,,,,,,
,.,,,.+*+,,.:+,.,****+,,,,:,::,,,,*##:::,:::++++**********++++:+++++++++++++++++************************,...,:**##########.       ...:##*,,,,,,,,,,,,,,,,,,,,,,
+,,,:,****++**::,,,,,,,,,,,,,,,,,,##**************+++++++++***#*####################*******************+:,,,...............   . ,:...:##*:,,,,,,,,,,,,,,,,,,,,,
:+::::::::::::::::++++++++++++++++###############*#############*****##############**++++:::::,:,:,,,,,,,,,::::::::::::::,,,+::,..... .##*:,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,...............................................................................................................................,...,,......
............,.***+.,...............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++..,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,....,,,,.......................................................,...,,.,...,
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,..........................................,,...,,:*+*:*
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,:*+:::***:*
..............***+.,,...,,,,........................,,,,,,,,........,,,,,,,,,,,,,,,,........................................................,,+++:::+*::+*:,,:+
..............**++.,,,..,,,,..................................................................................................................,:,+::*,,::*,..+:
............,,**++.,,...,,,.................................................................................................................,.*.,+::*,,+:*,.,+,
.............,**++.,,...,,,,......................,,............,,..........................................................................,:***,::+,,+:*,,.+,
............,,**+:..,.,,,,,,.......................,....................................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,........,#*#**::*,,::***+*,
............,,**+:.....,,,,,..............*+******+***********+:,..,::::++++++++++++++++::::::,,,,..,,............:++,,..,....,,....,,,,,,,:,+*:++,+*.,::*##**#
,,,,........,,**+:.....,,,,,,,............**+***************::++++++++++************++++**++****************++*++*##::,+******+****:::,::,++******:+*.:::*#*#*#
,,,,,,,,,,,,.,**++.....,,,,,,,............**+************+,:::::::++++++++++++++++++++++++++++++++++++++++++++++*##*+++:,+******+++:::,,###*##****:+*.:::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,,,,....,,..**+***********:::::::::::+++++++++++++++++++++++++++++++++++++++++++++:**::++++,,*****++*::::*######****:+*,::,*###*#
::,,,,,,,,,,.,**++.,,,,,...,,,,,..,,,,,,,,**********+*::,::+::,,+++++++++++++++++++++++++++++++++++++++++++++:::+:::::++,*,.+**+,.::+:*#######*##*::::::+:,+*::
::,,,,:,,,,,,:**+:.,,,,,....,....,,,,,...,*********+:::,:::::,.:+++++++++++++++++++++++++++++++++++++++++++++::::::+::+++:+:.:++***:,,*#######+***:+*++::*##**#
:::::::::::::+**+:,,,:*#**************++,,,,....,,::+,::::+:.,++++++++++++++++++++++++++::+++++++++++++::::::,,::,::::++:::+:.,:+:,,.:*#######*,:*:+*:+:+*##**#
++++::++++++:+**++:+*:*+++::::::::::::::+::,,.+*+::::::::::,:+++++++++++++++++++++++++++++++++++++++++++++++++::::++:::+::::*,...,...,.,:*####*,,++****++*##***
,,......,,,,::+*:+:+*:*:++++++++++++++::****+:,,,,..,,,,......,,,,,.,,,,,,,,,,,,,,,,,,::::++::++++++++::::++++++::::++::::+::*:.,.*+,,..  .###+  +:****::*#****
,,...............,,.............,...........,,..........,,,,,,,,,,,.....,...,#####################**:........................,,....,+++++:+###+ .*:****::***#**
,,...,............,.............,.......,,,,....................,,::,,,,,,,,................  ......,.............................. :*+*######+:.*:**#*::**++*#
,,,.............,.,.,.,.........,.......,,..........................,,,:::::,,,,,,............................................ ......:++######+:,*:**#*::++:+*#
,,,...,.........,.,.............,....,,,,,,................ ..............,,:+++,,,,,........... .........,,,.,,,,...............  ...,**#####*:,*:**#*::::++*#
,,,...,...........,...........,.....,,,,,,,.::......,,,,,,,,..................::++*+::::,,,..............:.,,,,,,,,,,,,,,,........ .....,*###*++:*:***+:++:::+#
.,,..,,,,,,...................,....+:,,,::,,........................,,,,,,,,,,,,::++++*++:,,,,..........,**#############+,..      ..,:,.,*###++:,+:**:+::::::+#
.,....,,,,,,......,...........,..,*#,,,:,:::,,,,,,,,,,,,,,,,................................            ..  ....           .........:+: ,*##*:++,::**:+:+++++*#
+:,...,,,,,,..................,,.,##+,::::::,,,,,,,,,,,,,,,,,,.........................................................      . ....,+*+.:*##*:++,::*+:+:::+:++*
+++,...,,,,......................*##+:,,,:::+:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,.......................  .      ....,.:***:+*##+:++,::+::::::++++*
+++:............................:##*+:,,:***************+++++++++++++++++++++:::::::::::::::::::::::::::::,,,,,,,,,,,,,.      .....+**:+,,+*::++:::*::::::++++*
:+++.......................... .*##*:,,,:**#**************+*##########################################***********+++*****+.. ...  .+**+++***:+:::::+++,:::++++*
,:*+++.,,.............,........,###:,,,:+*#############**++**#########################################*++++**############*.. .,,, .*#*+*++++++***+***+::++++++*
..,+**+:.......................+##+::::++***###########**+++*#########################################*:::+**############+...... ..*#***++++++++++++++++++*****
...,.,,,:......................*##:::::+***+++**#######*++++*#########################################*:+++*###########*,,...... . ,#**+::::::::::+++++++++++++
.....,+++:.......:..+,........,##*+,::,::+####**+++++++*++++*#########################################*:::+******+,,,,,,,,....     ,##*+,,,,,,,,,,,,,,,,,,,,,,,
,...,,**+,,.,,,,:****+,,,,:,::+##*++,:::::**##########*+++++**#######################################*:,..,.,..,+**#####*        . .##**,,,,,,,,,,,,,,,,,,,,,,,
+,,,,:****+:::,:,,,,,,,,,,,,,,+#*:::::++++++++++++++++++++++********************************++++:::::,.....,+****+++,,,,      ..,...*#*+,,,,,,,,,,,,,,,,,,,,,,,
:::,,,,,,,::::::::::::::::::::*###############+*############**################################**********+++++::::::::,,,,...        *##+,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,,..............................................................................................................................,...,,......
............,.***+.,,..............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++..,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,,,,,,,,,.......................................................,...,,...,.,
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..............................................,,...,,:+**:*
..............***+.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................,:*+:::***:*
..............***+..,...,,,,................,,,,....,,,,,,,,........,,,,,,,,,,,,,,,,........................................................,,++::::++::+*+,,:+
..............**++.,,,..,,,,..............,,,,................................................................................................,:,+::*,,+:*,..+:
............,,**++.,,...,,,................,,,,,..........................................................................................,,..+,,+::*,,+:*,.,+,
.............,**++.,,...,,,,...............,,,,,,,,,,,......,,,,....................,,,,,,,,..................,,........................,,,,,,***:::*,,+:*,,.+,
.............,**++..,.,,,,,,..............,:,.,,,,,,,,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,:::+*+,,,,,,,,,,............,,,,,,.#*##*:++.:::***+*,
............,,**+:.....,,,,,..............****++***:::::++++**********************++****++++++******++++++++*#*:.,:****************,..,,,,...+*:,*,+*.,::*##**#
,,,,........,,**+:.....,,,,,,,............**+*+*+::::::::+++++++++++++++++++++++++++++++++++++++++++++++++*###++++.,:**************::,::::,:******:+*.:::*#*#*#
,,,,,,,,,,,,.,**++.....,,,,,,,..........,.+++*+:::::++::+++++++++++++++++++++++++++++++++++++++++++++++++++*#+::+++,.+:*********++*::::,,####*****:+*.:::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,,,,....,,,.++::::::::+:,:+::+++++++++++++++++++++++++++++++++++++++++++++:::**::::::*.,*:********++*::::,*#####****:+*+::,**#**#
::,,,,,,:,,,.,**++.,,,,,...,,,,,..,,,,,,..:::::,::+:,,+++++++++++++++++++++++++++++++++++++++++++++++++:+:+++::::+++*:.+*+****+*,.,::::#######*#**::::::+:,:*::
::,,:,:,,,,,,:**++.,,,,,....,.  ........,,:::::::::,,+++++++++++++++++++*+++++++++++++++:+++++++++++++:::,:,,+:::+++++:.*#:****+**+::,:*######+***:***+:+**#**#
:::::::::::::+**++,,,:*#****:::,,,.,::,,::::::::+:,,++++++++++++++++++++++++++++++++++++++++++++::::::::::,,:+++::+++:+:.,*:+*:+++::.:*#######*,:*:**:*:+*##**#
++++::++++++:+**++:+*:*+::+++:++:, ,*:::::,,::++:,:+++++::++++++++++++++++*+++++++++++++++++++++++++++++:::::+++:::++::*,.. ..........*#######*:.+:+***::*##***
,,......,,::::+*:+::*:*::::+++++**:,.,...,,,.,,,......,,..,,,,,,,..,........,,,,,,,,,,,,::,,:::::::::::::::::::::::+++::#:.,*+++,..  ..#######+  +:**:*::*#****
.................,,.............,............,,,,,,,,,,,,.,,......:*######################**,..........................,......,:+++++++*######+ ,*:**+*::***#**
.....,............,............,,...................,,,,::,,,,,,,,........................... ............................,......:**:+**######*:,*:**#*+:**++*#
,,,.............,.,.,.,.................................,,,:::::,,,,,,,...........................................................+++++*######+:,*:**#*::++:+*#
,,....,.........,.,....,,.,,,,....,,,,..,,...............,....,::+::,,,,,....................... .,,.............................,..:+**######+:.*:**#+::::++*#
,,,...,...........,....,,,,,,,.:,,......,,,,.....................,::++++:,::,,,.................,,..............,,:.........  ...,.. .:*#####*++:*:***+:++:::+#
..,..,,,,,,...........:,:,,:,,::::+:::::::::+++:::::::,,,,,,,,,,,,..:+++++::::::,..............,++++::,,,,,,,,,,,:...    ... ..,.,...,+**###*++:,+:**:*::::::+#
......,,,,,,......,.,*:,::::::,,....................................  ...,:::,,... .........   .....,,,,,,::::+++,.  ...  ...,:+::...,:+*###*:++,::**:++++::++#
:,,...,,,,,,........*#:,::,::::,,,,,,,,,,,,,,,..............................................................        .... ., .,+++:..,,:**###+:++:::**:+:::+:++*
+++....,,,,........:##*:::::::::::,,,,,,,,,,,,,,,,,,,,,,.................................................... ...      ....,  :**+*+,:+**+*##+:++,::*::+:::++++*
+++,..............,*##*+::::+++++++++:::::::::::::::::::,::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,..................        ......,*****,.::+:::+*::++,::*+:::::++++*
,+++.............,:##**:,,+*********************************++++++++++++++++++++++++::::::::::::::::::,,,,,,,,,,,,.   ..,,,.,***++,+:,,:****:+:::::+++,:::++++*
..*++:.,,.........###*+,,:+*##############**++**#############################################*+++*****************,.   ...  ,#**:*:.,++:++++++***+**++::++++++*
...+*++:.........:##*+::,:+*##############**++**#############################################*++++**#############*....,,,,  :#**+*:.,++:++++++++++++++++++*****
.....,,,,.......,*##+::::+****############**++**#############################################+:+++**#############+..........:##*+*:.+:::::::::::::+++++++++++++
......+++,......,###:::::+**+++***########**+++*############################################*+:+++**############+,......... .##*:*,,+,,,,,,,,,,,,,,,,,,,,,,,,,,
....,.+++,..,,,.+##*+:::::++####*+++++++++**++**############################################*+::++**####*++:,,,,,,.. ...     *#**#,::.,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,++**:::::,*##*++,::::+*##########*++++++**############################################*:::,,,.....,,:+***#*..       . .*##*+,*:,,,,,,,,,,,,,,,,,,,,,,,,,,
:::,,,,,,,,,,,,,*#*:::,:++++::::++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++:,,...,+*########****        .... *##**,*+,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,,..............................................................................................................................,...,,......
............,.***+.,,..............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++..,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,....,,,,.......................................................,...,,...,.,
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..............................................,,...,,:+**:*
..............***+.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..............................................,,:*+:::***:*
..............***+..,...,,,,........................,,,,,,,,............,,,,,,,,,,,,........................................................,,++::::++::+*:,,:+
..............**++.,,...,,,,.............,....................................................................................................,:,+::*,,+:*,..+:
............,,**++.,,...,,,.............,,,,,,,,..,,........,,................................................................................+,,+::*,,+:*,.,+,
............,,**++......,,,,............,*:::::::::::::::,,,........................................,,,,.,,,:,..........................,,,,.,**#:::*,,+:*,,.+,
.............,**++....,,,,,,............,+......,,,::::+++++****++++++++++++++++++++++++::::::,,,,,,....,,++*:::::::::::::::::::,,,,,,,,,,,,.#*##*:++.:::***+*,
............,,**+:.....,,,,,..............++**::::++++++++++++++++++++++++++++++++++++++++++++++****++++*###+++,.+*****************:..,,,,...+*+,+,+*.,::*##**#
,,,,........,,**+:.....,,,,,,,............++:::::::+:++++++++++++++++++++++++++++++++++++++++++++++++++++##*+++*,,++*************+*::,:::,,:******:+*.,::*#*#*#
,,,,,,,,,,,,.,**++.....,,,,,,,..........,.::::::::::++:+++++++++++++++++++++++++++++++++++++++++++++++++:+*:::+:+,.*++***********++:::::,####*****:+*.,::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,,,,......,:+,::::+:,++:::++++++++++++++++++++++++++++++++++++++++++++++:::+::::++:*,.**,*********++*::::,*#####****:+*#::,**#**#
::,,,,,,:,,,.,**++.,,,,,...,,,,,..,,.,,::,:,::+:,,++++++++++++++++++++++++++++++++++++++++++++++++++:::++++::::++++:.+#++******+..,::::#######*#**::,+::+:,+*:,
::,,,,:,,,,,,:**++.,,,,,.. ...  ...,,:::,,,:++:,,+++++++++++++++++++++++++++++++++++++++++++++++++++++:::,::+::+++:+,.+#+:*****+***::,:#######+***:**#*:+**#**#
:::::::::::::+**++,,,:+*::,,,,,:*+:,:::::::++:,,++++++++++++++++++++++++++++++++++++++++++++::++++::::::,:++++::+++++,.,**,+++,:++:. :*#######*,:*:+*:*:+*##**#
++++++++++++:+**++:+*:++++++:. +:,,,::::,::::,:+++++::++++++++++++++++++++++++++++++++++++++::::::::::::::++++:::++++:, ..:,....   .:+*#######*:.+:+***::*##***
,,......,,::::+*:+::*:*::++++:.,....,,,,,,,,,,,,....,,....,,.,.,,,,,,,..,,......,.,,,,.,,,,,,,::::::::::::,,::,,:::::++,.:#*+:,..   .:########+  +:**:*::*#****
.................,,......................,,,,,,,,,,,,,,,,.....:*********################+.........................,.,......,:+++++:::,**######+ ,*:*#+*::***#**
.....,............,.......,,....................,,,,::,,,,,,,......................................................... ........ *:**++**######+:,*:**#*+:**++*#
,,..............,.,.................................,,::::::,,,,,,,..............................................................+*++*+**#####+:,*:**#*::++:+*#
,,....,.........,,,.,,,.......,,..,,..,... ,.........,...,,:++::,,,,,,............,......... ..,............... ..................::+****#####+:.*:**#+::::++*#
,,,...,..........,,,,,,,.,,,......,,,,....,.................,,:+++++:::,,,,.................,,..,,...,,,,...,,.,..............,,. . .+**#####*++:*:***+:++:::+#
.,,..,,,,,,.....:,::::::,:::+:::::::::++++::::::::::,,,,,,,,,,,,++*+::::::::,..............,++++++::,,,,,,,,,,,...       ...,,.,. ..,+***###*++:,+:**:*::::::+#
......,,,,,,...:+,:::::,,,,........................................ ,,:,..,.  ..........  ........,,,,,,:::++:.  ....... .,:::,:.. .++++*###*:++,::**:+:++::++#
+,,...,,,,,,..,#*:::,:::,,,,,,,,,,,,,,,,,,..............................................................         ....... .:+++::.,.,+::**###+:++:::*+++:::+:++*
+++....,,,,..,##*+::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................  ..      .. ... .**++*,,,.:*+**+*##+:++,::*::+:::+++++
+++,.........*##*+,,::+++++++::::::::::::::::::::::,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,.................... ..     ......,,**++*:,.::++++::*#::++,::*+:::::++++*
,+++........:###*+,,:*******************++**********+++++++++++++++++:::::::::::::::::::::::::::,,,,,,,,,,,,..     ...,,.,***++:,,*,,,,+****:+:::::+++,:::++++*
..*++:.,,...###*+,,,:*##############**+++**##############################################*++******************:. ...   ..:***+**:,.:++++++++++***+#*++::++++++*
...+*++:...,###*:,,::*##############**+++**##############################################*++****########******:. ..,,,.  :##**#*:,.+++++++++++++++++++++++*****
.....,,,,..+##*::::+++*#############**+++*###############################################+:+++**#############*,......... +##***+..,+::::::::::::::+++++++++++++
......+++,,*##+:::++******##########**+++**############################################**+:+++**############+:.......... ,##*+#+..:+,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,.+++,,##*+,,::::+*#***+++++******+++**#############################################*+++++**#######*:::,,,,......    .###**:,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,++***##**:,,:::+*#########**++++++***#############################################+:::::::,,,,,.,,::+++,....     .. *##*+:,:*.,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::,,,,,,,+##+::,::+::++++++*****+*+++++++++++++++++++++*******************************+,,...,:+############:         ... *##**,.:*:,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,,..............................................................................................................................,...,,......
..............***+.,,..............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++..,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,....,,,,.......................................................,...,,.,,,.:
..............***+..,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..............................................,,...,,:***:*
..............***+.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..............................................,,:*+:::***:*
..............***+..,...,,,,........................,,,,,,,,............,,,,,,,,,,,,........................................................,,++++::++::+*:,,:+
..............**++.,,...,,,,.........,:,......................................................................................................,:,:::*,,::*,..+:
............,,**++.,,...,,,.........,.,,........,,,,,,,,,,,,,,..........................................................................,,....*..*::+,,+:*,.,+,
............,,**++......,,,,..........*,,,,,,,,,,,,,,,........,,,.....................................,:+++............................,:.,,.,***:::*,,+:*,,.+,
.............,**++....,,,,,,.........,+.....,::+::::+********+++++++++++++++*********++++++++++++:::,,.:**,,,,,,::::::::++*+++:::::::::::.,,.#*##*:++,:::*****,
............,,**+:.....,,,,,..........,,.,:::::::++++++++++++++++++++++++++++++++++++++++++++++++++++*###++++..,*###***************:.,,,:....+*::+,+*.,::*###*#
,,,,........,,**+:.....,,,,,,,.........,::::::++:+++++++++++++++++++++++++++++++++++++++++++++++++++++*#*+++++,,#:***************+*::,,::,,:******:+*.:::***#**
,,,,,,,,,,,,..**++.....,,,,,,,......,,::,:,:::::++:+++++++++++*+++++++++++++++++++++++++++++++++++++++**::::+++,.**,*************++:::::,####*****:+*.:::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,,...,::,,,,:::,,++:::+++++++++++++++++++++++++++++++++++++++++++++++:++++::::++:+,.##:+**********++*::::,######****:+*#::,**#**#
::,,,,,,:,,,.,**++..,,,,,,.,,,,.,,::,,,,:++:,:++++++++++++++++++++++++++++++++++++++::+++++++++++++:+:+:++::++:++,.*#*:*********,,.::::#######*#**:::+::+:,:*:,
::,,:,:,,,,,,:**++.,..,,......,,::,,,,,,+::,::++++++++++++++++++++++++++++++++++++:++++++++++++++++::,,,++::::+++:,.##*,*******+***:,,:*######+***:**#*:+*##**#
:::::::::::::+**+:,::::,.,+**+::,::::::+::,:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++,::+++:::++++:,.,#*,:++*:,:+::, :*#######*,:*:++:*:+*##**#
++++++++++++:+**++:+*+++,.+:,,,,,,,,,,,,,,,::::::::+++++++++++++++++++++++++++++++++++++++++::::::::::::+++:::+++:*,. .::,....  ..:+:+*#######*,.++**++::*##***
,,......,,::::+*::::+,#::,..,,,,,,,,,,,,..,,..........,,,,++++++++::::::,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,:::::+,..***+:,..  .,,,+########+  +:**:*::*#****
.................,,...................,,,,,:,,,,,,,,,,.. ..,,,,,,,::::++*****#######:............................,...  .,:+++++++:,,+.**######+ .*:**:*+:***#**
.....,............,...,,...................,,,,,:::,,,,,,,,...........................................,........... .....,.....:+*:**:+**######*:.*:**#*+:**++*#
,,..............,,,.,,,,,,::::::::,,,,.........,,::::::,,,,,,,,............................................................... ,++*++++**#####+:,*:**#*::++:+*#
,,....,.....,,,,,,..,.......,....... ,,.............,,,:++::,,::,,..........................,,,,,................... ....  ...,..:+:+***######+:.*:**#+::::+++#
,,,...,....,,,,,,,.,........,,,,,,,,,...................,:+++++::::,,,,.................,,,,....,,,,,,..,.,,......... .. .,,,.. ...,****#####*++:*:**#+:++:::+#
.,,..,,,,,::,,::,,,,..,,..,,,,,,,,:::,::::::::::::::::::,::+++:::,:::,,,,..............:******+++++:,,,,,:,...        ..,:,.:......::+**####*++:,+:**:+:::::::#
......,,,++:::::::,,,,,,,,,,....................................,,,,................    ..  ..........,,:,.. .  .......,++:,:,. ..,*++++*###*:++,:,**:++++::++#
+,,...,,*#+:::,::::,,,,,,,,,,,,,,,,,,,..............................................................         .......  .:+++::,...,,+*+++*###+:++:::*+++:::+:++*
++:...,:##*:::,:::::::::,,,,,,,,,,,,,,,,,,,,.....,,,................................................ ..       ...... .,**+**:,.,.,:+****+***+:++,::*::+:::++++*
+++:..,*##*:,::+++++++++++:::::::::::::::::::::::,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,................... ..    .......,+*****:,..,:+:++++::+*::++,::*+:::::+++++
,+:+,.:###*:,,********************++**************++++++++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,..     ....,..+**+*+:.,,+:,,,,,:****:+:::+:+++,:::++++*
..++++###*:,,:+###############**+++*################################################*+++******************,  ...    . *#**:*+,,..,++++++++++++***+#*++:+++++++*
...+**##*+,,,:+*##############**+++**###############################################*++++*****************,  ..,::. ..*#***++::,.:++++++++++++++++++++++++*****
.....*##:::++++**#############**+++**###############################################++++++*##############*,..... ..  .*#**+**,...+::::::::::::::+++++++++++++++
....,##*::::++**++**##########**+++**#############################################**++++++*#############*:...... ... .*#**+**,..,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....+##*:,:::::*****+++++*******+++**##############################################*+++++**#########*+:::,,.......    *##*+#::..:+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,*##*+,,::::+########****++++++**###############################################*::++++:::,,...,,:::::,....       .*##*+*:,.,*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::,*#*:::::::++++********#*+++++++++*****++******************************########*+,,,,.,:+***#########:         ....+##***,..,+*.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,,..............................................................................................................................,...,,......
..............***+.,,..............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++..,..............................................................................................................................,...,,......
..............***+..........................................................,,,,,,,,,,,,..,,.......................................................,...,,.,,,,:
..............***+.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..............................................,,...,,:+**:*
..............***+.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,............................................,,.,:*+:::***:*
..............***+..,,..,,,,....,,..................,,,,,,,,............,,,,,,,,,,,,........................................................,,++++::+*::+*+,,:+
..............**++.,,...,,,,......,,,,,,....................,,,,,,,,,,,,,,,,..................................................................,:,+::*,,+:*:..+:
............,,***+.,,...,,,.......,,,,,,,,,,......,,..,,..........................................,,,,,................................,......*.,*::*,,+:*,.,+:
............,,**++......,,,,......:*.......,,,,,::::::++::::::::::::::::::,,,,,,,,,,,,..............:+*+....,,......................,,,,..,,.,***,::+,,+:*,,,+,
............,,**++....,,,,,,....,,:+...,::::++:+++++********************************++++****++++++*+*#+,,...,,,,,,,,,,,:++::::::::::::::..,,,**##*::+.,::*****,
............,,**+:.....,,,,,......,.,::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++###*++++,.::*********************:.,,:.....+*::+:+*.,::*###*#
,,,,,,......,,**+:.....,,,,,.....,,::::::++:++++++++++++++++++++++++++++++++++++++++++:+++++++++++****++++*:.+*:*****************+*::,:::,,:******:+*.,::***#*#
,,,,,,,,,,,,..**++.....,,,,,,,.,,::,,,,:+::+++::++++++++++*+++++++++++++++++++++++++:+++++++++++++***:::++:+,.*#+,***************++:::::,#####****:+*.,::*#*#*#
,,..,,,,,,,,.,**++..,,,,,,,,,,,:::,,,:::,,+++:::++++++++++++++++++++++++++++++++++++:++++++++++::+++:::::+++*,,+##,*************++*::::,######****:+*#:::**#**#
::,,,,,,:,,,,,**++....,,,,,,:::,,,,,:+:,:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::+++*:.+##*:***********:,.+:::#######*#**:::*+:*+::*:,
::,,:,:,,,,,,,:,,,,,...,,,,::,,,,,,:::,::++++++++++++++++++++++++++++++++++++++++++++++++++++++::::,,++:::++++:, *##+:*************:,,,#######+***:+*#*++*##***
::::::::::::::++::,.,++*,::::::,,,::,,:++++:++++++++++++++++++++++++++++++++++++++++++++++++++++:+,::+++::::+++:, .:+,,,,,::+:,:+::..,*#######*,:*:+*:*:+*##***
++++++++++++::++*++:::,...,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++++++++++++::::::::::++::++++++:..:**+:...    ,:++++:*#######+:.++**++::**#***
,,......,,::::**:+,.........,,,,,,....,,,.,,,......,*#######****##**++++::::,,,......,,,,,,,,,,,,,,,,,,,,,,,.,,+:, .:+*+::,.....::,,,+########+  +:**:*++*#****
................................,,,,,:::,,,,,,,,..................,,,,,,::+++***..................,..........,......,.::::,:+::::,,,::**######+ .*:**:*+:******
.....,........,,.......................,,::::::,,,,,,,.................................................................,.,. ,+++++**+***######+:.*:**#*+:**++*#
,,........,,,,,:::::++++::::,,:,..........,,:::::::,,,,,,,.................................................................. ,+****++++**#####++,*:**#*::++:+*#
,,....,,,,,..,,......,.........................,:++::::,,,,,,,,...........................,,,,,,...................... ...... .:**+:+***######+:,*:**#+::::++*#
,,,.,,,,,,,,,,,.......,,,,,,,,,...................,:++++*+:,::,,,..................,,,,,,,,,,,,,,,,,,.,............  ..,,,,.. ....:+****######++:*:***+::+:::+#
.,.,,,,:::,,....,,,,,,....,,,,,,,,,,,,:::::::::::::::++*++++++++::,,.............,+*#####******+++::,+.. .        ...,:,,,,... .,::++****###*+++,+:**:+::::::+#
.,:*:,::,::,,,,,,,,,,,,,,,,,,,.........................  .,,,,........  ............. ..    ........,...    ........:++,::,.... ,*****++*###*:++,:,**:++++::++#
:*#*,:,,::::,,,,,,,,,,,,,,,,,,,,................................................................         .  .... ..++**+,:,.....,++***++**##+:++,::*+++:::+:++*
*##*::,,::++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................  .        .... .,*++**::,..,.,:+**********+:++,::*::+:::++++*
###*:,,:+++++:::++++:::::::::::::::::::::,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................  ..     .......,+**++++,,.,.,:++::+:++::+*::++,::*:+::::+++++
##**,,,*******************+++***************++++++++++++++++++++++::::::::::::::::::::::,,,,,,,,,,....     . .,,..+#*++:*,..,.+:,:,,,,,,****:+:::::+++::::++++*
##*+,,:**##############**+++**#################################################*++*******************+..   .    . *#***+*:,,,,+,*+++++++++++++***+**++:+++++++*
##*:,,:+*###############*+++**#################################################*++++*****************:....,,::. ..*#***#*:,::..,*+++++++++++++++++++++++++*****
#+:,,:++**##############*+++**################################################*++++++*##############*:........   ,##***+*+,,,.,:+:::::::::::::++++++++++++**+++
*:::::++*+**############*+++**###############################################**++++++*##############+,...........,*#**+**+:,..,*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
+:::,::+****+++++********+++**################################################*+++++**##########*+::,.........    *##*++*:::..:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:,,,::+*#######**++++++++++**################################################*+::++**+++:,,..,,:::,,......       *##*++*::,.,++.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++,::::++*******######*++++++***********************#########################*:,,,,,,,,::+**#######*          ....+##**+*....,**.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+.,,..............................................................................................................................,...,,......
.............,***+.,,..............................................................................................................................,..,,,......
..............**++.,,..............................................................................................................................,...,,......
..............**++,.,..............................................................................................................................,...,,......
..............***+,...................................................,,....,,,,,,,,,,,,..,,.......................................................,...,,.,,,,,
..............**++.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..............................................,,...,,:*+*+*
..............***+.,,...,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,............................................,,,,:**+::***:*
..............**++,.,,..,,::....,,..........,,,,....,,,,,,,,........,,,,,,,,,,,,,,,,........,,,,............................................,,+++:+:+*+:+*+.,:+
..............***+.,....,,:,..,,,,,,..,,,,,,,,,,,,,,....,,,,,,,,,,,,,...........,,,,,,,,....,,,...................................,...........,:,:::*,,+:*:,,++
..............**++.,.....,*+,,::,,,,,.,,,,,,,.,,,,,,,,,,,,................................,,:+*+,,,,,,,,........................,,,:..........*..*::*,,+:*:,.+:
............,,**++.,....,,*:,,::++++++**************************************++**++++++++:::,***,..,,::::::::::::+++++:::::::,,,,,,::....,,,,,,+**,::*,,+:*:.,+:
............,,**+:....,,,,:,::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++*###+:++,.,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,:.,,,..,,.#+##*::*,,+:*****:
............,,**+:.....,,:::::::+:+++++++++++++++++:++++++++++++++++++++++++++++++++++++++*#**+++++,.:**:**************************:...,...,.+*:,+:+*,,::*###*#
,,,,,,......,,**+:..,,:::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**::::::*,.,##+,**********************++::,,::,:+******:+*.,::***#*#
,,,,,,,,,,,,..**++,,:::,,,,,::,:++++::++++++++++++++++++++++++++++++++++++++:+++++++++++:++++:::::+++,.:##*,+********************++:,::::*####****:+*.,::***#*#
,,..,,,,,,,,..**:,::,,,,,,::,,:+++++::++++++++++++++++++++++++++++++++++++++:+++++++++++::*+:,:::::++:,.+###:,******************+++:::::######****:+*#,+,*+##*#
::,.....,,,,.,:::,,,,,,,:::,,+++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++::::,::::::++:: +###*,,****************:,.:+::#######***+:::*++*+,:*:,
,::,,,,,,::,,,::::::,,,,:,,:++:+++++++++++++++++++++++++++++++++++++++++++++++++::++++::,,:,,,+::::::+*,, +*##*,,**+************+**,,,+#######+***:+*#*+:*##**#
::+:::,.,*:,::,,::::,,,,,,:++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++:::::::+:..............,*****+:::: ,..*#######+::*:**:+::*##***
::+++++,,.,...,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++::::::::::::::::+++++*:. .*#*+:,...  .,:+++,::+:+:::*#######*:.::**+++:*##***
,,,,........,,,,,,,,,,,,..,,,,,,,......,######################***++:: ..................,,,,..........,,,....,::::::,,,,,+**+:++::,,,+########+  +++*++::*#****
....................,,,,,,,:,,,,,,,,....  ......................,,::,...............................,........,,,.... .,+***++:++::,,++**######+.,+:**+*+:******
.........................,,,:::::,,,,,,,,................................................................... ........ .,***++:+++++*****######+:.+:**#*+:**:+*#
::,,::::+:,,::::,,..........,,,:::::::,,,,,,,...................................................................,,,,,. .,++++:****++:**+######++,*:**#*:+++:+*#
......,,..,.......................,:+++++:,,,,,,...............................,,,::,,........................ . .,,.... ,:++++++**++***######+:,*:**#+::::++*#
......,,,,,,,,,......................,:++++++:,,::,,...................,,,,,,,,,,,,,,,,,,,.,,.............   ..,,,,,,... . .,,+++*++*****#####++:*:***+::+:::+#
,,,,,,,,::::::::::::::::::::::::::,,,,,:++*+::::::::,,,...............:*********+*++::,,:,:,....        ....,:,.,:,.... . .,+::++++++*****###+*+:+:**:+::::::+#
,,,,...................................   ..,:::,,..... ............. ..............,,,,:,,...    ...... .,:++:.,::,... . ,:*++*******+++*##*:++,:,**:+:++::++#
,,,,,,,,,,,,,,,,,,,,..............................................................            ...... . ...:*+++:.::,,.. ..,:*:*******+:+**##*:++,::**:+:::+:+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,................................................... .      .  .... ..,+*++**,,::..., ,,:+:***********+**+:++,::*::+:::++++*
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................    .    ..........+**+***,,:,..,,.::++:::::::::::::,*::++:::*:+::::+++++
++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,...        ........,***+++*:,,,..,,,+,::,,,,,,,,,,,,+**:+:::+:+++::::++++*
******++**+++**#########################################********#***+***************++++*+:........,,,..,#**+*+*:......,*++*++++++++++++++++++***+**++:+++++++*
########**+++**###################################################**++********************:.............+##**+*#+,,,,::,..+*+++++++++++++++++++++++++*++++*****
########**+++**###################################################*+++++***###############:.....,,,..  .*##***++*:,,,::,.,:+::::::::::::::::::++++++++++++**+++
########**+++**###################################################*+++++***##############*:..........   *##****#*,,,,,...:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
########**+++***#################################################**+++++**##############+:,...........  :##**+:+++::::...+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++*******++++**##################################################*++++++**########**::::,,,........     ,###*+:#::,,::..:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
****+++++++++**##################################################*++++++++::,,,,,,,::+++:,,...        ..,###*++*,,,,,...***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,.***+,.,..............................................................................................................................,...,,......
............,.**++,.,..............................................................................................................................,...,,......
............,.**++,.,..............................................................................................................................,...,,......
..............**++,.,..............................................................................................................................,...,,......
..............**++,.................................................,,,,,,,,,,,,,,,,,,,,..,,.......................................................,..,,,.,,..:
............,.***+,.....,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,...,,:+**:*
..............*+::,.....,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................,:**+::***:*
..............*+,,,,,,,,,,...,,,............................................,,,,,,,,,,...,,,,,,,,,,,........................................,,+++++:+*+:+*+,,:*
..............****,,,,:,,,..,,,,,,,,,,,,,,,,,,,,.............................,..,,++**,,,,,,,,,,,,,,..,,,,,,..............,,,,+,..............::,++:*,,+:*:.,:+
............,.**++::+++:++++++++********************************++**++++++++::::::+**,..,,,,::::::++++::++::::::::::::,,,,,,,::...........,,..+,.*+:+,,+:*:,,++
............,,:::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++**+**###*++++...,,...............,+,.............,:.....,,,,,,,,,,***,::*,,+:*:,,+:
..........,,:::::::::+++++++++++++++++::::::::::++::::::::::::::::::::::+++++++++###+++++:..##*:,,,,,,,,,,,,,,*,,,,,,,,,,,,,:::,,,::,,,,,,..,#+#**::*,,+:*****:
.......,,:,,::,:::::+++++:++++++++++++*+::++++++++++++++++++++++++++++++++++++++:*#::::::+:..*###,,++***######*********************:..,,,,.,.++::*:+*,,+:**##*#
.....,,:::::,,,::,:+++++:::++++++++++++++:++++++++++++++++++++++++++++++++++++++**+::::::+*:,.*###:.+##***##*********************++::,,::,:+******:+*.,+:*#*#**
..,,:::,,,,,,,,,,:++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++:::+*:::::::::+,.,*###*,,**************************+++:,::,*#####****:+*.,+:***#*#
,,::,,,,,,,,,,,,++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,:::::::*:,.:**###:.+************************+++:::+*######****:+**,:,**##*#
::,,,,,,,,,::,:+++:+++++++++++++++++++++++++++++++++++++++++++++*++++++++++++:::::,,,:::++:+*:..*#*###:..****+******************,:.:::**######**#*:::+++*:,:*::
,,,,:,,,,,:,,:++++++++++++++++++++++++**++++*+++++++++++++++++++++++++++++++::::+,,:++::++::+:,. .:+**+,..::::******************+++:,,*#######+***:+*#*+:*##*+#
,,,,,,,,,,,,::::+:,:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++::++++:*:...:++:,,.... . .**************:,::,. ,*#######++:+:**:++:*##***
,,,,,,,,,.......,..,.....,::::::::::,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::*+,  .***+:,,.     ::******++++::::+:++:+########+:.::**:++:*##***
,,,,,:,,,,,,,,,,,.,,....,:+*++******##**###############:........................,.........,,,.....  .,::++++++::::+++++*****+:+*::,,,,*#*###*#+  +++*+++:*#****
.....,,,,,::,,,,,,,,,,,.............................................................................,........ .,,::+++****+++:*+:::,,:**######+.,+:**+*++******
..........,,:::::::,,,,,,,,.......................................................................  .........   ,,++++*****++:++++*+****####*#+:.+:**#*++**:+**
............,,,,::::::,,,,,,,,,............................................................................,,,  ..,+*******+*:*****+:*++*#####++:*:**#*:+++:+*#
..................,:++++++:,,,,,,,,.........,.......................,,,,::,,,,................ ....... .,.,,,,....,.,:++++++*:**++*++****#####+:,*:**#+::::++*#
....................,,+++++++:::::,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,................ ...,.,,........ ..  .,:++:+++**++*+*****#####+::*:***+::+:::+#
::::::::::::::::::::,::+**+++:::::::::,,...............,**######****++++:::,,+,.....         ....,:,..,:,,.,,..... .,:+:++::+:::+++++*****##*+++:+:**:++:::::+#
....................... . ..,:::,,,.......................... ......,,,,,,:,,.....    .........,:+++,.,::,..... .. ,:#*+++++++********++++##*:++,:,**++:++::*+#
,,................................................................               .. ...... ...,+*++*+.,,:,,,,,. . ,::**:++++++********:+*+##*::+,::**:+:+:+:++*
,,,,,.......,,,,,,,,.....................................................         .   .... ...+******:.,,,,,,,... ,::++:++++***************#+:++,::*::+:::+++++
,,,,,,,,,,,,,,,,,,,,,,,,.................................................    .    .........,.:*****+*+,,,,,,,,,,.,+:::,,:::::::::::::::::::*::++,::*:+::::++++*
::::++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,....         .........,+***+*++*,,,,,,,..,.::,+*,,,,,,,,,,,,,,,,,,:+**++:::+:+++::::++++*
############************************+++++++++++++++:++++++++++++:::::::::::::,......  .::,. ,******+**,.........:*::**::::::++++++++++++++++++**#**#*+:+++++++*
####################################################*+**********************+,........ .  . :#*****+#*:,,,,,,,:,,..+*:::::::::+++++++++++++++++++++++**+++*****
###################################################*++++++***###*************,.....,::,,..  +##*****+*+,,,,,,::,..:+++::::::::::::::::::::++++++++++++++++**+++
###################################################*++++++**################*,..........   .*##*****#*+,,,,,,,....:**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##################################################*++++++***###############*,,..........   .*###**+:+++::,,,:,...:+:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
###################################################*++++****############*+::,............   ,###**::#*+:::::::,..++,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
###################################################+++++****####***+:::,::,,,,......       .,###**:+**:,,,,,,,..,**#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,,***+,.,..............................................................................................................................,...,,......
............,.**++,,,..............................................................................................................................,...,,......
.............,**++,.,..............................................................................................................................,..,,,......
..............**++,.,..............................................................................................................................,...,,......
..............**++,.................................................,,,,,,,,,,,,,,,,,,,,..,,.......................................................,..,,,.,,..,
............,,***+,.....,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................,,...,,:*+*+*
........,,:,,,,,,,...,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................,:**+::***:*
........,,:,,,,,,,.........................................................,::++............,,,,,,,,,,,,..................,+................,,+++++:+*+:+*+,,:+
........,:+:::::+++++++++++++*******************++++++++++++::::::,,,,....,.+*#:,,:,,,,,,,,,,,..,,,,,,..,,..,,........,,,,::..................,:,:+:*,,+:*:,,++
.......,::::++++++++++++++++++++++++****++++****************************+++*##*+:,,.....................,,+:,,,,,,,,,,,,,,:,..............,,..+..*::+,,+:*:,.+:
....,,:::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*###+++++:..+*+,..............,.:,............,.:,........,,,,,,,,,,+*:,::*,,+:*:,,+:
,,,,:::,,,:::+++++++++++++++++*+::::::::::::::::::::::::::::::::++++++++++*##*+::::+,..*##*,,,::::::,,,,,,*:,,,,,,,,,,,,,,+,,,,,,,::,,,,,,..,#*#**::*,,+:*****:
::,,,,,,::::+++++:::++++++++++++*+::::::::++++++++++++++++++++++++++++++++**#+:::::+*,..####*.,+++++**********##*******************:..,,,,.,,+*,**:+*,,+:**##*#
,,,,,,,,:,:++++++::++++++++++++++++:::::::++++++++++++++++++:+++++++++++++++::::::::++,.:*####,.:+::*****************************++::,,::,+*******:+*.,+:*#*#**
,,,,,,,,,:++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++*::::++:::*,,.+#*###+,,++****************************++*:,:,:*####*****:+*.,+:***#*#
,,,,,,,:+++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++:,.,:::++::++:..*#*###*,.,****************************+++::::*######****:+*+,:,**##*#
,,:,,,++++++++++++++++++++++++++++++++++::++++++++++++++++++++::++++::::,:::,,,:::+++++,,..+######:.,****+**********************+,,,::*#######**#*:::+++*:,:+::
:::,,+++:::+++++++++++++++++++**+++++**+::+++++++++++++++++++++++++++++++:::::::::++++:+,, .....,.. ....,,**********************+++:,,########+***:+*#*+:*##*+#
,,,,,,,,,,,::::::::::+::++++:::::+++++++++++++++++++++++++++++++++++++++++++::::::::+++*:, .:***+:,.....  .+******************:,,::, ,########+::+:**:++:**#***
........,,.....,+***++++++++++++::::::,,,,,,,,,,........,,....,,,,,,,,,,....,,,,,,,,,,:++, ...++++:,,. ....:+:***++***++++++::::++++:*########+:.::**:++:**#***
,,,,,...,,......,,,,::::++++++**********#######:.........................,.........,..........,,::::::,,. ..:+*++:+++++*****+:+++:,,,:*#####*#+  +:***++:*#****
::::,,,,,,,,,,..........................................................................  ...............  .,:+++:++++*****++:*+::,:,:########+.,+:**:*++******
.,,:::::::,,,,,,,,...................................................................... ................  ..,:++:++++*****++:++++++*+**####*#+:.+:**#*++**:+**
,,,,,,::::::::,,,,,,,,,................................................................. ...............,. . ..::+++*******+*:**+***+**+*#####++:*:**#*:+++:+*#
........,,:+++++:,,,,,,,,...........,.........................,,,,::,,,,........................ ...,.,,,,.   ....,+***+++++++**+:*++****#####+:,*:**#+::::++*#
...........,++++++*+:::::,,.....................,,,,,,,,,,,,,,,,,,,,,,,,..............   ....,,.,,.......... .. ...:++++++:+++**+:*+*****#####+::*:***+::+:::+#
::::::::::,,::+**+:::::+::::,,................,:*#**####*****++++:::,:,.....          ....,::,..,::,....,.. ...,,*+:++++++::+::+++++++****##*+++:+:**:++:::::+#
..................,::::,,....  ...........................,,,,,,,,,,:,......  ..........,:+++:..:::,,,.,,.  . .,:#*:++++++++++********++++##*:++,:,**++:++::*+#
...................,......................................               .......  . ...,+++++*:.,::,,,..,.  ..,::**,::::+++++*********:+*+##*::+,::**:+:+:+:++*
,,,,,,,,,,.......................................................  ..     ..  .........:**++**+,.,:,,,,.,. ,..:,+**,::::++++*************+**+:++,::*::+:::+++++
,,,,,,,,,,,,,,...................................................          .......,,..,***+*#**:,,,,,,..,,,,.,+:++,,,,,,::::::++:::::::::::*::++,::*:+::::++++*
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,..... .       ..........,+***+****+,,..,,....,..*,:+*,,,,,,,,,,,,,,,,,,,,,,:+**++:::+:*++::::++++*
++++++++++++++++++++++++++++++++++++++++::++:::::::::::::::::::::::::......... .+:,..,****+**+**,..........,*+.+**::::::::++++++++++++++++++++**#**#++:+::++++*
##########################################**************************+,......  ..     :*#****++**,,,,,,,,,:,.,,,+*:::::::::::::+++++++++++++++++++++++**+++*****
##########################################**+++++********************,.....,,,,,.   .+##********:,,,,,,,,::,.,:+++::::::::::::::::::::::::++++++++++++++++**+++
###########################################+++++****################*,.........   . .+##**+*****:,,,,,,,,,...,+**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#########################################**++++++***###############*:,............. .*###***++**:,:::,:,::...:+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########################################*+++++***##############*+:,,.............  ,###**+:**+::,,::::::..:+:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########################################*+++++***#########*+::::,,,,........       :###**+:+*+:,,,,,,::,..+*##+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,..,,***+,.,..............................................................................................................................,...,,......
............,.**++,,,..............................................................................................................................,...,,......
.............,**++,.,..............................................................................................................................,..,,,......
..............**++,.,..............................................................................................................................,...,,......
.............,***+,.................................................,,,,,,,,,,,,,,,,,,,,..,,.......................................................,..,,,.,,..,
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,..............................,,...,,:*+*+*
::,,,,...........................................,,,....,,,,.,::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,::..............................,:**+::***:*
++++++++++++++++++++****++++++++++++++++++++::::::::,,,,,......:**:,,,::::::::::::,,,,,,,,,,,,,,,,,,.............,,+,.......................,,+++++:+*+:+*+,,:+
*****************+********************************************###*++::,..........................,*,..............,+..........................,:,:+:*,,+:*:,,++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*####+++++:. .+++:,...................*,..............,+......................,,..+..*::+,,+:*:,.+:
++++++++++++++++++::::::::::::::::::::::::::::::::++++++++++**##*+++++*,..:####+....,............,*,..............:,................,,,,,,,,.++*,:::*,,+:*:,,+:
+::+++++++++++++*++:::::::::::::::::::::::::::::++++++++++++++**+:::::++...*#####:.,:::::::::::::+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,.**+**+::*,,+:*****:
::++++++++++++**++++::::::::::::::::::::::+++++++++++++++++++**::::::::+:,..##*###*..,+***+++++++**+****####***********************:..,,,,.,+++:**:+*,,+:*###*#
++++++++++++****++++++++::::::::::::::::::++++:+++++++++++++++*+:::::::++:, :##**###:..:++++++++**+:*****************************++::,::,:******+*:+*.,::*#*#**
++++++++++++++++++++++*+:+::::::::::::::::++++++++++++++++++++::::::+++++:,.,###**###+,.,+++++++**++****************************++*:,::*#####*****:+*.,+:***#*#
++++++++++++++++++++++++++::::::::::::::::+++++++++++++++++::::,::::++++++:. :####*###+,..+++++++*++****************************+++:::**######*#**:+*,,+,**##*#
++++++++++++*********+++*+::::::::++++:+++++++++++++++++++++::,,::+::++++*:, .,:*******:...,+++++*++*****************************,, ::########*##*:::++:*+,:+:,
++++++++++++********+++++++++++++++++++++++++++++++++++++:++:::::::::+++++:, ...,,,........  .::*+++****************************+++::+########+***:+*#++:*##*+#
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++:::::::::::::::::::::::::,::::++:+*:. ..##**+:,...    .:++++**************************+:,:::,*########*::*:+*:+::*##***
################****++++::,,,.............................,,,,........,,,::,  ...,,,:++::::,,,...,:+*********+:***:+****++::::+:++*++*########*:.+:+*++::**#***
.........,,,::::::++++++*****,. ....................................,,...... ...,:..,,,,.....   ...,:+++++++++*+++**+++*****+:+++:,,,*#*######+  +:**+++:*#****
............................................................................ . ....,..........   ...,:+++******++:++*******+*:+*::::,:########:..*:**+*++******
............................................................................... ...............    ..,++++++**++:+++++*****++:++++++++**######+:.+:**#*++**:+**
,........................................................................... ... ........... .,. . ....,:::::::::+********+++:********++*#####++,*:**#*:+++:+*#
:,,,......................................,,,,,,,,,,,.........................  .  ...........,,.   ...  .,::::+:+++****++*+*+***+**+****#####+:,*:**#+::::++*#
:::,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,.................   .......,,,..,......,,.  .  ..,,,:::::,:++++++++:+++**+++++****#####+::*:***+::+:::+#
::::::::,..................,:::+::::::,,::::,,,,,,,,:,....            .. ..,:,,...,::..,.....,,,. ...,,:#*,:::::,:++*+++++::+::+++++++****##*+*+:+:**:++:::::+#
++++,,,,,,,,,,,,..........,,:+++++++********######*+........    .........,:++++, .,:+:.,...,.,,.  , ,::+#*,:::::::++*++*++++++********++++##*:++,:,**++:++::*+#
... .................................... ...              ............,.,+*+++++,..::,.,.. .,,,  ...,:++**,:::++++::::+:+++++*******#*:+**##*:++,::**:+:+:+:++*
..............................................          ..    .... ....:***+++**,..,,,.,,,,.,,. .. .,,:***,::::::::,:+::+++++************+*#+:++,::*::+:::+++++
............................................... .       .......... ...,+***+****+,.,,,,,.,,.,,,.,,.:::+++,.,,,,,,,,,,,::::::::++:::::::::::*::+:,::*:+::::++++*
,,,,,,,,..,,....,,.............................          ............,+***+***#*+,.,,..,,,..,...,.:+,,+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+**++:::+:*++::::++++*
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,...         ........... ,*********+*:...............,*:,:**++::::::::::::::::++++++++++++++++++++**#**#++:+::++++*
****++++++++++++++++++++++++++++++::::::::::::::::,.    ......,+:... :********+**+..........,,,,.:+,,***::::::::::::::::::::++++++++++++++++++++++++***+++*****
######################****************************:...........      .+##*****+**+*,,,,,,,,,,,:::,..,::+++:::::::::::::::::::::::::::::::::++++++++++++++++**+++
######################****************************:,.....,,,:::,   ..*##******++**::,,,,,,,,,::+,..,+***+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
######################*++++++***##################:............    .:###****#****+::,,,,,,:,,,....,+*+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#####################*+++++++***#################*,.............  . ,####****++**+:::,::,,:::::...:*:,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#####################*++++++****###############*::,...............  .*##****+:***+::::::::,:::,.,.+***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,....***+,.,..............................................................................................................................,...,,......
............,.**++,,,..............................................................................................................................,...,,......
.............,**++,.,..............................................................................................................................,..,,,......
..............**++,.,..............................................................................................................................,...,,......
,,,,,,,,,,,,.,++++...,,,,,..............................,,..........,,,,,,,,,,,,,,,,,,,,..,,.......................................................,..,,,.,,..,
,,,,,,,,..........,,,,,,,,,,............,,..,,,,,,,,,.,,,,,,....,,,,,,,,........,,,,,,,,,,,,,,,,,,,,..........,:,,................................,,...,,:*+*+*
:::::::::::::::::,,,,,,,,,,,,,,,..,,..................,:+*+,.,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,................................,,:**+::***:*
************************************++**++******+++::::+*#:.........,,,,,,,,,,,,,,,,::::::::++++::::::::::::::::............................,,+++:+:+++:+*+,,:+
++++++++++++++++++++++++++++++++++++****************+*####+++++,...,,,....,,,...............,+,..............,+:..............................,:,:+:*,,+:*:,,+:
++++***+++::::++++++++++++::::::::::++++++++++++++++++*##*+++++:..,*##**,...................,*,,............,,+,..........................,,..+..*::*,,+:*:,.+:
++++**++++::::++++++::::++::::::::::::::::+++++++++++**#*++:::+*,..:#####*,.................,*,,.............,,,....................,,,,..,,.*:*,:::*,,+:*:,,+:
++++*****+::::++++++::::++++:::::::::::::++++++++++++**#++:::::*:,..#######+..,,,,,,::::::::+*::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,..,.##***+::+,,+:*****,
++****++++++++++++++++::++++++:::::::::++++++++++++****+:+:::::+*:,.,###**##*,.,+*********+***++++++*******************************:..,,,,,.++++**:+*,,::*###*#
++****++++*****+++:::::::::::::::::::::+++++++++++++*+*+::::+++++:,. *###*####:..,+*******+***++++::*****************************++::,::,+******+*:+*.,::***#**
++++++++++++**++++::::::::::++::::::::++++++++++++++++::::::++++++,,.,####**###+...:**********++++++****************************+++:,::*#####*****:+*.,+:*#*#*#
++++++**++++++++++::::::::++++::::+++*++++++++++++:::::::::::+++++:,..:*####*###+,. ,+****++**++++++****************************+++:::*#######**#+:+*,,:,*##**#
****************++::::::::::++++++++++++++++++++++++::::::+::+++++:,. ..:+++::::,,.. .++++++**++++++*****************************:,.:*########*##*:::++:*+::+:,
++++++****++****++++++++++++++++++++++++++++++++++++:::::::::++++++,.  .,:+:,...... .....:++++++++++****************************+++:,*########+***:+***:+*##**#
,,,,,,,,,,,,,,,,,,,,::::::::::::++++++:::::::::::::::::::::::::::+*+.  .:##*+:,,...   ...,::++++++++**************************+:,::::*########*::*:+*,*::*##***
######********++::,,..............................,,,,..........,::,. ....,,:++::::::::,.....:+++++++********+:+**++****++:::::::++++*########*:.+:+*+++:**#***
,,::::::::++++****:................................................. .. .,..........  ..  ....,:+++++:++++++++*+++**+++****++:++:+,,,*#*####*#+  +:**+++:*#****
....................................................................    ..,.............    ...,+++++++++******++:++*******+*:+*+::::,########+..+:**+*+:******
....................................................................... ...,,............    ...,:++++++++++***++:++++*****++:+++++++++*######+:.+:**#*+:**:+**
.......................................................................  ............. ,,.  . ...,:::::::::::::::+********+++:*********+*#####++,*:**#*:+++:+*#
..............................,,,,,,,,,,,,..,.........................  .. .............,,. . . .....,::::::::++:+******++*+*+***++*+****#####+:,*:*+#+::::++*#
....................,,...,,,....,,,,,,,,,,.,....................   .......,,,..,,.....,,,,.  . .....,,:::::::::::+++++++++:+++**+++++****#####+::*:***+::+:::+#
................,,,,::::::::,,,,,,,,,,,,,::,........           ...,,,,....,,,,.,..,,,,,,,,. .. ,,,*#:,::::::::::,+++*+++++::+::+++++:+****##*+*+:+:**:++:::::+#
,,,,,,,,......,,:*#####################**:..........  ..........,,+*++:..,,:::,.......,,..  . .:::##+,,:::::::::::++**+*++++**********++++##*:++,:,**++:++::*+#
........................     .              ..    .............,+++++++:..,:::........,,.. ...,::+**+,,:::::++++++:::+++++++********#+:+**##*:++:::**:+:+:+:++*
................................              ................,+*++++**+,..,,,..,,,...,,. .,.,,,:++*+,:::::::::::::,:+++++***************+*#+:++,::*::+:::+++++
....................................  .       ...............,+**++++***:..,,:,,,,,...,,..,,.::::+++,,,,,,,,,,,,,,,,,,::::::::++:::::::::::*::+:,::*:+::::++++*
......,,,,,,........................     .     .............,+**++******:,.,,...,,,..,.,.,,.,+:,++*+,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+**++:::+:*++::::++++*
:::::::::::::,,,,,,,,,,,,,,,,,,,......         ...,,,,,,....:*#*++*******:,.............,,.,*,.:****::::::::::::::::::::::++++++++++++++++++++**#**#++:+::++++*
::::::::::::::::::::::::::::::::,,,,,,..        ..  ,::,,. .+##********#*:...............,.:+,,***+:::::::::::::::::::::::++++++++++++++++++++++++++***+++*****
####**********************************+:.................  ,*#*******+*#*+,,,,,,,,,,,,,,:,...,::::++,,,,,,::::::::::::::::::::::::::::::++++++++++++++++++**+++
##########*****************************+,................ .:*##**********+::,,,,,,,,,,::+:,..,++***+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########**++++*****##################+,.......,,,,.. .. ,*###***##*+***+::::::,,:,,,,,,....+**+*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########*+++++++***#################*+..............    .*###***##***#*+:,:::::::,::+:,...:*:::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#########**+++++++***################*+:................  .*###***+*+:+*++:,::::,,::::::,...+***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::*::::::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::*::::+::::::::::::::::::::::::::::::::::::::::::::::::::::*::::::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+::*+++++::::+:::::::::::::+::::::::::+::::::::::::::::++:+::::::::::::::*+::::::::::..,.  ,::::::::::::::::::::+::::::+:::::::::::::::::::::+:::::::::::+++
:::+::*++:,,...,,,:,,:+++*++:...,,******+***********+++++++++++*++++++++++*+*++++++,.,::: ,,,,,,::::::++*++++*++++++++++****+***************************+***+*+
::,.  .,,,,,,,,,,,,..,,.,,,,+#**#*,,,,,,,,,,....,,,,,,,,++**+*:++*************+....,,:+,,..,,:::::::::****++******+++*++********,,::,+*************************
.......,,,,,,,,,,,.,:+:::,.,,,,,....,,::::::::,,,,,,,,.,.....,,,,:::::+++,. *,.,,,,,..:,,,,,::::::::::..........,,,,,,,,,,,.,,,,,,,,,,,,........,,..,,:+*******
,.....,:,,,,,,:::::::,,,,*++**,,,:,.,,:++:++++...,,,,,,,,,,,,,,,,,,,,,,,,...*:,.:,,.,,,,,,::::::++:::::::::::,,:::::,,+++,    ..,,,,,,,.........,......,::,,,,,
::::::,,::::::::::::::::,,:::+::,:,.,,.,,,,,,:..,,,:+,,,,,,,,,,,,,,,,,,,....+:,.+,,..:...,::::::::::++::::::,.,:::+*,:++ ... .,,:,.,..,,........,......,:,+:,,,
::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::....:,,.,,,,,,.,    .,,:...:,.,:........,.......,:++,,,
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::::::::,,,,,,,,::::::,,::,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,.... .,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::,,,,:::::::::::::::::::
,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::+++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::+++::::::::::++::::::::::++++::::::++++++::++++++++++++++:
::,,::,,::::::::::::::::::::++::::::++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++:++++++++++++++++++++++
,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**#
::::::::++:+**+:::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**
::::::++++*++:::::::::::::::::::::::,,::::::::::::++::++::::::,,::::::::::::::::::::::::::::::,,::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::+:**
::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,::::,,::::::::::::++++:++++:+::++##
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,::::++++***++++*+**
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,:::++**
++::++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::,,,,::::::,,,,,,::,,,,,,::::,,,:***
:::::::+::::::::::++::::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++::::::::::::::::::::::::::::::::,,::::::::::***
::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::++++++:+++++++::++:+::++:::::::::::::::::::::+++++++++++++++++++++::::::++::::++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++::::::+::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+::,,,,,,,,,,,,,,,,........................,,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****************+**************+++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+:+++,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,++++::::++++++************#########
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....
,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,.,,,:::++++++++****+++
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++::::::::::::::::::::::::::::::::::::::::::,,,+:,,,,,,,,,,:::::+++++++++++++++++++
,,:+::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::*::::::::::+::::+++++++++++*********
:::+::::+,:::::::::::::::::::::::,,,,,,,,,:::::::::::::::,:::+::::::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::*:::::::+::::+++++++++++++++*******+
:::*::::+::::::::::::::::::::::::::::::::::::::::::::::::::::*::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::**:::::+:,::++++++++**++++++*********
:::*::*+*+++::::++:::::::+::::+::::::::::+::::::::::::::::++++::::::::::::::*+:::::::+::..,.  ,::::::::::::::::::::+:::::+*+::,+:,:::+++++++++*****************
:::+::*++:,,...,,,:,,,+++***:...,.++*****+**********+++++++++++*++++++++++*+*+++++:,.,::, ,,,,,,::::::++*+++++++++++++++****:+,,::::++++***********************
::..  .,,,,,,,,,,,,..,,.,,:::#****,.,,..,,,,....,,,,,,,,++**+*:++*************+....,,:+,,.,,,:::::::::+***++******++++*****+,:::++++********************++++**+
.......,,,,,,,,,,,.,:+:::,.,,,,,....,,::::::::,,,,,,,,.,..,,.,,,::::::+++,. *. ,,,,,..:.,,,,::::::::::..........,,,,,.:,............,,,,,,,,..,,............,,,
......,:,,,,,,:::::::,,,.++:**,,,:,.,,:++:++++...,,,,,,,,,,,,,,,,,,,,,,,....*,,.:,,.,,,,,,::::::++:::::::::::,,:::::,,,..  ......,,,,,,,,,,,,,,,............,::
::::::,,::::::,::::::::::,,,:+::,:,.,,.,,,,,,:..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.+,,..:...,::::::::::++::::::,.,::++:...  ....   .............. .............,,,
::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++::::::...,:,,,,,,:*++,++******************************+++++++
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::::::::,,,,,,,,::::::,,::,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,+++:::++:.    ,+:,    :***+**************+++*
,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,::++++:,.,+*.     .:      ,++++**********::,,,,,,
,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:::+++++::+**,     +*.     ++*:**********+:,,,,::,
::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::,:****####***++++*++*******#########***+:,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::,:::::+++++++++++++++++++*********#######*++:,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::+:::::,.,.  ..,.,,..........,,,,,,,,,,,,,,,,....,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::+++::++**:,,,,. .,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
::::::,,::::::::::::::::::::++::::::++++++++++::++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++**:::::::::::++++::::::::::::,,,,::::,,,,,,,,:::::::
,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**::::+++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:***:::++***********************************+++++**+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*#*+::,:::::+*####*+::::::::::+++++++++++++++++++++++
:::::::::::+**::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,:::::::::::::::::::::::::::::::::+##****#############***********++++++++:::::::::,,,,,,
::::::++++*++:::::::::::::::::::::::,,::::::::::::++::++::::::,,::::::::::::::::::::::::::::::,,:::::::::*#####################################################
::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::*#####################################################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:*#####################################################
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*****####****################+:+::+*****+++++*****####
++::++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::+******************########*+:::::::::::::::::::::::::
:::::::+::::::::::++::::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::+++++++++++++++*****************************++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::++++++:+++++++::++:+::++::+:::::::::::::::::++++++++++++++++++++++++++++++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,.:,...,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,*****++++++++::::::::::,,,,,,,,,,,,,,............,,..,,,,......,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+:+++,,,,,,,,,,,:+,,,,,,,*************+*:*************************+++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,+,,,,,,,,,,,,,,*+....,,,,,,,,,,,,::::::::::++++++*************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,:+,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,:::::::::::*+,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++:::::::::::::::::::::*+:::::::::::,,,:::++**++++++++++++++************++++******+
,,:+::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*+::::::::::::::::::::+*::::::::::::++::++++++++++++++++++++++++********++++++++++*
:::+::::+,:::::::::::::::::::::::,,,,,,,,,:::::::::::::::::::*::::::::::::::*+::::::::::::::::::::+*::::::::::+:::++++++++++++++******++++++++++++++++++++++***
:::*::::+::::::::::::::::::::::::::::::::::::::::::::::::::::*::::::::::::::*:::::::::::::::::::::**::::::::::::++++++++++**++++***********++++++++++++++++++++
:::+::++++++::++++:::::::+::::+::::::::::+::::::::::::::::++++::::::::::::::*+:::::::+::..,.  .:::#*::::::::::++++++**+++*******************+++++++++++++++++++
:::+::*++:,,....,,:,,,+++***:...,,++*****+************++++**+++*++++++++++*+*+++++:,,,::: ,,,,,,::#+::::,,::++++******************************++++++++++++++++*
::..  .,,,,,,,,,,,,..,.,,,:::#****,.,,..,,,,....,,,,,,,,+***+*:++*************+....,,:+,,.,,,:::,+#+::,,:+++++**++**************************++++++++++++++++***
.......,,,,,,,,,,,.,,:::::,,,,,,....,,::::::::,,,,,,,,.,.....,,,,:::::++:.. *, ,,,,,..:,,,,,:::,,..,,.....,,..,,,,,,,,,.....,,,,,,,::,::::::::::::::++++**++*+*
......,:,,,,:::::::::,,,,*:+**,.,:,.,,:++:++++...,,,,,,,,,,,,,,,,,,,,,,,....*,,.:,,.,,,,,,::::,..  .. ..,,,,,,,,.....,............,:::::::::...................
::::::,,::::::::::::::::,,::++::,:,,,,,:,,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.+,,..:...,,,.... ...    .............................,+:,,.....................
::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::**+::++++++++++*******************++++++++++::::,,,,,,,,.....,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,,::::::,,::,,::::,,::::::::,,,,,,,,,,:+++:::+:.   .::,.   ,+*+*******************++++++++****************+
,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::,:::+++:,..:+.     ,,     ,*+++*********+::::,:,,,,:,,,,,:+********++*+   
,,,,,,,,::,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::,+:::++++++**+.  .+*+.   ,+*++*********+::,,,,,,,,:,,:,:,:+********+:*:   
::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::+*#######*++++++::+++++*########****:,..,,,,,,,,,,...,:+************,  
::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,::+++++++*++:,,,,,,,,,,,,,,,,:+**#########**+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::++,,,,. ......................,,,,....,,..,,..,,,,,,,,..,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::++:,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,
::::::,,::::::::::::::::::::++::::::++++++++++::::++++++++++++++::+++++++++++++++++++**:,,,,,.,,::,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*::::::+++++::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::
::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**::+++******************++++++++++++++++++++++++::::::::::::::::::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**+::++::++*****+++++++**********++++++********++++++++++++++++++++++++**#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::***+**###########*++::::::,,::,,,,,,::::::,,::::::::::::::::::::::::::::***
:::::::::::+**::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,::::::::::::**##########################################************************+++**##
::::::++++*++:::::::::::::::::::::::::::::::::::::++::++::::::,,::::::::::::::::::::*#############################################******#######################
::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::,,::,,,,,,,,,,,,,:*##########################################################################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#########******#**##############***##********##**#*****######******#######
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+********************************:::::::::::::::::,:+++***********##****###
++::++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++******++*************+::::::::::::::::::::::::::::::::::::::::,,,
:::::::+::::::::::++::::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++**++**++****++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::++++++:+++++++::++:+::++::+::::::::::::::::::+++++++++++++++++++++++::++++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++::::::+::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,..,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+:++**********++++++****++++++++++++++++::::::,,,,,,,,,,,,,,,,..,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,**::::::::++++++*********************************************+****++++++++++++++++++++++++*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,*:,,,,,,,,,,:+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++#*****
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,+:,,,,,,,,,,:+*:,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*+:::::
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++*:::::::::::::::::::::::++++++++++++++++++++++++++++++::::::::,,,,,,,,,:::*+:::::
,,,*::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++*:::::::::::::::+:::++++++++++++++++++++********++++++++++++**++++++++++++*:,,:::
:::+::::+,::::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::*::::::::::::::***:::::::::::,+,:::++++++++++++++++++++++++++++++++++++++++++**++++****++***+:,,+*
:::+::::+::::::::::::::::::::::::::::::::::::::::::::::::::::*::::::::::::::*#*:::::::::::,:::++++++++++++++++******++++++++++++++++++++++++++***********+*+,:+
:::+::++++++++++++:::::::+::::+::::::::::+::::::::::::::::++++::::::::::::::*#*:::::::::::++++++++**++++*+++************++++++++++++++++++++++**********+++*+::
:::+::*+::,,....,,:,,,+++*++:...,,++*****+************++++**++**++++++++++*+*#*++++,,,::+++++*++**************************++++++++++++++++**************++++*::
::..  .,,,,,,,,,,,,..,.,,,::+*****,.,,..,,,,....,,,,,,,,+***+*:++**************. .,,::++++++++***************************++++++++++++++*****************++++*::
.......,,,,,,,,,,,.,,:::::.,,,,,....,,,:::::::,,,,,,,,.,.....,,,,:::::+++,  ,,,...........,,,,,,,,..,,,,,,,,::::::::::::::::::++**++++************+++***+++++*+
......,:,,,,,,:::::::,,,.+++**,.,:,.,,:++:++++...,,,,,,,,,,,,,,,,,,,,,,,....  .....,,,,,,,..................,,,,::,,............................,,,. :+++:::+++
::::::,,:::::::::::::::::,:,++:::+,.,,.,,,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,.... ..   .         ..................,:,...............................,,,,,:+,,,,:,,,
::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++:::*+::::+*+::++**********************+++++++++::::::::,,,,......,,,,,,,,,:::::,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,,::::::,,::,,,,::+++:::::     :,.    :+++**************************************+:,,:***++:+********+,,,,,:
,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::::::::::::::::::::::::::,:::+++:,.,+,     :.    .++:+********+::,::::,,::,:,,,,********++*:     .:     .+++++****:,,,:
,,,,,,,,::,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::,:::+*+******+:,+***:,.:+************:,:,,.,,,,,,::.,,:********+:*:     .:     .+++::++**+::::
::::::::::,:::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,:::+*#*####****++++++++**######*###**:,,,,,,,,,,,,,,.,:*********#**++++****::*************+:::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,::::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,++++**************++*****###***#***+:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,....,,,,,,,,,,,,,,,,,,,,....................,,,,,,........................,,,,:::+*++::+*
:::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++*+***
::::::,,::::::::::::::::::::++::::::++++++++++::::++++++++++++++::++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++++++*******
,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,**:+++****++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++***
::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**::++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++++**********+**
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**++++++*#####+:,,,,,,::::::::::::::::++++++++++++++++++++++++++++**#####*++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**##############################********************+++++++:::::::*#************++++++*******
:::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::+##########################################******####################*************************
::::::++++*++:::::::::::::::::::::::::::::::::::::++::++::::::,,:+########################################################################*********************
::::::::::::::::::::::::::::::::::::::::::::+++::::::::::::::::::+**######################################********########################*********************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::****************+:::+***************::::::::++++++**********#***##***************************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*************+++++++************+:::::::::::::::::::::::::::::::::::++*********************
++::++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++**************++++++++::::::::::::::::::::::::::::::::*************
::::::++::::::::::++::::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++************+++************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++++++:+::++:::::::::::::::::::::+++++++++++++++++++++::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**++::::::,,,,,,,,........,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#******++++++++***********++++++++++++++++++++++++++++++++++++++++++::++::::::::,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*+,,,,,,,,,,.+**,,,,,,,,,,,,,,:+,,,,,,::::::++++***********************************:+**************:,,,,,,,,,,,,,
,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*+,,,,,,,,,,,+++,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*:,,,,,,,,,,,:*:,,,,,,,,,,:::
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++,,,,,,,,,,,,::++::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,:+:,,:::+:::::+*:,,:::::::::::
,,:+::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++*,,,,,,::::::::++:::+++++++++++++++++++****++++++++**++++++++++++++:++,,::::+:::::::::::::::::::::
:::+::::+,::::::,::::::::::::::::,,,,,,,,,:::::::::::::::::++*::::::::::,::+:::+++++++++++++++++++++++++++++++++++++++++++++++******+::,,+:,:::::::::::::::::::
:::+::::+,::::::+:::::::::::::::::::::::::::::::::::::::::+**+::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++*******++*+:::*#*+:::::::::::::::::
:::+::++*+++++++++:::::::+::::+::::::::::+::::::::::::::::*#**::::::::::::++++++++++++++*+++**********+++++++++++++++++++++********+++**:::*###+:::::::::::::+:
:::+::*++:,,..,,,,:,,,+++*++,...,,++*****+************++++*#*+**+++:,::+++++**++++********************++++++++++++++++++***********++++*+:::+*###*+++++++*+++++
::..  .,,,,,,,,,,,.,,,.,,,::+#****,.,,,,,,,,....,,,,,,,,+**##*:+::::++++++*****************************+++++++++++++**************++++++:::::**###*************
.......,,,,,,,,,,,,,:+:::,.,,,,,....,,::::::::,,,,,,,,.,...,....,,,,,.,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++**********++**++++++*+::::***##*::+********
......,:,,,,::,,:::::,,,,**+**,.,:,.,,:++:++++...,,,,,,,..  ....,,,,,,,,......,.........,,,,,,,,..........................,,,. ,*++:++++++,::::::+###:.,:,,,,,,
::::::,,:::::::::::::::::,:,++::,:,.,,.,,,,,,:..,,,:+,,......   ..      .    .............,+,.............................,,,,,,+,,,,:,,,,,,,::,:::*##*+++*#***
::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,:::,,:++::+:,,,,:++::,++*****++*+***************++*+++++++++::::,,,,,,,,,,,,,,::::,,,,::::,,::::+++,:**+,**,*##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,::+++::,+,    .:.    ,+++************++****+*****+*******+***:...:**+:,:+*******+,,,,,,::::::,,:**++*****:**+
,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::,:::++:,.:+,    ,:     ++++********::,,:,:,,::,:,:,:*******++*:     :,     :**++****:,,,,:+:::::::****+:::*+:::
,,,,,,,,::,,,,,,,,,,::::::::::::,,:::::::::::::::::+***************++**************::,,,,,,,,,,:,,,+*******++*:     :,     +*+::+****:::+****+:::::::,,,:,***+:
::::::::::,:::::::::::::::::::::::::::::::::::,,::,:******++++++**++++*******###**+:,,,,,,,,,,,,,,,+*#******#**+******++*************+:::****:+:+*:::::::::+***
::::::::::::::::::::::::::::::::::::::::::::,,,::::,..  ............,,,,,,,,,,,,,,,,...............,,,,,,,,,:::::::::++++++++********::::***+:+*##*::::::::+***
:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,........,,,,::::+++++::++***+***#**:++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,..::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++*****************+++++++:+***
::::::,,::::::::::::::::::::++::::::++++++++++::+++::::::+::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,::::::++++++++***************+++++++****+
,,::,,,,::::::::::::::::::::::::::::::::::::::::,+*:************++++++++++++++++++++++++++++++++++::::::::::::::++++++::++++++++++++++*************++++++****##
::::::,,:::::::::::::::::::::::::::::::::::::::::**:::::+*****+:::::::::+++++++++++++++++++++++++++++++++++++++********+++************+************++++*****###
:::::::::::::::::::::::::::::::::::::::::::::::::*#*#########*******+++++++++:::::::,,,,,,,,:::::::::::::::::::+*******++++++*++******************++++******###
:::::::::::::::::::::::::::::::::::::::::::::::::*########################***************#******########******************************************++********###
:::::::::::++*:::::::::::::::::::::::::::::::::::*############################****##########**########**************************************+++**************##
::::::++++*++::::::::::::::::::::::::::::::::::::***########################********########******########************************************+**+***********#*
::::::::::::::::::::::::::::::::::::::::::::+++::+******##**********************************************************************************++++++++++*********
::::::::::::::::::::::::::::::::::::::::::::::::::+**************+++++++++*************+::::::::::::::::::::::::++++************************++++++++++++*******
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++************++::::::::::::::::::::::::::::::::::::::**************++::::++++++*******
++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++++++++**********++++++::::::**************+::::::::+++*******
::::::++::::::::::++::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++::::::::::++++++++++++++++++::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::++++++:+++++++++++:+::++:::::::::::::::::::::+++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,:++:::++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*#******************++++++++++:+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+:,,,,::++++*#******************************************++++++++++++++++++++++*+++++++++++++*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,**:,,,,,,,,,,+*,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,+:,,,,,,,,,,::::::++++++++++*********************:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,*+::::::::::::::::::::::::::::::::**,,::::::,,,+*:,,,,,,:::::+:::::::::::::::::::::
,,,*::::*:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::+,,,::::::::::,,,+,,::::++++++++++++++++++++++++++++++++::::::,,::++:::::::::::+*::::::::::::+:::::::::::::::::::::
:::+::::*:::::::,::::::::::::::::,,,,,,,,,:++:::::::::::::::*+::::++++++++++++++++++++++++++++++++++++++++++*****+:,,,,,,::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::::::::::::::::::::**:::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++*****+**:,::***::::::::::::::+:::::::::::::::::::::
:::+::*+*+++++++*+:::::::+::::+:::::::::::+#*:::::::++:::::+++++++++++++++++++********+++++++++++++++++++++*****+++**+:::*###*:::::::::::+::::::::::::::::::+++
:::+::*++:,,....,,:,,,+++*++,...,,++****+**##***++*+::::++++++++++++*******************+++++++++++++++++++******++++**:::++*###*************+*****+++++++*+++++
::..  .,,,,,,,,,,,,.,,.,,,::+#****,.,,,,,,+#*,..,,:::+++++++++++++++*******************+++++++++++++************++++++::::+***###,:::***********+**************
.......,,,,,,,,,,,.,::::::.,,,,,.....,,,:,.::,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++++++++++++++++*******++****+++++*+::::+*:+*##*,,,,,........,,,,,,+++*+****
......,:,,,,::,,:::::,,,,*++**,.,:,.,,,+,.      .......................,,,,,,,....................,,,,..,,,,**+++++++**::::::,+++###+,,,.......,,......,:,,,,,,
::::::,,:::::::::::::::::,:,++::,:,....,.....           .................:,,............................,,,,::.,,,:::,::::,:::::+:*#*+::+***++,.,......,,,+:,,,
::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,:++::::,,,,++::::+*++++++++***********++++++::::::::,,,,,..........,,,,::+,,,::::::::::::++:++:**+:**+:***+,.......,:+::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::+:+::,+,    ,:.   .+++************:+****+****+********+*+,,.:+*+:::+*******:,,,,,,:::::::,:::+**++****:***+,,,,,...,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::::::::::,:::+++:,:+,   .:,    :+++********:,,,,,,,,:::,:,:*******+++.    ::     +*++++***:,,,,+++:::::::+****+:,:+*:,,,,:::::::::::::::
,,,,,,,,::,,,,,,,,,,::::::::::::,:::+*********++**++**************:,,,,,..,,.:,,,+*******++*     ::    .**++++***+::++***++:::::::::,:::,:**+,:::::::::::::::::
::::::::::,::::::::::::::::::::::::::::::::,::::::::::++********++,,,,,,,,,,,,,,:+*######**********++++**********+:::+***++::***::::::::::++**:,,::::::::::::::
:::::::::::::::::::::::::::::::::++:... ..................,,,,,,,,........,,.....,,,,,,,,,,,,,,,,,,,,,::::++*****+:::+***+:**#*#+::++::::,+***+:::+:+++++++++++
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++:+++++++****#*+++++++++:+***++::##+:+++++++++
:::::::::::::::::::::::::::::::::::,,,:,::,,,,,,,,,,::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++***************#+++++++++:+***+++*##*++++++++++
::::::,,::::::::::::::::::::++::::::+++++++++++++++++::::::::::::::::::::,,,,,,,,,,,,,,,::::,,::::,,::::++++++++++***************++++++++*****++####**+++:+++++
,,::,,,,::::::::::::::::::::::::::,+++++****++++++++++++++++++++++++++++++++++++++++++++++++++****+++++++++++++++++++*************++++++****##########:::::::::
::::::::::::::::::::::::::::::::::+*:+++***##*::,,,,,:::::::::::::::::::::::::::::::::::++++*********+++************************++++********##########*::::::::
::::::::::::::::::::::::::::::::::+**################***************++++++++++++++++:::::,,,+********+++++++++++**+*************+++++*******##########*::::::::
::::::::::::::::::::::::::::::::::+*################************************************************************************+***************##########*::::::::
:::::::::::++*::::::::::::::::::::+*############*********************************************************************************************#########*::::::::
::::::++++*++::::::::::::::::::::::***######********************************************************************************+*++++**************######*::::::::
:::::::::::::::::::::::::::::::::::+***************+::::::::++*************++++++++++++***********************************+++*++++++++*****************::::::::
::::::::::::::::::::::::::::::::::::++++++++******+++:++::::+++***********::::::::::::::::::::::::::::::::::*************++*++++++++++++++************++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++::::::::::::::::::*************+++::::::::::+**************+:::::::::
++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++++++++++****++++++++:::::::::::::+++++*******+::::,,,,,,,
::::::++::::::::::++::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++::::::::::::::::::::::::++++++++:+:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:,::+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,***********++++::,,,,,,............,,....,,,,,,,,,,,,,,,,,+,,,,,,..,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,*#****+******:#************************++++++++++++++++++++++++++++++++++++++++:::::::**:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:+***,,+,,,,,,:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+::++++++******+*#************:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+,+::+:::::,+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,+,,,,,,,:::::::***:::::::::+**::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::++::::::::::::::,,,,,,::++++++++++++++++++++++++++**++++++++***::,,,::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+::::+::::::+*+::::::::::::::::::::::++++++++++++++++++++++++++++++++++++***+****:,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::*::++++++++:+**::::::::::::+::::+++++++++++++++++++++++++++++++++++++++*+***+******+:::*###*+:::::::::::::::::::::::::::::::::::::::::+::::::+::::::::::::++
:::+::++*+::...:##+:,,++++++::::++++++++++++++++++++********++++++++++++++++********+**+:::+#+###+::::++++++*+++++++++++***+****************************+*+++++
::,.   ,,,,,,,.,**:.,,,.,,::++++**++++++++*******************+++++++++++++*************+::++**++*##*,++++++++*++++++++++*******+,,::,+*************************
.......,,,,,,,,,*#+.:+:::+++++++++++++++++++++**+++++++++++++++++++++++*******+***++++*::++++**++**##*..........,,,,,,,,,,,.,,,,,,,,,,,,........,,,,,,++*******
,......,,,,,,,,..    ...    ..............,,,,,,,,,,,,,,,,,,,,,,::::::::++++************+:++++**++++*#*+:,::,,,:::::,,+++,......,,,,,,,,.......,,......,::,,,,,
::::,,,,:::::,.  . ......,..,,,,............,,,,.........................,:,:,,,,:,:::::::::++:*+++*++##+:,,::++:+++,:++ ... .,,:,.,..,,........,......,,,:,,,,
::,,,,,,,,,,++:::,::::::::++++++++++++::::,,,,,,....,.......  ............,,,::.,,:::::::,::::::*+++:+*+*+:+**,*#*,,,,,.  ...,,,...:...,........,.......,+*+,,,
,,,,,,,,,,::+::::,.  ,:... :++++++++************++++**********+:::++++++*******,,,,,,,+:::::::,,:::::+*******:***+,,::::,,,,,,::::::::::,,,,,,,,,,......,,,,,,,
,,,,,,,,:::++,.::.   ,.    :+:********:,,:,,,,:::,,,******+++:.   ::    :*++++**+,,,:,+++::,:::,,:++****++:::+*,,:::,,,,::::::::::::::,,,,,,:::::::::::::::::::
,,,,,,,,::++**+**++++**++************+,,.,,,.,,,:,,,******++++    ::    :**+++***+::+*****++::::::,::::::::::+**+,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::,::,::,:::::::::::::::++********++::,,,,,,,,,,,:********++::++++++***********+:::+***+++:***+::::+++::::::+***::,,,:::::::::::::::::::::::::::::::::::::+++
::,,::::+:,,,  .....................,,..............,,,,,,,,,,,,,,,,,,,,,,::++++*+::+****++***##*++::++++++:::+***:+:::++:::::::::::::::::::++::+++++++++++++++
:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,........,,,,..,,,,,,::++++*+:+****+******##*+++++++++++++***++++##**++++++::::::::::+++++++++++++++++++++
::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,::::::::,,,,,,:::::::::::::::+++++++*********#********+++++++++++****++++*##**:::::::::::::::++++++++++++++++++++++
::::::,,,,:++*++++++++++++++++++++::::::::::::::::::::::::::::::++::::::++++++**********************++++++++******######*#++++++++++++++::::+++++++++++++++++++
,,,,,,,,,,:+::++**++++++++++++++++++++++++++++++++++++++++++++******+++++*++********+*************++++++++++****#########*+::::::::::::::::::::::::::::::::::::
::::::::::+*******#*++++::::::::::::::,,,,::::::::::,,::,,,,,:********++++++**********************++++++********#########**::::::::::::::::::::::::::::::::::::
::::::::::+***##**************************************************************++**********************+++*******#########**::::::::::::::::::::::::::::::::::::
::::::::::+*******************************************************************************+***+*****************####*******::::::::::::::::::::::::::::::::::::
:::::::::::*********************************************************************************+++*+::::++**********#*********::::::::::::::::::::::::::::::::::::
::::::++++++***************+::::::::::++****************************************************++**++++++++++********##*******::::::::::::::::::::::::::::::::::::
:::::::::::::++++++++++++++::::::::::::::+***********+::::::::::::::::::::::::************+*****+++++++++++++++++++********:::::::::::::::::::::::::++:::::::::
::::::::::::::::::::::::::::::::::::::::::++++++++++++++*+++****++++++++++++++************+++::::::::::::::::*************::,,,,,,,,,,,,,,,,,,::::++++++::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++:::+***********:::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::
++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::::::::::,,,,::::,,,,,,,
::::::++::::::::::++::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++::++::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:::+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*****+****++++++++++++++++++::::::,,,,,,.....................:....,,,,,,,,,:+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,+*::,::::::::++++++++*************************************++***++++++****::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
:::+:++:+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,+,:**,,:::::::***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::,+:++:+::::::::::::::::,,,::::::::++++++++++++::::::::::::::,:++,,,::::::**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::::*+:+:::::::::::::::::::::+++++++++++++++++++++++++++++++++***+++++:,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::+*++++:::::+:::::::::+++++++++++++++++++++++++++++++++++++**********+:::+##**::::,:,,,, .,::::::::::::::::::::+:::::::::::::::::::::+::::::::::::::::::+++
:::+:##*:::,...,,,::::++++++++++++++++++++++++**+++++++++++++++***********::::+***##*,::,.,,,,,,::::::++++++*+++++++++++***+************************++++**+++++
::,. +**,,,,,,,,:::+++++++++++:+*****************+++++++++++++*************::+++**+:##*+..,,,:::::::::++**+++*+*++++++**********,,,,:+**********+**************
,....:#*,,,,,:::++::+***++++++++++++************++++++++++++**********+++**:::::,*+:+:*##,,,:::::::::+..........,,,,,,,,,,.....,,,,,,,,,........,,,,,,+****+***
,....,,.......,,.....,,,..,,,,,,,:::,,::::::::++++++++++++++++***+******+***:++++:**:::+*#*::::::::::+:::,::,,,:::+:,,+++.   ...,,,,,,,,.......,,......,::,,,,,
:,,,......,,,,,,,,,,..........,,,,,,......................,,,,.:,::::::::++:::::+:,+*:++++*#+::::+::++::::::,.,::+++,:++. .. .,,:,.,..,,........,......,,,+:,,,
:,++:::,,::::::::::::,,,,.........,.........................,,,,::,,,,:,:+:::::::+++*+:++++**+:**+,+*+::...,,,,,,,,,,,.,  ...,,,...:...:........,.......,:*+:,,
,:+::::,.,::,,.,++++++++**+**+++++++++++*********++:++**+++*++++*+,,,,,,::::::::::,::::::+*******:+#*:,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,,,,,,......,,,,,,,
++:,,:,.  ,,   .++:**+****::,,,,.,:,,,,,******++*:.. .+,...,++++***+,,,,,+++:::::::,,:+++***++::+++:,,,,,,::::::::::,,,,::::::::::::::,,,,,,:::::::::::::::::::
+***+**+++***++***********:,,,,,.,,,:,,,******+++:   .:.   ,*+:,+***:,:+****+++::::::,::::::::::::**+,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,:::::::::::::::::::
::++::::,,,,::::+********+::,,,,,,,,,,,:********++++++*++++*********::::+***+++:*#**::::+++++++:::+***++:,,,::::,,::,,,,::::::::::::::::::::::::::::::::::::::+
...   ....................,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,::++**+:++****++**#*##*++:++++++:+::+***++::++*+::::::::::::::::::::::::::++::++::+++++++++++++++
::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,,::+++++++++***********##*++++++++++++++**+++++**##::::::::++::++++++++::::::::+++++++++++++++++++++
:::,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++*****************++++++++++++*+***+++*####+::::::::::::::::::::::::::++++++++++++++++++++++
+++++++++++++++++++++::::::::::::::::::::::::::::::++++:::::+++*************#*********++++++++++****#########*++++++++++++++++++++++++++::::++::+++++++++:+++++
,:::+***+:::::::::::++++++++++::++++++++++++++++++******++++*************************++++***++++****##########*::::::::::::::::::::::::::::::::::::::::::::::::
+*************++++++++::::::::::::::::::,,,,,,,,::*******+++++***********************+++++++++******##########*::::::::::::::::::::::::::::::::::::::::::::::::
+***************************************************************************************************#########**::::::::::::::::::::::::::::::::::::::::::::::::
:+**************************************************************************************************########**#::::::::::::::::::::::::::::::::::::::::::::::::
:+**********************************************************************************++++::++++**********####***::::::::::::::::::::::::::::::::::::::::::::::::
::++++**********++++::::::::::::++**********+:::**++++**++::::::++******************++++++++++*****************::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++++++++++++++++++++**********++++++::::::::::::::::************++*+::::++++**+++:::*************:::::::::,,,,::::::::::::::::::::::::+++::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++********************++++::::::::::,,:::***********::::,,::,,,,,,,,,,,,,,,,,,,,,,,,::::++++++::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++************++::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::
+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::::::++::::::::::++::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++::++::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,,..:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
************++++++++++++++++++++++++++::::::::::::,,,,,,,,,,.,,***,,,,,,,,::+::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
:::+::::+:::::,,,,,,,,,,,,,,::::::::::++++**********+*************,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::**:::::::+:***::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::+++++++++++++++++++++++++++++***++::::,,,,+:,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+::+++:::::::::+++++++++++++++++++++++++++++++++***++******::::+***+:::::*+::::::::::,,,, .,::::::::::::::::::::+:::::+:::::::::::::::+:::::::::::::::::::++
:::+::+++:::::+++++++++++++++++++++++++++++++++++++**+++*******:::+:**##**++*++++++,.,:,,.,,,,,,:::::+++++++*+++++++++++***+************************++++**+++++
::,., .,::++++++++++++++***************++++++++++++***********+*:++++*****##:*:,....,,+,,.,,,:::::::::+*++++**+*+++++******+***+,,:::**************************
,...,::++++++++++++++++++++++*********++++++++++++*************:+++:++******##:,,,,,..:,,,,,:::::::::+ .........,,,,,,,,,,....,,,,,,,,,,........,,,,,,++*******
,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++++**************+++++++,*:*,:*##::,.,,:,,,:::::::::::+::::::,,,:::::,,+++.   ...,,,,,,,,.......,,......,::,,,,,
................................................,,..++++::++++++::::+++::**::+:*#*:..:.,,,::::::::::++::::::,.,::+++,:++. .. .,,:,,,..,,........,......,,,:,,,,
,,,,,...  ............,,.......................,..,,::.:,,:,,+::::::::+:::*+,*+:+**::**+,#*:++++++::::::...,,,,,,,,,,,..  ...,,:..,:...:........,.......,+*::,,
::::::++++++++**++++++++++++**+++++++*++++++++++++++++:,,,,,,::::::+::,,::::::++***+**,:*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,:::::::,,,,,,,,,,......,,,,,,:
:::,.,:+:+++++**+:,,,,,,,,,,,:*****++++::::++:::++++****,,,,,,+++:,:::::,::+:+****+:++:*+,,:::::,,,,,,,,,,::::::::,,,,,,::::::::::::::,,,,,,:::::::::::::::::::
***+:+**++******:,,,,,,,,,:,,:*****++++:..:*:,.,+*++:++**:,:+***++++::::::,,::::::::+:,:+*::,,::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
++++:+++*******+,,..,,,,,,,,,+********+++++**++**********::::****++++*##*:::::+++++++:::***+++::,:::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::+
............,,,,,,...........,,,,,,,,,,,,,,,,,,,,,::++**+:::+***+++***##**++:++++++++:::***+++::+#*+::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,:+++++*++***************++++++++++++::***++++*##*#::::::++++::++::::++::++++++++++::::::+++++++++++++++++++++
::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++**++*********#**********+++++++++++****++**#####+::::::::::::::::::::::::::::::::::::++++++++++++++++++++++
++++++++++++++++:::::::::::::::::::::::+++++::::++*************###**##*******+++++++++****#########*+:::++++++++++++++++++++++++++++++++::::++::+++++++++:+++++
:::::::::::::::::++++++++++++++++++++++******+*****************###********++*****+********##########+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********++++++++::::::::::::::::::::,::*******++******++******##**************++**********##########+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*************************************************************####************************###########*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*************************************************************************++++++++*******############*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********+++++++++++++**************************************************+++++++++++********########*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++*+++++++:::::::::::+**********+:::::::::::::++:::******************+++++++++++++++**++**######*:::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++++++++************************++++*************+::::::::::::::,,,,:*#########*::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++**++++++++++++**********+++++*********+:::,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::
+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::::::++::::::::::++::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++::++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::++::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
++:::::::,,,..,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,+,,,,,,,,,,,,::+::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
++++******************************++*****++***++**++***:::,,,+,,,,::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::,,,,::,,::,,,,,,,,,,,,,,,,,:**::::::::***::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::++++++++++++++++++++++++++++++::,,,,,,:*+::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::+:::+++++++++++++++++++++++++++++++***++******:::::+++::::::::::::::::*+::::::::::,,,, .,::::::::::::::::::::+:::::+:::::::::::::::+:::::::::::::::::::++
:::+,::++++++::::++++++++++++++++++++++++**+++*******+::::***##*++++++++++++*+++++:,.:::,.,,,,,,::::::++++++*+++++++++++***+**********************++++++**+++++
:::+++++++++:::+++*************++++++++++****+********+:++++****##*+++**++***+:,...,,:+,,.,,,:::::::::+*+*+++*+*++++++*****+***+,,,,:+**********+**************
+++++*++++++::++***************++++++++++*************+++::::+****###++++,. *..,,,,,..:,,,,,::::::::::..........,,,,,,,,,,..,,.,..,,,,,,........,,,,,,+********
::::::::+++++++++++++++++++++++++++++++++***+*******+*++++++:,,*++++*#*+....*,,.::.,,,:,,,,::::::::::+::::::,,,:::::,,+++.   ...,,,,,,,,.......,,......,::,,,,,
...       . ..............  .....,,,,,,,.,+***+++******,:++++++:#*+:::*#*,..+:,.+:,..:...,::::::::::::::+:::,.,::+++,:++. .. .,,:,.,,,,,........,......,,:+:,,,
  ...........,,,......................,,,,::.:.,::,+::::+:::++:::+*+::::**:+**::*:,,,,::::::++++++::::::...,,,,,,,,,,,..  ...,,:,.,:...:........,.......,+*+:,,
+++:++**++++++*******+++++++++**++++::::::::+.,,,,,:+:::+::::,:+:::::+**++***:+*+:::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,:,,::,,,,,,,,,,,,......,,,,,,,
:+++++**:,,,,,,,,,,,:*****++**+::+++++++++****:,,,,,+++:,::::+,,:+++++**++::++*+,,::::::::::::,,,,,,,,,,,,::::::::::,,,,::::::::::::::,,,,,,:::::::::::::::::::
+*******,,,,,,,,,:.,:*****+:+*+::+*+::+*++::***:::+****+++++::::::::::::::::,,:**+,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,:::::::::::
*******+,,,,,,,,,,,,+*********+++++++**********+:::+***++++***#+::::++++++++::+***::++::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::+
..,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,::++*+:++***********#*+++:++++++++:::***+++::*##*:::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,,,,,,,,,,,,,,,,,............,,,,:+++++*+++************#*++++++++++++:::***+**+**##*+::::::::::::::++++::++::::++::++++++++::::::::+++++++++++++++++++++
::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+*++**********###***********++**++*++:+*******##****::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++
++++++++++++::::::::::+++++++++***++++++*************###***#*****+++++***+*******#########**++++++++++++++++++++++++++++++++++++++++++++::::++::++::++++::::+++
::::::::::::::::::++++++++++++**##**++**************####*********++++*+**********##########*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******++++++++++++++++++++++++**********************##**************************###########*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****************************************#*####*******#**************************###########*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****++*****************************************************#****++++++++++******##########**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++::::::++++::::+**********************++++:******************++++++++++********########**:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++*********+::::::::::::::::***************::::::::::::+++::::*##########:::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::++++++++******************************++++::::::::::::::::+#########*:::::,,::::::::::::::::::::::::,,::::,,::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++**++**********++++::::,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::
+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,
::::::++::::::::::++::::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++::++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::++::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::+::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
******++**++++++++++++++++++++++++++++++++++***,::::::::::,,,+,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::::,:**,,::::::**+::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::::++::::++++++:::::::::::+::,,,,,,,:**:,:::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::::++++++++++++++++++++++++++++****++******::::,:::::::::++++::::::::::::::*+::::::::::..,,  ,::::::::::::::::::::+::::::+::::::::::::::+::::::::::::::::::+++
:++++++++++++++++++++++++++++++++***++*******+::::**###*+++++++*++++++++++++*+++++:,.:::,.,,,,,,::::::++++++*+++++++++++***+**********************+++++++*+++++
++++++::++++***********+++++++++++***+********+:++++**+*##*++++++*****++++***+:....,,:+,,.,,,:::::::::+++*++**+*++++++*********+,,:::+*********++**************
++++::::++**************++++++++++************++++:+::****###:,,,:::::+++.. *..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,...... .,,,,,,+***+****
+++++++++++++++++++++++++++++++++***+*******+*+++++++::*+:::*#*+,,,,,,,,....*,,.::.,,,:,,,,::::::::::+::::::,,,:::::,,+++.   ...,,,,,,,,........,......,::,,,,,
   .  ........... ........,,,,,,,,****++++*****,:+++++::+*::::*#*:..,:,,....+:,,+:,..:...,::::::::::+:::::::,.,::+++,:++. .. .,,:,,,..,,........,......,::::,,,
......:,........................,,::,:.,::,+++::+::::+::,:*:++++**++**::*:,,,,,,,,,,,,::::::++++++::::::...,,,,.,,,,,,..  ...,,:..,:...:........,.......,:+::,,
*++++++++++++++++*+++++++++++++++++++,,,,,,:+:::+::::,:+:::::++*+++**+++::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,......,,,,,,,
*+::::,,,,,,,:****+++*++++++++++++****:,,,,,+++:::::::,,:++:++**++::++*+,,,:::::::::::::::::::,,,,,,,,,,,,::::::::,,,,,,::::::::::::::,,,,,,:::::::::::::::::::
*::,,,,,,,:,.+*****++**++***++**++::***:::+****+++++++::::::::::::::,,:***:,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
+:::,,,,,,,,,+********+++++++**********+:::****+++*****+:+::++++++++:::+**:++:++:+:,::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::+
....,,..,,,,,,,,,,,,,,,,,,,,,,,,,:::++*+:+++**********#*++::++++++++++:***++++:*###:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*++*****************#*+**+++++++++*+***+*++*####*::::::::::::::::::::::++++::++::::++::++++++++::::::::::++++++++++++::+++++
::::::::::,,::,,:::::,,,::::::::++************####************++++**++*******#####**::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++
++++++++++++++++++++++*******+**************#####**#*****+******++++******#######*#*++++::::++++++++++++++++++++++++++++++++++++++++++++::::::::++::++++::::+++
::::::::::::::::::::::+******+**************####*******#*+**+++*+++++*****########*#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********************************************####************************###########*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*****************###****************####**######************************###########*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********************************##****##****************++++++++++++****##########**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++**********+:::::::::::::+*********#*******++++++++++**********######**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++******************++++++:::::+*************:+:::::::::,,:::::::*########*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++++++************************++++:::::+######**::,,,,,,,,::::,,::::::,,::::::::::::::::,,::::,,::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::
++++++++++++++++::+++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,
::::::++::::::::::::::::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::++++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,+:,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
++++++++++++++++::::::::,,,,,,:*#+,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
,,,+,,::+:::::::++**:************:,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::::::::::::::::::,,:++:::::::,**::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
+++++++++++++++++++++*********+:,,,,,,,,::::::::::::::::::++++::::::::::::::*+::::::::::..,, .,::::::::::::::::::::+::::++:::::::::::::::+::::::::::::::::::+++
+++++++++++++++++++++***++*******+:::*###*++++**+++*++++++++++*+++++++++++*+*+++++:,,:::,.,,,,,,::::::++++++*+++++++++++***+************************++**+*+++++
++++********+++++++++***++********:+++*****##*.,,,,,,,.,++**:*:++*******++****:,...,:,+,,.,,,:::::::::+*+*++**+*+++++**+***+***+.,,,,+*************************
************+++++++++************++++++,,:*:+*#*:,,,,,.,..,,,,,,,:::::+++.. *..,,:,,..:,,,,,:::::::::+..........,,,,,,,,,,,.,,,,,,,,,,,,...... .,,,,,,+********
::::++++++++++++++++++************+++++++++*+::+##:,,,,,,,,,,,,,,,,,,,,,....*,,.::.,,,:,,,,::::::::::+::::::,,,:::::,:+++.   ...,,,,,,,,........,......,::,,,,,
..      ..........,,,.:,:::::+++**,:::++++++*+:::+#*+,,,,,,,,,,,,,,,,,,,....+:,.::,..:...,::::::::::++::::::,.,::+++,:++. .. .,,:,,,,,,,........,......,:,:,,,,
..................,,::::,,:::,:::+:::+:+++**:+*+::+**+:*#+:*,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,:,..,,,,,,.,  ...,,:..,:...:........,.......,+*+:,,
**+****+++++++++++***+**+,,,,,,++:::::::,,++:::::+**+++*+++:,,::,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,......,,,,,,,,
,,+****+:+*+++**++**++++**+:::::++++::::::,,+*+++**++:++++*:,,::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::,,,,,,::::::::::::,,,,,,,,:::::::::::::::::::
..+************************:::+***++++++++::,:::+:::::+:::**+:,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
..,,,,,,,,,,:,:::::::+*****::+****++****#**++::++++++++:::***++::++++:::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::+
,,................,,:++****+**************#*++:+++++++++*+****++++####+,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,,,,,,,,,::::++***********####*#***#*****++++++++++****+++**####:,:::::::::::::::::::::::::::::::::++++::::::::++::++++++++::::::::++::++++++++++::+++++
::::::::::++**++++++************####****#*******************###########:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::+++++
::::::++::+*##***+*************#####*#************+*********###########+:+::::::::++++::::::::++++++++++++++++++++++++++++++++++++++++++::::::::++::++++::::+++
*****###****####**************######**#*********************#########**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******##############################************************#########***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******########**####################**#*****+*++*+++********#########***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::+***********#*****####***#****************++++++++************#####***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++*********:::::::::::::*************::::::::++*******+:::########*++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++++++++************************++++::++++::++:::::*########::::::,,::::::::::::::,,,,::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++:::::::::::++++*++******++++++::::::,,,,,,,,,,,,::,,::::::,,::::::::::::::,,,,::::,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,:::::::::
++::++++++++++++::+++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,::::,,,,,,,
::::::++::::++::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::::++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:::,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
:::,,,,,,.,,,,,,....,,,,.+*+,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
+++*************+*#*********,:,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::,:,,,,:,,,:::,**+:::::,+**:::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
+++++++++++++++****+++++::,,,,:,::::::::::::::::::::::::::++++::::::::::::::*+::::::::::,,,, .,::::::::::::::::::::+::::++:::::::::::::::+::::::::::::::::::+++
++++++++++++++++***+*******+::::******+++***++**+++*++++++++++*+++++++++++*+*+++++:,.:::,.,,,,,,::::::++++++*+++++++++++***+**************************+++*+++++
********++++++++***++********+:+:+****#*::,,,,..,,,,,,,,++**:*:++*******++****:....,,,+,,.,,,:::::::::+*+*++**+*+++++******+***+,,,,:+**********+**************
********++++++++************+++::+,:+*++*#*:,:,,,,,,,,.,..,,,,,,,:::::+++,. *..,,,,,..:,,,,,:::::::::+..........,,,,,,,,,,,.,,,,,,,,,,,,........,,,,,:+********
++++++++++++++++*************++++++::+*++:+##+..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.,:.,,,:,,,,::::::::::+:::::::,,:::::,:+++.   ...,,,,,,,,.......,,......,:,,,,,,
  ...........,,. ::::::+++**+::+++++,+**++*:+**:,,,::,,,,,,,,,,,,,,,,,,,....*:,.+:,. :...,::::::::::++::::::,.,::+++,:++. .. .,,:,,,..,,........,......,,,:,,,,
.........   ..,,,:+,,,,::,+:+,:::::*+++++*+::::*+:**::*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,:,..,,,,,,.,  ...,,:..,:...:........,.......,+*::,,
***+++++++++*******+,,,,,,++::::::+,,:++::::++++***+++::::,,,,::,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,::::,,::,,,,,,,,,,,......,,,,,,,,
**+:+*++********+:+**+,:+++:++:::::::,,+++:+**+++:++++,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::,,,,::::::::::::,,,,,,,,::,,:::::::::::::::
********************#+:::+***+++++*+::::::+++::::::::**+::,,,:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,:++++*+:++****++***###*++::++++++++::++**:+::++++:,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::+
....,,......,,::++++****************#*++++++++++++:+*+**+++++*###*:,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,,,,,,::+************##************++++++++******+**+###*##:,::,,::::::::::::::::::::::::::::::::::++++::::::::++::++++++::::::::::++::++++++++++::+++++
++++++*****+++**************####********++********+*+***#######*##+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::+++++
,,,,::*###**++************##########**#+**++*+*+********########**+:++++++::::::::::++::::::::++++++++++++++++++++++++++++++++++++++++++::::::::::::++++::::+++
####***######*###*********#####*************************########**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##############################************************##########***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
########****###################**#****++++++++++******##########***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:*****####*+::::++++:+****************++*+++++++++*********#####***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********++**::::::::+************:::::::::::::+++++:::*########*::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++++::::::++++++++******************+++++++++::########+::::::::::,,::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::+++:::::::::::::::::::::,,,,,,,,,,::,,::::::,,::::::::::::::,,,,::::,,::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,:::::::::
++::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,::::,,,,,,,
::::::++::::::::::::++::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,+:,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,,+,,,:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
********++*++*++++++****::::::,,,,,,,,,,,,:::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::,+::::*:::#*,,:::::**+:+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
++++++++++++**::::::,,:,::::,:+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::,,,, .,:::::::::::::::::::++:::::+:::::::::::::::+::::::::::::::::::+++
+++++++++++****+**+****+::::***+:,+++++++***++**+++*+++++++++++*++++++++++*+*+++++:,,,::,.,,,,,,::::::++++++*+++++++++++***+**************************+++*+++++
****++++++++***+++******+::++,:**#**:,.,,,,,....,,,,,,,,++**+*:++************+:....,,:+,,.,,,:::::::::+++*+***+*+++++******+***+,,:::+*************************
*****+++++++***+*********++:++*++*:**#+,::::::,,,,,,,,.,..,,.,,,,:::::+++.. *..,,,,,..+,,,,,:::::::::: .........,,,,,,,,,,,.,,,,..,,,,,,........,,,,,:+*+******
++++*+++++++**+*********+:+++++::,*:::*#*:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.::.,,,:,,,,::::::::::+:::::::,,:::::,:+++.   ...,,,,,,,,........,......,::,,,,,
........,,,.:++*+++******,:+++++++:*+++**#*:,,..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.::,..:...,::::::::::++::::::,.,::+++,:++  .. .,,:,,,..,,........,......,,,:,,,,
  ........,,::,,,,:,,++::::::::++:,,:*+++***+:**+:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,,,..,,,,,,.,  ...,,:..,:...:........,.......:+*::,,
++++++++++++***,,,,,,,+:,::+:::,,+++::::++++*+*:++::,,::::,,,,::,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,.....,,,,,,,,
+*+++******+++***:::+++++:+::::::,,*+:+++*+++:++++,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::,,,,,,::::::::::,,,,,,,,:::::::::::::::::::
*****************::::***++++++*+::::::++++::+:::,**:::,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::,,:::::::::::::::::::
..,,,,,,,,,:++++*+:++***++****##**++::++++++++:::***+++:++++:,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::+
..,,..,,,,::++************##******++++++++++++::++**+++++####*:,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
::::::::,::+************##**************++++++*********+###*##::,,::::,,::::::::::::::::::::::::::::::::::++++::++::::++::++++++::::::::::::::++++++++++::+++++
++*****+****************##**##**********++++********#######***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::+++++
,:**##**++***********#####*#*#*****+****+**++**+****########***:::++++++++::::::::++++++::::::++++++++++++++++++++++++++++++++++++++++++::::::::::::++++::::+++
***#############****######**************************########***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##########################***#***#*****************#########***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####****##################**#*****++++++++++++++***#########***::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****##*#::::::::++********#****#****************+******#####***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******#*******++++************+:::::::::::::::::::::+########*::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::++++::::++++++++++************************+:::,,::::::::::,,::::::::::::::::,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,::::::::::::::,,,,,,::,,::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,::::,,,,,,,
::::::++::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++:+++++++++++:+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,,+,:::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
++++++++++++++++***:::::::::::,,,,,,,,,,,,:::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
,,:+:::+#*::::::***::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::::::++:::,,,,:**::::::+::::+::::::::::::::::::::+::++++++++::::::::::::::*+::::::::::..,, .,::::::::::::::::::::+:::::+:::::::::::::::+::::::::::::::::::+++
++++++++++++++++***+::::+:::,  ...++++++++******++****++++++++*+++++++++++*+*+++++:,,,::,.,,,,,,::::::++*+++*+++++++++++***+**************************+++*+++++
++++::++++*++++******::+++:*##**++:,,,.,,,,,....,,,,,,,,++**:*:++*************:,...,::+,,.,,,:::::::::+*+*+***+*+++++******+***+,,,,:+**********+**************
++++:::+***++++******+++++:***++##+.,,:::::::::,,,,,,,.,.....,,,,:::::++:.. +..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,.,,,,,,,,,,,,........,,,,,,+********
++++++:+*************:+++++:::+*:,+##:+++:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....*,..::.,,,:,,,,::::::::::+:::::::,,:::::,:+++.   ...,,,,,,,,........,......,::,,,,,
,,,,,,,,:***********++:+++++*::+*:::*##+,,,,,,..,,,:+,,,,,,,,,,,,,,,,,,,....*:,.::,. :...,::::::::::++::::::,.,::+++,:++  .. .,,:,,,...,........,......,,,:,,,,
......,,,,:,.,::,+++:::::::*+::::**:**+#*+**#:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,:,..,,,,,,..  ...,,:..,:...:........,.......,+*::,,
++++++++***,,,,,,,+:,::+::+,,+++++++:+***+**,++:,,,,,,::::,,,,::,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,.....,,,,,,,,
++++++++++***:,:::+++++::::::,,+++:::+*++:++:*+,,:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::,,,,,,,,::::::,,,,,,,,,,:::::::::::::::::::
*************+:::+***+++++++++::+,++++:+::+:::++:::,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,:::::::::::::::::::
,,,,,,::::+**+,++***+++****##*++::+++++++++:::***+++:+*++:::,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::+
.....,::++++***************##*++*+++++++++*,::***+*+:+####+,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
:::::::++***********###**#**********++++++*********+*###*##:,,,,,,::::,,::::::::::::::::::::::::::::::::::++++::::::::++::++++++::::::::::::::++++++++++::+++++
***+++**************##****##********++**********########**#+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::+++++
##****************#####*#*******************+***########***+++++::++++++++::++::::++++++::::++++++++++++++++++++++++++++++++++++++++++++::::++::::::++++::::+++
####**######****#######*************************########****,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
######################*********+****+***********#########***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##**########****#######***#***++++++++++++++****########****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*******:::::::+*************::++**##************+*#######***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**************************+::::::::::::::::::::::+#######**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::++++**************++::::::::::::::::,,::::::::::::::::,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::,,::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,::::,,,,,,,
:::::::+::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++::+::++::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:+::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
,,,,,,,,+:::,**+::::::::::::::,,,,,,,,,,,,:::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
*****+**********+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::::,+*+++:::***++:::::::+::::+::::::::::::::::::::+::++++++++::::::::::::::*+::::::::::..,,  ,::::::::::::::::::::+:::::+:::::::::::::::+::::::::::::::::::+++
++++++**++**++*+::,,::::++++. ....+++*++++******++****++++++++*+++++++++++*+*+++++:,.:::,.,,,,,,::::::++*+++*+++++++++++***+**************************+++***+++
+++++*+*+++++*****::::**##*#+*****:,,,,,,,,,....,,,,,,,,++**:*:++*******++****:,...,::+,,.,,,:::::::::+*+*++**+*++++++*********+.,,,,+*************************
++++:***+++++*****+++++:::**+##*..,.,,,,:::::::,,,,,,,.,....,,,,,:::::++:...+..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,........:,,,,,:+**+****
++++:+************+:++++++::*+:**#:.,.+++:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.:,..,,:,,,,::::::::::+:::::::,,:::::,:+++.    ..,,,,,,,,.......,,......,::,,,,,
:+++++*************:++++++**++*:,+##:.,,::,,,,..,,,:+,,,,,,,,,,,,,,,,,,,....*:,.::,..:...,::::::::::++::::::,.,::+++,:++  .. .,,:,,,..,,........,......,,:+:,,,
....,,:::,,,:,:+,:,+::+:++++++*+::,*#**+****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,:,..,,,,,,..  ...,,:..,:...:........,.......,+*::,,
++++++++,,,,,,,+::::::::,,+++++++++***++*:+*::,,,,,,,,::::,,,,::,,,,::,,::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,.....,,,,,,,,
++++++++**:,,,,+*+++::::+:,,+*++:::+++++++++,,+:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::,,,,::,,::::::::,,,,,,,,::,,:::::::::::::::
**********::::+***++++++++:+:::+++++::+:,,,*++::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,::,,:::::::::::::::::::
::::::++**+:++****++****#**+++::++++++++::++**+++:++++:::,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::+
 .,,:+++************#****##*++++++++++++++++**+++++*####::,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
:::::++**********###*************+++++++*+******++###**#+:::::::,,::::,,::::::::::::::::::::::::::::::::::++++::::::::++::++++++::::::::::::::++++++++++::+++++
++++************####****#*#*******++*+********######**##*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::+++++
****************####*###****+*********+*******########***:++++++::++++++::::++::++++++++::::++++++++++++++++++++++++++++++++++++++++++++::::++::::::++++::::+++
****######****######***#**********************#######****::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##**################********++++*++*********#########*****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****################********++++++++++++++*+**########****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*****#::::::*########****:::::::****##*******++#######****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++**********##********++::::::::::::::::,*#######*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::++++++++++++**++++++::::::::::::::,,::::::::::::::::,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::,,::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::++++++++++++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,::::,,,,,,,
::::::++::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++::+::++::+:::::::::::::::::::::++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++**++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:+:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::,:*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::++::::***+::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
***+::*****+::::++:::::::+::::+:::::::::::::::::::::::::++++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::::::::::::::::::::+::::::::::::::::::++:
+*+:,,,,:+*:..,,,,:,,,++++++,..,..+++*++++******+++*+++++++++++*++++++++++*+*+++++:,,,::,.,,,,,,::::::++*+++*+++++++++++***+**************************+++*+++++
+++*++++++****::::+****+,,::+****+,,,,,,,,,,....,,,,,,,,++**++:++*******++****:....,::+,,.,,,:::::::::+*+*++******++++*+*******+,,:::**************************
:***++++++****+:+++:::+#*#*:,,,,.,,.,,::::::::,,,,,,,,.,.....,,,,::::+++:...*..,,,.,..+,,,,,:::::::::+..........,,,,,,,,,,,.,,,,,,,,,,,,........:,,,,,++*******
+***+++*******++++++,:+:*++*#*,.,::.,.+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.::.,,,:,,,,:::::++:::+:::::::,,:::::,,+++.    ..,,,,,,,,........,......,::,,,,,
++*************:+++++:,+:+*+::*#+::.,,::,,,,.,..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.+:,..:...,::::::::::::::::::,.,::++*,:++  .. .,,:,,,,,,,........,......,,:+:,,,
,,:,:,:::,+::++::::++++++++*++::+#*:***+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,,,..,,,,,,..  ...,,:..,:,,.:........,.......:++::,,
,,::..,,:,,+,::::::+::+++++++*++++*+**::+:::::,,,,,,,,::::,,,,::,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,...,,,,,,,,
+++***,,,,,*++:,::::+:,,:*++::+:++*+++:*:,++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::,,,,,,,,,,::::::,,,,,,,,,,::,,:::::::::::::::
*+++**+::+**#***++++++++::::+++++::::,,:++:::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,:::::::::::::::::::
**+***+,::****++######*+++::+++++++++:+:***+++:+++::,:,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::::::::::::::::::::::::::::::::+++
:+++************##**###*++++*+++++++*::+***+++++##*##:::,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
+++**********###**#*###*******+++++++******+**+*##****::::::::::,,::::,,::::::::,,::,,::::::::::::::::::::::::::::::::::::::++++::::::::::::::+++++++++++++++++
************###########*********++*********######*##**++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
************#######*****************+******#######****::::++++++::::++::::::++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++::::++::::::++++::+++++
################***************************#######*****::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
################***#****++++++++++++++*****#######**#**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
################********+++++++++++++++*******####**#***:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#####*::+*########***:++::::::::::::::++++*+#*####****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::+***++************************+++++*****#*+:::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::,,::::::::::::::::,,::::::::::::::,,::::,,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::::::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::++++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,::::,,,,,,,
::::::::::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++::+::++::::::::::::::::::::::::++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++::++++++++++++::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::::,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
,,,:,,:**+::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
**********+::+::++:::::::+::::+:::::::::::::::::::::::++++++++::::::::::::::*+::::::::::..,, .,::::::::::::::::::::::::::+:::::::::::::::+::::::::::::::::::+++
,:,:::+***::....,,::,,++++++. ..,,++**+++*******++**+++++++++++*++++++++++*+*+++++:,,,::,.,,,,,,::::::++++++*+++++++++++***+**************************+++*+++++
++*++++++***+,::::+++:,,.,::+*****,,,,,,,,,,....,,,,,,,,+***:*:++*******++****,,...,::+,,.,,,:::::::::+*+*++**+*++++++*+***+***+,,::,+*************************
++*:++++++****:+++:::+##**:,,,,,....,,::::::::,,,,,,,,.,.....,,,,:::::++:...*..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,...,,..,,,,,,........:,,,,:+********
****+++*******:++++::+:+*+##*+,.,:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.,:.,,,:,,,,::::::::::+:::::::,,:::::,,+++.    ..,,,,,,,,........,......,::,,,,,
+***+*********:+++++:::++*+::*#*,:,.,,,,,,,,,,..,,,:+,,,,,,,,,,,,,,,,,,,....*:,.+:,..:...,::::::::::++::::::,.,::+++,:++ ... .,,:,,,,,,,........,......,::::,,,
.:.::::::+:++:::++++++::+++*++::#+,,+:+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,,,..,,,,,,.,  ...,,:..,:,,.:........,.......:+*+:,,
,,:.,,,:::+::::+++:+++++++***++++*+:**,*::::::,,,,,,,,::::,,,,,,,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,...,,,,,,,,
+++*:,,,,,+++:,,::++:,::++++::+:++++*+*:,:+:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::,,,,,,,,,,::::::,,,,,,,,,,:::::::::::::::::::
+:+**+,:++****+++++++++:::++++++::++:,,++:,::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,:::::::::::::::::::
*****+,:+****++*#####*++*::+++++++++:++:**+++::++++:::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::::::::::::::::::::::::::::::::+++
++++**********########*+++++++++++++++*+**+**+++####*:,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
************#######**#********+++++++**+*************+::::::,,::,,::::,,::::::::::::,,::::::::::::::::::::::::::::::::::::::++++::::::::::::::+++++++++++++++++
************######**##********************######**#***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
**********#####*#*##**********************######**#***:+::++++::::++++::::::++::::++++++::::++++++++++++++++++++++++++++++++++++++++++++::::++::::::++++::+++++
###############***#***#*******************######******+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
################*#*****+++++++++**+++++*****####*******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
################**#*******++++++++++++********##*******+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
######*+****####**#*::++::::::::::::::::::::######****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::++++**************************::::::::::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::,,,,,,::::::::,,::::::::::::::,,,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::::::::::::::::::::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::++++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,,::::::,,,,::,,,,,,,,::::,,,,,,,
::::::::::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::::::::::::::::::::::::::++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++++::++++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::::,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::,+,,:,*,::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
**********+:++::++:::::::+::::+:::::::::::::::::::::::++++++++::::::::::::::*+::::::::::..,,  ,::::::::::::::::::::+:::::+:::::::::::::::+::::::::::::::::::+++
#*:+::****::....,,::,:++++++. ....+++*+++*******++**+++++++++++*++++++++++*+*+++++:,.,::,.,,,,,,::::::++++++*+++++++++++***+****************************+*+++++
+++++++++***+::::,,:,,,,,,,,+*****,,,,,,,,,,....,,,,,,,,++**:*:++*******++***++....,,:+,,.,,,:::::::::+*+*++*++*++++++*****+***+,,:::+*************************
++*+++++*****+::++***###*:,,,,,,.,..,,::::::::,,,,,,,,,,..,,.,,,,:::::++:...*..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,...,,..,,,,,,........,,..,,++*******
###++++++*****+++++:++:***##+*,.::,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.::..,,:,,,,::::::::::+:::::::,,:::::,,+++.    ..,,,,::,,........,......,::,,,,,
***+++*******+:+++++:::++*:++##+,:,.,,,:,,,,,,..,,,:+,,,,,,,,,,,,,,,,,,,....*:,.+:,..:...,::::::::::+:::::::,.,::+++,:++  .. .,,:,,,..,,........,......,,:::,,,
 :+*+:++*****+,+++++++::+++*+++*#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,,,......,,.......,,:..,:,,.:........,.......:+*+:,,
,,,..:::,++:+,+:++::++**+++++++:+*+:*+,*::::::,,,,,,,,::::,,,,::,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.....,,,,,,,,
+***.,,,,:++:,,:++::,,::++++::+:++++*+*:,:+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,::::,,,,,,,,,,::,,:::::::::::::::
::+*+::+**#***+++++++::::,++++++++++,:,++:,,:,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::
*###*:::+***++**#####*+++::+++++++++:++:**+++::+*++:,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::::::::::::::::::::::::::::::::+++
++++**********##***###*+*+++++++++++:+*+**++*+++##*#*:::,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
************###*####**********+++++++**********##*****::::,,,,::,,::::,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::++++::::::::::::::+++++++++++++++++
***********########************************#####******++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
*********######*#*##***********************#####******::::++::::::++++::::::::++::++++++::::++++++++++++++++++++++++++++++++++++++++++++++::++::::::++++::+++++
##############**#*************************######*******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
###############********++++++++++++++++*****####****#**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
###############**#**************++++++********##*******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********####**##*+::::::::::::::::::::::+:#*####****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::++++++++**************++++::::,,::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::,,::::::::::::::,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::,,:::::::::::::::::++::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++:+++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::++++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,,::::::,,,,::,,,,,,,,::::,,,,,,,
::::::::::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::::++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++::++++++++::++++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
++**++*##*+:::::++:::::::+::::+:::::::::::::::::::::::::++++++::::::::::::::*+::::::::::..,, .,::::::::::::::::::::::::::+:::::::::::::::+::::::::::::::::::+++
*+,+::****,:..,,,,::,,+++*++....,.+++*+++*******++***++++++++++*++++++++++*+*+++++:,.:::,.,,,,,,::::::++++++*+++++++++++***+****************************+*+++++
+*++++++*+::,,,,,,,,,..,,,,,+*****,,,,,,,,,,....,,,,,,,,++**:*:++*******++***++....,::+,,.,,,:::::::::+*++++**+*++++++*****+***+.,:::+*************************
***+++++******::::*#####*:,,,,,,..,.,,::::::::,,,,,,,,,,..,,.,,,,::::+++:...*..,,,.,..:.,,,,::::::::::..........,,,,,,,,,,,.,,.,,,,,,,,,........,,..,,++*******
###+++++++****++++++:++:*+##+*,.,:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.::..,,:,,,,::::::::::+:::::::,,:::::,:+++.    ..,,,,,,,,........,......,::,,,,,
***+++********:+++++:::+:*+::##+::,.,,,,,,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.+:,..:...,:::::::::::+::::::,.,::++*,:++  .. .,,:,,,..,,........,......,::::,,,
,+**++********,++*++++:::++*++:+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::...,,,..,,,,,,..  ...,,:..,:...:........,.......:+*+:,,
,,:,.:::,+++::+:++:+++**+++++*++::****+*::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,.....,,,,,,,,
+***,,,,,:++,,::++:::,:+++++::+++++:**:+,:+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,::::,,,,,,,,,,::,,:::::::::::::::
::+**:++****++++++++++:+:,++++++++::::+:+::::,,:::::,,::::::::::::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,:::::::::::::::::::
##***:::+***+++*#####*+++::++++++++++:,:**++++:+++:::,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::::::::::::::+++
++++**********########*+++:++++++++++++:*****++:*####+::,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
************###**#*###********+++++++********++##*****+:::::,,,,,,,,::,,,,::::::::::,,,,::::::::::::::::::::::::::::::++::::++++::::::::::::::+++++++++++++++++
***********#####**##************************#####*****++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
**********####*#***************************#######*****:+:::++++::++++::::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++::::::::::++++::+++++
###############****************************#######*****+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
###############*#*#*****+++++++++++++++******#**********:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*#############*******++:+**+****************************+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******############****++++:::::::::::::::::::*********:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::::::::::::++++++++******++++++::::,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::::,,::::::::::,,::::::::::::::,,,,::::,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::,,:::::::::::::::::++:+::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::++++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,::::,,,,,,,
::::::::::::::::::::++::::++::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::::++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++::++::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++:::::::::::::::++++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::+::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::,,::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
..,:,,****+:::::++:::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,.  ,::::::::::::::::::::::::+:+:::::::::::::::+:::::::::::::::::::+:
****++****,,..,,,,::,:+++*++. ....+++*++++******+++*+++++++++++*++++++++++*+*+++++:,,,::,.,,,,,,::::::++++++*+++++++++++***+**********************++**+++*+++++
***+++:+**,,............,,::+*****,.,,..,,,,....,,,,,,,,++**+*:++*******++****:....,::+,,.,,,:::::::::+*++++**+***+++**********+,,,,:**************************
***+++++******:::::*###**+,,,,,,....,,::::::::,,,,.,,,.,....,,,,,,::::++:.. +..,,:.,..:,,,,,:::::::::: .........,,,,,,,,,,,.,,.,,,,,,,.,........,,..,,++*******
***++++++++****:++++:++:**##*+,.,:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.::..,,,,,,,:::::::::::,::::::,,:::::,:+++.    ..,,,,,,,,........,......,::,,,,,
+*#*+++*******::+++++::+++*+:+#*::,.,,,,,,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.+:,..:...,:::::::::::+::::::,.,::++*,:++  .. .,,:,,,..,,........,......,,:+:,,,
:+*+***#*******:++++++:::+++*:+:*#:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::...,,,..,,,,,,..  ...,.:..,:,,.:........,.......:+*+:,,
.,: ,,.:,,++:::+++::++++:::+++++::*+:***+,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,
++**,.,,,,++:,+:++++:,::++++::::+++++**:+,+:::::::::::::::::::::::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
+::+*+,+****+*++++:::++:,::+++++++++:+++++::::,,::::,,::::::::,,::,,::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,:::
##**#+,,:+***++*####**++++,:++++++++++:::*++++++++++,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::::::::::::::+++
++++*++*******#########+***:+++++++++:++,***+++++*##*#+:,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
++++********#######**##***+++*++++++*+**+******+*#****#+::::,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::++++::::::::::::::+++++++++++++++++
************######**#***********************######*****+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
**********######*#********#*****************######******:+::::::::::++::::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++::::++::::::++++::+++++
###############****#************************#######*****+:,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#################*#*****++++++++++++++++*********#*******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::+*############****#+::::+*+::+****************##*******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********##**######*******++++:::::::::::::::******#**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::++++++++++++::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::,,::::::::::::::,,,,::::::::::,,::,,,,,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++:+++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++++::::::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::::++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::,,::,,,,,,,,,,,,:::::::::::::::,:::+:::::::::::::,*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+::::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::+:+:::::::::::::::+::::::::::::::::::++:
+++*++*+***+..,,,,::,,+++*++......+++*+++*******++**+++++++++++*++++++++++++*+++++,,,,::,.,,,,,,::::::++*+++*++++*++++++***+**********************+++*+++*+++++
,,**, ..+#*+,...,,,,...,,,:::#****,.,,..,,,,....,,,,,,,,****:*::+*******++****:....,:,+,,.,,,:,:::::::+*++++****+++++**********+,,::,+*************************
++***+++++++++**+,,,::::::,,.,,,..,.,,::::::::,,,,,,,,.,.....,,,,:::::++:.. *..,,,.,..:,,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:+*******
+++++*++++++++****:+++::::+###*,,:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,,,,,,::::::::::+:::::::,,:::::,,+++.    ..,,,,,,,,........,......,::,,,,,
++*#*#**+++******+++++++*+**:*+:#*:,,,::::,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....+:,.::,..:...,::::::::::+:::::::,.,::+++,:++  ....,,:,,,,,,,........,......,,:+:,,.
+++*#***********#++++++*+++++++*::***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++::::::...,,,....,,,,..  ...,,:..,:,,.:........,.......,++::,,
. .,: :,:::,:,,:++:+::+*++++++::+++++*++***:::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,
++:++:,,,,,,++::+,:::::.:+++++::::::++*:+**:::::::::::::::::::::::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++:+++*+:++++++++:::,::++,::++++++++:++:*+*++:,:::,+::,,::::::,,::,,::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::
++****#*:::+***+++****#*++++::+++++++++++:::*++++++:++,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::::::::::::::+++
.::++++++********###**##***++::+++++++++:++:***++++:*####*+:,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,::++************#*#****#***++++++++++++++******+++********:::,,,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::++++:::::::::::::++++++++++++++++++
**************###*###***************************####*******+*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
************#####*#**##********************+****######******:+::::::++::::::++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++::::++::::++++++::+++++
###################********+********************######**#***+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##**##############********+++++++++++++++++++********#******++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::**#######****+::,,:::::,,,,,::*************#*******+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++**************##**********++++::::::**##****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::,,::::::::::::::,,,,::::,,::::,,::,,::,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::++::::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::+:::::::::::::,*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++::+++++:::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::+:+:::::::::::::::+::::::::::::::::::++:
++++++:::+*##,..,,::,,+++*++. ....+++*+++*******++**+++++++++++*++++++++++++*+++++:,,,::,.,,,,,,::::::++++++*++++*++++++***+**********************+++*+++*+++++
::,.#* ,..**#,,,..,,,,.,,,::+*****,.,,,,,,,,....,,,,,,,,****:*::+*******++*+**:....,::+,,.,,,:,:::::::+*++++****+++++**********+.,,,,+*************************
+++++**+++++*+++++:,,,,,,,,,,,,,,...,,::::::::,,,,,,,,.,....,,,,,,::::++:.. *..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,.,,,,,,,,,,,,........,,,,,,:+*******
++::***+++++++++***+::::+****##*+:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,,::::::::::+,::::::,,::::+,,+++.    ...,,,,,,,........,......,::,,,,,
++++*##***++++****#*++++++***::*:*#*,,::::,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....+:,.::,..:...,::::::::::+:::::::,.,::++*,:++  ....,,:,,,...,........,......,,:+:,,.
++++**#+**+******##+++++++++++++++++*#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::...,,,......,,.,  ...,,:..,:,,,:,.......,.......,+*+:,,
... ,::,::::,,::,:+:++::+++:+++++++++++*++***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.....,,,,,,,,
:::::::,..,,,,++::,:::++:,,+++::++::++***:+**+::::::::::::::::,,::::,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::
++++::+**:++++++++++:,,:+::,::++++++++:++:+++::::::::+::,,::::,,::,,::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,:::
**+**#***::::****++:**###*+++:::+++++++++++:+:+*++**,:+::,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::::::::::::::::::::::::::::::::+++
,, ,::++++++******##*#####*+***+:+++++++++:+++***+++::+*###*+:::,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,++**********##***#**#*#***++++++++++++++********+*##***##+::,,,,,,,,,,::::::,,::,,,,::::::::::::::::::::::::::::::::::++++++::::::::::++:++++++++++++++++++
++++************##**##*#**#***********************######***#****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++
##************####**#**##********************+****######**##**:+::::++::::::++++++++++++::++++++::::++++++++++++++++++++++++++++++++++++::::++::::++++++::+++++
####################****+*****++******************######******++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####**#############**#******+++++++++++++++++++*****######******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::+#######***#::,,,,,::::,,,,,:,,:+******######****++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++**************************++::****####:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::::::::,,::::::,,::::::::::::::,,,,::::::::::::::,,::,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::++++::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:**+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::,:*:::::::::::::::::,,::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++:+::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::+:+:::::::::::::::+::::::::::::::::::++:
,,,:,,*++::***:,,,::,:++++++. ....+++*++++******+++*++++++++++*+++++++++++++*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***+**********************+++*++**+++++
,:... *:::::***,,,,.,,,.,,,,+*****,,,,,,,,,,....,,,,,,,,+***:*:++*******++*+**:....,::+,,.,,,:,:::::::++*+++******++++*+*******:.,,,,**************************
::::::#**++++**+::::,...,,..,,,,,...,,::::::::,,,,,,,,.,....,,,,,,:::+++:.. *..,,,.,..:,,,,,:::::::::: .........,,,,,,,,,,,.,,,,,,,,,,.,........,.,,,,++*******
::::++**+*++++++******::::+######*:.,.+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,,::::::::::+,::::::,,:::::,,+++.    ...,,,,,,,........,......,::,,,,,
+++++++##*****++++****+++++**::+:++*#*::::,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....*:,.::,..:...,::::::::::+:::::::,.,::++*,:++. .. .,,:,,,...,........,......,,:+:,,.
+++++++*#***********#:++++**++++++++++*#*:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::...,,,......,,..  ...,.:..,:,,,:,.......,.......:+*+:,,
......,,,,::+:,:++:++,:+:++*++::+++++*++*++:**+:,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.....,,,,,,,,
::::,,:::..,,,,,+:.+,::++:+.:++:++::++*+**+++***::::::,,::::::,,::::,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::
++++++::+**::+::++++++:,,:+::,::*+++::::::+*++*++:::::,+::::::,,::,,::,,::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::
***********+:,:+***+++******+++:,:++++++++++*:::+*++++++::,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::+++
.... ,::+++:+*******####**##***++::++++++++++:+*+**+**+::*####*+::,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,:+**********####*##***#**+****+++++++++***+*******###**##*::::,,,,,,::::::,,::,,,,::::::::::::::::::::::::::::::++::++++++::::::::::++:++++++++++++++++++
##*+++************##**##*#**#***********************########***#+*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++++++++++++++
####************#######***#************+************########*****:+:++::::::::++++++++++++++++++::++++++++++++++++++++++++++++++++++++++::::++::::++++++::+++++
####################************+***+*+*************########*****++,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####******##########**********++++++++++++++++++******#######******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++::::::::+:*######***#::,::,,,,::::::::::::++****#######***+:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++::::::::++++++********************++++######++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::,,,,,,::::::::,,::::::::::,,,,,,,,::::,,::::,,::,,::,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::++++::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:**+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::,:*:::::::::::::::::,,::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::*::++*++:::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*:::::::::::..,. .,::::::::::::::::::::::::+:+:::::::::::::::+::::::::::::::::::++:
:::+::*++:,:.,,,,,::,,++++++. ....+++*++++******+++*++++++++++*+++++++++++*+*+++++,,,:::,.,,,,,,::::::++++++*+++++++++++***+************************+*++**+++++
********+*##*****.,,.,.,,,::+*****,.,,,,,,,,....,,,,,,,,+***:*::+*******++*+**:....,::+,,.,,,:,:::::::+*++++**+*++++++*+*******+..,,,**************************
....,,::#**:::***:::,,..,,,,,.......,,::::::::,,,,,,,,.,....,,,,,,:::+++:.  *..,,,.,..:,,,,,::::::::::..........,,,,,,,,,,,,,,,,,,,,,,.,........,.,,,,:+*******
:::::::+*+**+++++++*****:::::**###**:,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,..::..,,:,,,,::::::::::+,::::::,,:::::,:+++.    ...,,,,,,,........,......,::,,,,,
+++::::++###++**+++++***+++**+*:::,:**#*+,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....+:,.+:,..:...,::::::::::+:::::::,.,::++*,:++ ... .,,:,,,...,........,......,,:+:,,.
++++:++++*#*************:++****:++++++*++*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::...,,,......,,..  ...,.:..,:,,.:,...............,+*+:,,
........,.:.::::::+++++::+++++*+:+::+++++++:#:,:+:,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.....,,,,,,,,
::,,,,,,,,:+..,,,,++.:,,+:::+,:+++::+++++*++**:+*+*:::,,::::::,,::::,,,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
+:++++::+:++*+::::++++++:,,::++,,:**+:::+++:::++*+:+::::,++:::,,::,,::,,::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::
******++*****+:,:*****++**###*++++,::++++++++++++*++*++++:+,:,,,::,,::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::::::::::::::::::::::::::::::::::+++
........,::+++:+*********######****+,:++++++++++++++**+**+::*####*+:,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,:++*********####**##**#**+++++++++++++***********++###**##*:::,,,,::::::,,::,,,,::::::::::::::::::::::::::::::++::++++++::::::::::++:++++++++++++++++++
++**#*++************###*##**#**#**+********************#######***##+**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++++++++++++++
***####***********#######*#****#***********************###########**+++:::::++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++::::++::++++++++::+++++
#######################*****#**#******+**+*************#########****++,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**************##########*********+++++++++++++++++++****#######**#****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********+++++++++::*####*#****::::::::::::::::::::::++++**######***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::++********************++**##**#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::,,,,,,::::::::,,::::::::::,,::,,,,::::,,::::,,,,,,::,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:+++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::++++::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:**+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::*::++*+++::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::+:*:::::::::::..,. .,::::::::::::::::::::::::+:+:::::::::::::::+::::::::::::::::::++:
:::*::++:::,....,,:,,,+++*++......+++*++++******+++*++++++++++*+++++++++++*+*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***+************************+*++**+++++
***********:******#*..,,,,::+****+,.,,,,,,,,....,,,,,,,,+***:*:++*******++*+**:....,::+,,.,,,:::::::::+*++++**+*+++++**+*******+.,,,,**************************
,... .,,,,:+**:::*#*:,,,,,,,,.......,,,,::::::,,,,,,,,.,....,,,,,::::+++:.. *..,,,.,..:,,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,........,.,,,,+********
..,,:::::::**++++++++++****+::::******+++:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,:::::::::::+,::::::,,::::+,:+++.    ...,,,,,,,........,......,::,,,,,
::++++::::++##*+++**++******:+*++*,::*+**#*:,...,,,:+,,,,,,,,,,.,,,,,,,,....+:,.::,..:..,,,,::::::::+:::::::,.,::++*,:++ .....,,:,,,..,,........,......,,:+:,,.
++++++:::+++*#*************:++*++*+++++++++:#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::...,,,......,,..  ...,,:..,:,,.:,...............,++::,,
..........,. :++:::+******::++++**+::+++++:*+++*:,,:,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,.....,,,,,,,:
,,,,,,,,,,,,,,..,.,,.++,+,,:++++:+++++++++++*+++++**+*,:::::::,,::::,,::::::::::::::,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::::::::
,+*+:++++:+::+*+:::::++++++:,:::+:.,+*++++++++::::+*+::::::++:,,::,,::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,:::
.******+**+*****:,:+****++:*###*++++:,,:++++++++++::+*+*++++::,::,,::::::::::::::::::::::::::+::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::+++
......,,,.,:::++:++*******#######**++*+:+++++++++++:**+*****:::+*###*+::,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::++::++::+++++++++++++++
,,,,,,,,,,::+***********##***##*##*****++*+++++++*+***+**+***+####****+:::::::::,,::,,,,::::::::::::::::::::::::++::::++::++++++::::::::::++:++++++++++++++++++
++++:*#*++*************###*#**#***************************#######***##*++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++++++++++++++
******#####*********######*#***********+******************########**#**:++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::++++++++::+++++
##########################****************+***+***********########*****+++,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********######****########**#**#**++++++++++++++++++++****######*****+*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******************++++############:,::::::::::::::::::::++***#####****+::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++******************##**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::::,,,,,,::::::::,,::::::::::,,::,,,,::::::::::,,,,,,::,,,,::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::++::+:::::::::::::::::::::++++::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:**+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::,:*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::+:*+::::::::::..,. .,:::::::::::::::::::++:::+:+:::::::::::::::+::::::+:::::::::::++:
:::+::*+::,,....,,:,,,++++++. ....+++*++++******++**++++++++++*+++++++++++*+*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***+************************+*++**+++*+
++**++++++++++++++++++***:::+***#+,.,,..,,,,....,,,,,,.,++**:*:++*******++*+**:....,::+,,.,,,:::::::::++++++******+++**********+,,,,,**************************
......,,,,,,,,,,,##+++##*+,,,,,,....,,:::::::::,,,,,,,.,....,,,,,:::::++:.. *..,,,.,..:,,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,...... .,...,,++*******
......,:,,,,,,:::+*+++++:++++++++*:,::::::::::..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,:::::::::::+:::::::,,:::::,:+++.    ...,,,,,,,........,......,::,,,,,
::::::,,::::++:::+++*++++++*******::++:****+:+#**,,::,,,,,,,,,,,,,,,,,,,....+:,.::,. :..,,,,:::::::::+::::::,.,::++*,:++ .....,,:,,,..,,........,......,,:+:,,.
,:::::++++++++++++##***********#*++++++**+++++:++:##+,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::::...,,,......,,..  ...,,:..,:,,,:,.......,.......:++::,,
....,,......,,,,,,,*************#:+++****++++++++++:+**:,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.....,,,,,,,:
,,,,,,..........,..,....::,++:+,:++++:+*++++++++++++++:++***::::::::,,::::::::::::::::::,,::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,:::::::::::::::
**,,,,,,**++++++++:+*+,,,,,++++:,::::++,.:+++:::::::++::,**++:,:+++:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::,,::,,,,,,:::
**..,,..**************:::+****++++****++*+,,+:+++++++++++:+::*++::+:,,::::::::::::::::::::::::::::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::::::++
.................,::++:+****+***########****:,:*++++++++*+*+*+****+:::+****++::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++
,,,,......,,,,,,:++***********#######**#***+*****++++++++*++******+++*######**++::::,,,,::::::::::::::::::++::::++::::++::++++++++++::::::+++++++++++++++++++++
++::++++++++#**+*************###*######*#*************************######**###**++:::::::::::::::::::::::::::::::::::::::::::::::++:::::::+++++::+++++++++++++++
##********############****#######****#**#*************+***********##########***+:*::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::++++++++::+++++
###***##########################***#*******+++****+**+************########*****+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******#*+:::++++++**********#######*******+++++++++++++++++++++*****######*****+*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++**************###############*::+:::::::::::::::::::++*#####****+::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++**********##****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,::::::::,,::::::::::,,::,,,,::::::::::,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::::,::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::++++++++++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,::,,,,,,,,
::::::++::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++:++::++::+:::::::::::::::::::::++++::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++::::::::::::::::::::::::::::++:
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::,:*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++:::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*:::::::::::..,. .,:::::::::::::::::::++:::::+:::::::::::::::+::::::+:::::::::::++:
:::+::*+::,,....,,:,,,++++++......++****++******++**+++++++++++*++++++++++*+*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***+************************++++**+++++
::,,........,,..........:**++***#+,,,,,,,,,,....,,,,,,,,+***:+,:+*******++****:....,:,+,,.,,,:::::::::++++++**+*+++++*****#****+..,,,**************************
....  ......,,,,,,,,***:+***+,,,....,,:::::::::,,,,,,,.,....,,,,,,::::++:.. * .,,,.,..:,,,,,:::::::::+ .........,,,,,,,,,,,,,,,,,,,,,,,,........,...,,+********
......,:,,,,,,,,::::+:+++:++++++++++:,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,:::::::::::+:::::::,,:::::,,+++.    ...,::,,,,........,......,::,,,,,
::::::,,:::::::::::::+++++++++********::+::*********+,,,,,,,,,,.,,,,,,,,....+:,.::,..:..,,,,::::::::+:::::::,.,::++*,:++  .. .,,:,,,..,,........,......,,:+:,,.
,,,::,::::::+++++++++*##*+**********+++++++**+++++++++#+,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::::...,:,......,,..  ...,.:..,:,,.:,.......,.......,++::,,
,,,,,,,,,,,,,,,,,,,,::+**************:+*****#+++++++:+++**+,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,:
   .....,..........., ,,, .,,.+++++.+:++,,+**+::++::::++++:+***+::::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::
++****,.,,.:**+++++++:+*+.....+++:,,,:+:++:,,:+++:::::::::::,**++:::++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,:::
****##.....,**********+**::,:***++**+****+++*:::,+++++++++++*.,,,+:+:::+.:::++,:::::::::::::::::::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::++
................... ,:::::++****+***#######***+*::++++++++++*::+:+*+**+:::+****++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,,,,,,,,,,,,,:++**********#######*##*********+++++++++++****+***++*######**++::,,::::::::::::::::::++::::++++::++::++++++::::::::::+++++++++++++++++++++
::++::::::::+++*#*++************######*###*#*+**************+*********######***###**++:::::::::::::::::::::::::::::::::::::::::::::::::::+++++::+++++++++++++++
****####**################****#######*#**********+*************++*****############*+:+*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++
::***#*#**#########################**#****+*********+*+*****+********#########*****+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++****#####+::::++++++*******#####******##**++**+++++++++++++++++*****########***+*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::++************####*####*######*+++:::::::::::::::::::++########*:::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++********######****++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,::::::,,,,::::::::::,,::,,,,::::::::::::,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::::,::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+:++::::::+:::::::::::::::::::::++++::::::++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++:::::::::::::::::::::::::::::::
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*:::::::::::..,. .,:::::::::::::::::::++:::::+:::::::::::::::+::::::+:::::::::::++:
:::+::++:::,....,,:,,,+++*++. ....+++***+*******++**+++++++++++*++++++++++*+*+++++,,.:::,.,,,,,,::::::++++++*++++*++++++***+************************+*++**+++++
::,,  ..,,,,,,,,..,,..,,,,::******,,,,,,,,,,....,,,,,,,,+***:*::+*******++****:....,::+,,.,,,:::::::::++++++****+++++******+***+,,,,,**************************
++,,,,::++++*****************#*#....,,,,::::::,,,,.,,,.,....,,,,,,:::+++:.. *..,,,.,..:,,,,,:::::::::+ .........,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,+********
,+....,:,,,,,,,,:::::,,,*+*::***::::::,,,.,,,,. .,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,:::::::::::+:::::::,,:::::,,+++.    ...,,,,,,,........,......,:,,,,,,
,:+:::,,::::::::::::::::**:+++++++++****#+::+::*#####**:,,,,,,,.,,,,,,,,....+:,.::,..:...,::::::::::+:::::::,.,::++*,:++  .. .,,:,,,..,,........,......,::+:,,.
*##*,,,,,,,,::::++++++++*###++*********##++++++**++++++++#*+,,,:,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::::...,:,..........  ...,,:..,:,,,:........,.......:+*+:,,
,:**:,,,::,,,::::::::::::+*+******##**#*+:******#++++++++++:**+,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,.....,,,,,,,:
., .........,........... .: .,,::,+:,:,::++:,:***+::::+++++++++++*++,:::::::::::::::::::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::
++++++*+***+**+***+**+**+:*+,,.. .+::,::++++++,.::::::++::::::+:,**++:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,:::
********#*,,,,,:*********++**:,:********+++++++++,:+,*+++++++++++,,,,+::++::,,:::+,,::::::::::::::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::::::++
,,....,,,,......,,,,,,,.,,::+:++****+**#######**+**::,++++++++++*,++:+****++,:+*****+:,:::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
,,,,,,,,,,,,,,,,,,,,,,.,:+***********###**#**##*+*******++++++++**+**+*+**+++*#######**++:::::::::::::::::++::::++++::++::++++++::::::::::+++++++++++++++++++++
+++++++++++++++++++**+++************###*##*##*##*+**************++++******############*+*+:::::::::::::::::::::::::::::::::::::::::::::::+++++::+++++++++++++++
,,:+************############******######****#*****+**+*************+******############*+++*+++++++++++::++++++++++++++++++++++++++++++++::::::++++++++++::+++++
::::::+***##**#########################***#****#********+*******+*********##########****+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::++***#####*::::::+++++******#####*********+******+++++++++++++++*****#######*#***:*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++************##*###*#**######+++++::::::::::::::::::*######**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++********####****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::::,,::::::::,,,,::,,,,::::,,::::,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,::::::::,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+:++::::::+:::::::::::::::::::::++++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:+++:++:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::*::++*++::+::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::+:+:::::::::::::::+::::::+:::::::::::++:
:::*::*+::,,....,,:,,,+++*++, ....+++***+*******++**+++++++++++*++++++++++*+*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***+************************+***+*+++++
:,..  .,,,,,,,,,,,.....,,,::******,.,,,,,,......,,,,,,,,+***:*::+*******++****:....,::+,,.,,,:::::::::+*+*++******++++*+***+***+.,,,:**************************
***+:*******************++++**+*###.,,,,::::::,,,,,,,,.,....,,,,,,:::+++:.. *..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,.,,.,,,,,,,,,........,,,,,,+********
**,.+:+:,,..,,,,:::::,,,,:+***:,##*,,,,,::::,,..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,::::::++:::+:::::::,,:::::,,+++.    ..,,,,,,,,........,......,:,,,,,,
::::++::::::::::::::::::,,:::+*++++++++++***#+:,:::*******+:,,,.,,,,,,,,....+:,.::,..:...,::::::::::::::::::,.,::++*,:++. .. .,,:,,,..,,........,......,,:::,,,
::,,,##*,:,,,,,,,,,,::::++++###+::+++******#*+:++++***++++:+*#*+,,,:,,,,,,,,,,,,,,,,,,::::::++++++::::::...,,,..........  ...,,:..,:,,,:........,.......:+*+:,,
,,,,,,***:,,:::::::::::::::::##+***********#++*+****#*++++++++++*#+,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,.....,,,,,,,:
,,,,,,,.,,......,,...........: ..,::,,:,,,:+,:+:,+**#+++++++++++++:+++*:::::::::::::::::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,:+++++++***++++****++++::*,.....::::,:,::+:::,.+:::::++:::::++:,+**:+:::+::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,:::
:::::***+*+***+,..,:**+***+*::+*:,++***++++++++++++++:,+,++++++++++++,,,,+:::::::::::+::::::::::::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::::::++
::,,,.,,..,,,,.... .,,,,,,,,,:++:::+****++*#######**+**::,+++++++++++:+:*:******:::******+:,,:::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
::,:,,,,,,,,,,,,,,,,,,,,::,:++++*********###*##**##*+*******++++++++*++**+*+****+*######*#*++*::::::::::::++::::++++::++::++++++::::::::::+++++++++++++++++++++
::::+:++++++::::::::::+**+++************###*##*##*##****************+*++******######*######*+**::::::::::::::::::::::::::::::::::::::::::+++++::+++++++++++++++
::::::::***************#####**********####*#***##**#**+**+********************######*######*++:*++++++::++++++++++++++++++++++++++++++++::::::++++++++++::+++++
::::::::::::****#***########################**#***##**********++**************##########*#**++*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++****####*+:::::::::+*****#######**+*#***++++++++++++++++++++++****#######**#***+#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++++*******#*#########*#**######**+++++:::::::::::::++######**:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++**********++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::,,,,::::::::,,,,,,,,,,::::,,::::,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*+++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++++::::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::,,::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+:++::::::+:::::::::::::::::::::++++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:+++:++:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*+::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
::,+:::,*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::,:::+:::::::::::::,*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::::+:::::::::::::::+::::::::::::::::::++:
:::+::+++::,....,,:,,,+++*++. ..,,+++****+******++**+++++++++++*++++++++++*+*+++++:,.:::,.,,,,,,::::::++++++*++++*++++++***+************************+***+*+++++
::.,   .,,,,,,,,,,,.,,..,,:::#****:.:,..,,......,,,,,,,,+***:*::+*******++****:....,:,+,,.,,,:::::::::+*++++******++++*****+***+,,,,,**************************
....***+*+********+++++++++++++++++#*##:::::::,,.,,,,,.,....,,,,,,::::++:...*..,,,.,..:,,,,,:::::::::+..........,,,,,,,,,,,.,,,,,,,,,,,,........,,..,,+********
....:###,++:,,,,:::::,,,,:++**.***,:###+::::::..,,,,,,,,,,,,,,,,,,,,,,,,....*,,.::..,,:,,,,:::::++:::+:::::::,,:::::,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,:::::::::::::::::,::++:+:+*:::++++++++**#*:,,,:+*****+::,,,,,,,,....*:,.+:,. :...,::::::::::+:::::::,.,::++*,:++. ....,,:,,,..,,........,......,,,::,,,
::,,,,,,:,***:,,,,,,,,,,,:::::+:##**:::+*+********:+++++#*::::,+*##+::,,,,,,,,,,,,,,,,::::::++++++::::::...,,,..........  ...,.:..,:,,,:........,.......,+*+:,,
,,,,,,,,,,,*##:,,,,,::::::++::++:#*+************+:++++**##+++++++++:+#*:,:::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,
,,,,,,,,,,,,,,,, ...,,,.........., ..,,:,,:::::+,:+:,+***#::++++++++++*++:*+::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,:,:++*++*+**++********++:+*,..,,,:::+::,+:++::..+:::::::::::+++++,**++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,:::::
::,,,,,,,:*********:..,,**:***+*+.+*,:*+***+++++++++:++++:,:,+++++++++++++:,++++::::::::::*:::::::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::++
::,,::::,,,,,,,,..,.....,,,,,,,,:+++:::+****+**#######**+**:,,++++++++++++,++:******::::+***+++:,:::::::::::::::::::::::::::::::::::::::::::++::++++++++::+++++
:::::::::,,,,,,,,,,,,,,,,,,,,,,:++++********##**####**#*+********+++++++++**#***+***++**#######*+++:::::::++::::++++::++::++++++::::::::::++::+++++++++++++++++
::::::::::++++++::::::::::+**+++************###*##**#*##*+*************************######*######*+*+:::::::::::::::::::::::::::::::::::::+++++::+++++++++++++++
::::::,,:::::+*********#***#######********####*#**#****#****************+**********#####**######*++:*+::++++++++++++++++++++++++++++++++::::::++++++++++::+++++
::::::::::::::::++****#+**#####################*#***#**#****++**+*****************##########**##*++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::+++***#####*::::::::::*****#####******##****++++++++++**++++*+++*****###########****+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::++********####################****++:::::::::::::::#######*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**********++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::,,,,::::::::::,,,,,,,,::::,,::::,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,,,,,::,,::::::::::,::::::+++::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*+++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++++++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++::+::::::+:::::::::::::::::::::++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++::::::::++++::++++++::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:**+:++:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*+::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
:::*::,:*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::,:::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++::+::+:::::::::::::+:::::::::::::::++::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::::+:::::::::::::::+::::::+:::::::::::++:
:::+::+++:,,....,,:,,,+++*++. ....+++*++*+************++++**+++*++++++++++*+*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***+******************************+++++
::..  .,,,,,,,..,,,,,,,,,,::+***#*,.,,..,,,,....,,,,,,,,+***:*:++*******++****:....,::+,,.,,,:::::::::+*+*++**+***++++*****+***+,,,,,**************************
......,,,,,,,,,+#**+***+++++++++++++:::::::*##*+,,,,,,.,.....,,,,,::::++:...*..,,:.,..:,,,,,:::::::::+ .. ......,,,,,,,,,,,.,,,,,,,,,,.,...... .,...,,+********
......,,,,,,,,,,*#*+++:.,:++**,,,::.,,:+##*+###:,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,,:::::++:::+,::::::,,:::::,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,::,,:::::::::++*:,:,++::,::.,,::+,:*::::::::++++***+:::::::+++:,....*:,.+:,..:...,::::::::::+:::::::,.,::++*,:++  ....,,:,,,..,,........,......,,:::,,,
::,,,,,,,,,,,,,,,,,,:*##:,::,,::::,,:::::###+::::+++****##*,+++++*#+::::,*#*:,,,,,,,,,::::::++**++::::::...,,,..........  ...,.:..,:,,,:........,..... .:+*+:,,
,,,,,,,,,,,,,,,,,,,,:,***+,,::::::::::::+:*#:*++********#+++:+++**#*++++++++++**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,...,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,.,,.,..,,..........: . .,,.:::::+:.:+::+***#*+++++++++*+++*,::,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,:++++++****+***++**+:+:......+:::+:,+::++...+++::::::::++++*+++**+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,:::
::,,,,,,,,,::::::::::+**+****:..,:*******+:+*:,:****++:++++++:::*:+,:,++::++++++++++:**:::::::::+:+:,:::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::++
::,,::::::::::::,::,,...,,,,,,......,,,,.,,:+:++****++*########***+*:::**+++++++++*,+:*+**+***::++**++::,:::::::::::::::::::::::::::::::::::++::++++++++::+++++
::::::::::::::::,::,,,,,,,,,,,,,,,,,,,,,:+++********########**##*****+****++++++++*+**+:*+****::*####*##***+++::++++::++::++++++++::::::::++::+++++++++++++++++
:::::::::::::::::::::+++::::::::::++#*++************###*######*##*********************+*****######***#####*+*+:::::::::::::::::::::::::::+++++::+++++++++++++++
::::::::::::::::::::::::::::*****#############****#####*#**+##**#***************************######**####*#*+*+**++++++++++++++++++++++++++++++++++++++++::+++++
::::::::::::::::::::::::::::+*####**###################**#*#**+##*******************+*#*****############***++*+::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::+++***##*****:::::++::++:+**###******+++****+*****++**++++++++++****########*##*****:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::::::::::::::::::++++++++****#***##################***+++:::::::::#######*:::,::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**********++::++:::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::,,,,::::::::,,::,,,,,,::::,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::::,::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,:::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++::+::::::+:::::::::::::::::::::++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+::::::::::::::::+++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:++:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::,:::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+,:++*+++::::+:::::::::::::+:::::::::::::::++::::::::++++++::::::::::::::*:::::::::::..,, .,:::::::::::::::::::++:::::+:::::::::::::::+::::::::::::::::::+++
:::+::++::,,....,,:,,,++**++....,.+++***+*************+++++++++*++++++++++*+*+++++:,.:::,.,,,,,,::::::++++++*++++*++++++***+******************************+++++
::..  .,,,,,,,,,,,.,.,,,,,::+*****,.,,..,,,,....,,,,,,,,****+*:++*************:....,::+,,.,,,:::::::::+*+*++**+***++++*+***+***+,,:::**************************
......,,,,,,,,,,,,,,:***++*+++++++::::::::::::::#**+,,.,.....,,,,:::::++:.. *..,,:.,..:,,,,,::::::::::... ......,,,,,,,,,,,.,,,,,,,,,,.,...... .,...,,++*******
......,:,,,,,,,,::::::###+****,,,:,.,.+++:++**#,*###,,,,,,,,,,,,,,,,,,,,....*,,.::..,,:,,,,:::::++:::+,::::::,,:::::,:+++.    ...,,,,,,,........,......,::,,,,,
,,::::,,::::::::::::::::,,+*+:,,,:,.,,,:,,,,.::,,:,:::::::+++***:,,,:::::::,+,,.::,. :...,,,::::::::+:::::::,.,::++*,:++. ....,,:,,,..,,........,......,,:+:,,.
::,,,,,,,,,,,,,,,,,,,,,,,,,#*#::,,,,,,,,,,,,:*###::::::+++****#*::*+++*#::+*::*#+:,,,,::::::::++++::::::...,,,..,,,,....  ...,,:..,:,,,:........,.......:+*+:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::***:,,,,::::::::::*#***+++*******#::*+:+*+###+++++++*+**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,...,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,,,.,......,........,.:. . ,,.::::+++,++,:+***##+++++++++*+*+*::,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,,:++*+++***********++++.......:+:.+,:::+++,,,+:::::::::+++++*+:+**:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,:::
::,,,,,,,,,:::::::::::::,,:+*******...:#+******+*+,,:*+*+*+++++++++++++:,,,+++++::++:+:+*:#*++::::::::++,:::,:::,,::,,,,:::::::::::::::::::::::::::::::::::::++
::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,..,,,::++****++**########**+**:::*+++++++++++:+,*+*++**+::+**+:::,,:,::::::::::::::::::::::::::::++::+++++++++++++++
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::++*********########*###*+******++++++++*++**+:+*+****+:*#######*++*++:::++::++++++::::::::::++::+++++++++++++++++
:::::::::::::::::::::::::,:+::::::::::::***+++++********###########*#*****************+*++********#####****####****+:::::::::::::::::::::+++++::+++++++++++++++
::::::,,,,::::::::::::::::::::::::**##***###########**########+#*##*#**********+****#*+***+*******#####**######**+++*+++++++++++++++++++++++++++++++++++::+++++
:::::::::::::::::::::::::::::::::::*##*#**##################*##*#***#*+**********+**+***+********#######*#####**+++*+,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::+++***#####*++++::::++::****#*****#+::::+***+*****++++++::++++++****###########*****:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,::::::::::::::::::::::::::::::::++++:+++++******###################***+++++::::+#######*:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++********++::::++:::::::::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::,,,,::::::::::::,,,,,,::::,,::::,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,,,,,::,,::::::::::,::::::++::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,::,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::::::+:::::::::::::::::::::++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++::::++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:*:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::,:::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+:::::::::::::+:::::::::::::::++::::::::::++++::::::::::::::*:::::::::::..,. .,:::::::::::::::::::++:::::+:::::::::::::::+::::::::::::::::::+++
:::+::+++:,,....,,:,,,++**++....,,+++***++************+++++++++*++++++++++*+*+++++:,.:::,.,,,,,,::::::++++++*++++*++++++***+******************************+++++
::..  .,,,,,,,,,,,.,,,.,,,,,+*****,.,,..,,,,....,,,,,,,,****:*:++**********+**:....,::+,,.,,,:::::::::+*+*++**+***+++******+**#+.,,,:**************************
......,,,,,,,,,,,,,,:::::,,*+++:::,,,,::::::,,:,,,,,+:,,,.,,,,,,,,::::++:.. +..,,:.,..:,,,,,::::::::::..........,,,,,,,,,,,.,,,,,,,,,,.,........,.,,,,+********
.......:,,,,,,,,:::::,,,,:+*##*+**,.,,+++:+++:..,+**:###:,,,,,,,,,,,,,,,....*,,.::..,,:,,,,:::::++:::+,::::::,,:::::,:+++.    ...,,,,,,,........,......,::,,,,,
::::::,,:::::::::::::::::,:,:+:,,+*.,,,,,,,,.,..,,,+*:,:::::::::+++++:,,,,,,,,,,::.  :..,,,,::::::::+:::::::,.,::++*,:++ .....,,:,,,..,,........,......,,:+:,,.
::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,*##*,,,,,,,,::,,,:**#*:::::+++*+***#*,:+::+##+*,:,:#*+,:::::::++++::::::...,,,..,,,,....  ...,.:..,:,,,:........,.......:++::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+***,,,,,,,:::::::*#**+**++****###::++++++###+++++++++**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:::::::::::,....,.,,,.......,. ,.,.,,,++++*+,,++:++++*##++++++++++++**::,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,:::::::::::::++++**#++++******+:+.....,:++:,+,+:++:+.,:+::::::::++**+*+*++**::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,:::
::,,,,,,,,,:::::::::::::::::::::++*****#,,,,*******+**+:+****++++*++::::++,:,:.:::::::++::::+*:##::::::::+:++,.,,,,,,,,,:::::::::::::::::::::::::::::::::::::++
::::::::::::::::::::,,::::::,::,,,,,,,,,,,,,,,,,..,,:::++***+++*########***+*+::++++++++++++*,::*+**+++*,+:++:::,,,:::::::::::::::::::::::::++::+++++++++++++++
::::::::::::::::::::::::::::,:::,,,,,,,,,,,,,,,,,,++++********####*##**##***+**+++**++++++++*++:::*+****++**######*****+::++++++::::::::::++::+++++++++++++++++
:::::::::::::::::::::::::::::::::+:::::::::::*#*++++*********###*###*###*#******************++++******######***#####**+*+::::::::::::::::+++++::+++++++++++++++
,,::::::,,:::::::::::,:::::::::::::::::+####**##########**######*#**#***+#**********+*****************######***#####*++****+++++++++++++::++++++++++++++::+++++
:::::::::::::::::::::::::::::::::::::::::*####**#########*#######*####**##********+*****++******#*****######**######**+***:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::++++++********#***++++++++:+**##*****#::++++++***+**++++++::::+++++++**###########**#**+:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::++++++++***####################****+++:+::*######*+:::::::,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++************++++++:::::::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::,,,,::::::::::::,,,,,,::::::::::,,::,,::,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::::,::::::++:+::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,:::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::::::+:::::::::::::::::::::++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,:++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::,:*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::+::::::::+:::::::::::::::::::::::::::::::::::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::*::++*+++::::+:::::::::::::+:::::::::::::::++::::::::::++++::::::::::::::*:::::::::::..,. .,:::::::::::::::::::++:::::+:::::::::::::::+::::::::::::::::::+++
:::+::++::,,....,,:,,,++**++, ..,,+++***+*************+++++++++*++++++++++*+*+++++:,,,::,.,,,,,,::::::++++++*++++*++++++***+******************************+++++
::..  .,,,,,,,,,,,.,,,.,,,::+*****,.,,..,,,,....,,,,,,,,++**:*::+**********+**:....,:,+,,.,,,:::::::::+*+*++**+***++++*+***+**#+.,,,:**************************
......,,,,,,,,,,,,,,,::::,,,,,,,.*+++:::::::,,,,,,,,...,...,,,,,,,::::++:...+..,,:.,..:,,,,,::::::::::..........,,,,,,,,,,,,,,,,,,,,,,,,...... .,...,,++*******
......,:,,,,,,,,:::::,,,,+++**,,::###***+:++::..::::++***###*:,,,,,,,,,,....*,,.::..,,:,,,,:::::++:::+,::::::,,:::::,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,:::::::::::::::::,:::+::,:,.,.,:*,,,.,..,,,:+,,,**.,+,,,::::::+++:,,...,,,,..,...,,,::::::::+:::::::,.,::++*,:++. ....,,:,,,..,,........,......,,:+:,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,*##*:,,,,,,,,,,,:++:*:++::::+*****##::+:::##*:,:+*#*::::+*++::::::...,,,..,,,,....    .,.:..,:,,.:........,.......:+*+:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::*##*,,:,,::::::::###*****++*****#+:+::+++###*++++::+*#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,.....,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,...,,..........,,,,:********::+++++**###*+++++++++++**:,:,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,:+++++**++++**++*+,, .....::,.+:.+:++:+,:+:::::+++*******:*+:*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,:::
::,,,,,,::,:::::::::::::::::::::::::::++++****,,,*+*****,+*::+****+++::::,,::::..,+::+::::::::::,+*+##:+::::::::*+.,,,,::::::::::::::::::::::::::::::::::::::++
::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,.,,,..,,,::,++**+++:*########***+*+,::++++++++++++:::*+*+++*+++,+:::::,:+:,,::::::::::::::::++::+++++++++++++++
::::::::::::::::::::::::::::::::::::,::,,,,,,,,,,,,,,,:+++*+*******###*###**##*********+++++++++**::,:+*++***+::*#######***+++::::::::::::++::+++++++++++++++++
::::::::::::::::::::::::::::::::::::,:++::::::::++*#++************##**######*##*****************++++*+******##*###**######*+**+::::::::::+++++::+++++++++++++++
::::,,,,,,:::::::::::,::::::::::::::::::::::++#*##*#*#####******#####*#***##*+#**********+*******#**********#####***######****+*++++++++::++++++++++++++::+++++
:::::::::::::::::::::::::::::::::::::::::::::::*###***####*#############*#****#*****+***+*++****************#############**+****:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++++++****###*******++++*####***+*#:+++:++++**++++++++::::++::++++***##########***#*+::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++******####################****+++++#######*,:,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**************++:::::::::::::::::::::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::,,,,::::::::::::,,,,,,::::::::,,,,::,,,,,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::+:,::::::++:+::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,:::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++::+::+::::::+:::::::::::::::::::::++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++++::++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::*+::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::++:::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,::::::::::::::::::::+:::::+:::::::::::::::+::::::::::::::::::+++
:::+::*+:,,,.....,:,,,++**++....,,+++****+************+++++++++*++++++++++*+*+++++:,,,::,.,,,,,,::::::++*+++*++++*++++++***+******************************+++++
::..  .,,,,,,,,,,,.,,,..,,::+*****,,,,,,,,,,....,,,,,,,,+***:*::+*************:....,::+,,.,,,:,:::::::+*+*++**+***++++*********+..,,,**************************
......,,,,,,,,,,,,.,,::::,,,,,,,....,,:+*++:::,,,,,,,.......,,,,,,::::++:.. *..,,:.,..:,,,,,:::::::::+ .........,,,,,,,,,,,,,,,,,,,,,,.,...... .,...,,+********
......,:,,,,,,,,::::::,,,+++**,,,:,.,,:+####**..::::+++***+*+****#:,,,,,....*,,.::..,,:,,,,:::::++:::+:::::::,,::::+,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,:::::::::::::::::,:::+::,:,.,,,,,,,,,:: ,,,::,,,,,,.++++*#,,:::::::::::,........,,,,,:::::::+:::::::,.,::+++,:++  .. .,,:,....,,........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:,,,,+#**,,,,,,,,,,,,+,,+::::::::++**+***,,:,:*#***####*+++++::::...,,,..,,,,,,.,  ...,.:..,:,,.:........,.......:+*+:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::+***:,,:::::::::###++****++****#+++:,:++*##*+++++++***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,.....,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,:::::::::,..  ,.,,........+++:+**#*******:+:*++***##*:++++++++*++#+:,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,++++*#*****+++++,: ......:,.+,,:,++:::,++:::+++****###*++*:**::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,:::
::,,,,:::::,::::::::::::::::::::::::::::::::+*++***:..:*+****:+*:++***+:::::::,,,:+:..,,++::::::::::::::***:::::::::++:,:::::::::::::::::::::::::::::::::::::++
::::::::::::::::::::,,::::::::::::::::::,::,,,,,,,,,,,,,,,:,,:++:::+*++++*########**++*+:,:*+++++++++++:,+.:+*+++++,+,::::::,:::::::::::::::++::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::,:::,,,,,,,,,,::,,,,:+++++*******#######*#**********++++++++*+*:,,:,*++***++:+#######*++*++:::::::++::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::+::::::::+:+**+++**********###*#######*#*****************+*+**++******#*###***#####*++*++:::++++++::+++++++++++++++
::::,,,,,,:::::::::::,::::::::::::::::::::::::::::++**####*#####****######*#**#*#*+#******+***********#*#********#####***#######*+****++::++++++++++++++::+++++
::::,,:::::::::::::::::::::::::::::::::::::::::::::::+*###**####*#########**####*+*#***+********:+******+********#####***######*++***+:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++++++***************+**##******::::++++++++++++++++::::::::++++**###########***#*+,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++******###*################****######*#:::,,,:,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++:::::::::::::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,::::::::,,::::::::::::::,,,,::::::::,,,,::,,::,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::+::::::::++:+::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,::,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::,,::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:++++++++++::+::::::+:::::::::::::::::::++++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::++++::::::++::::++++++::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++++:::+::::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,::::::::::::::::::::+:::+::+::::::::::::::+::::::+::::::::::::++
:::+::*+::,,....,,:,,,++++++....,.++****+*******++**+++++++++++*++++++++++*+*+++++,,,,::,.,,,,,,::::::++*+++*++++*++++++***+**************************++**+++++
::..  .,,,,,,,,,,,,.,,.,,,:::#****,,,,,,,,,,....,,,,,,,,****:*:++*************:,...,::+,,.,,,:,:::::::+***++**+***++++*********+.,,,,+*************************
......,,,,,,,,,,,,.,,:::,,.,,,,,....,,::::::::,,,,.,,,.,..,,,,,,,:::::++:.. *..,,:.,..:.,,,,:::::::::+  ........,,,,,,,,,,,,,,,,,,,,,,,,...... .,.,,,,+********
......,:,,,,::,,:::::,,,.+++**,,,:,.,,+++:+++:..,,,,:##*+***++**+++++*****##*,,.::..,,:,,,:::::::::::+:::::::,,:::::,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,::,,::,:::::::,,:,:::+::,:,,,,,,,,,,,,..,,,::,,:::+:,,..,,,,,,,+::###,,.+:,,:,,,:,,,,,,,::::::,:::::,.,::++*,:++  ....,,:,....,,........,......,,:+:,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:++,,,,,,,,,,,:+:+,::::::::+++++#*:,,,:+######**+:,,,.,,,,,,,..  ...,.:..,:,,.:........,.......:+*+:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::,,,,,,,,,,,:***:::,:,,::::##**:+++**++******+::::+*###++++++:*#*:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.....,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::,   ,,,,..,,,,.+*****#********::+*:+++*###++++++++++++#+,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::,,::,,::::::::::::::::::,:++++****++::,,,+  . ...::,+:.:::+:,::+:::+++**********++:++:,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,:::
::,,,,,,:::,::::::::::::::::::::::::::::::::::::::::::,,,:+++**+,.******::*:++**:+:::::,..,:,::.,:.+:,::::::::::::,++#*+:,::::::++,,,:,,:::::::::::::::::::::++
::::::::::::::::::::,,::::::::::::::::::::::,,,,::,,,,,,,.,,,,,,...,,,:::++:::**+++:**######**+++++,,,++++++++++++*,:::+++++++,:,:::::::,:::++::++++++++::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::,::,,,,,,,,,,,,,,,++++*******####*##*####*******+++++++++++++:,,:+*++**++:**#######**+*++:+++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*++++*********##**######**#******************+****+**+**######***#####**+**++:+++++++++++++
,,::,,,,,,:::::::::::,,,:::::::::::::::::::::::::::::::::::::::::+*#*#######****########***#*+#*+*+*#*#**************+******######**#######*+*+***++++++::+++++
::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::++++*########******####*##*#*+*#*++++**++++*+:+++************######**#######*++***,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++***********+******###+++::::::::::++++******+:++::+*:+***##########*****++:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::++++******###################*#######*:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,::::::,,::::::::,,,,,,,,,,,,::::::,,,,::,,::,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::+::::::::++++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:+++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::,,,,,,,,,,,,,,,:::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::,,::::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::,,::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++::::+::+::::::+:::::::::::::::::::::++++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::++++++::::::::++::::++::++::::::::::::::::::::::::::::+++
,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::::::::::::::::++++++++++++++++++++++++++++++++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,,+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::,,::,,,,,,,,,,,,:::::::::::::::,:::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+::::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*:::::::::::..,. .,::::::::::::::::::::+:::+:++::::::::::::::+::::::+:::::::::::++:
:::+::*+::,,..,,,,:,,,+++*++, ...,++****+*******++**+++++++++++*++++++++++*+*+++++,,.,::,.,,,,,,::::::++*++++++++*++++++***+**************************+++*+++++
::..  .,,,,,,,,,,,.,,,,,,,::+*****:,,,,,,,,,....,,,,,,,,++**+*:++**********+**:....,::+,,.,,,:,:::::::+***++******+++*********#+.,,,,+*************************
......,,,,,,,,,,,,.,,+::,,.,,,,,....,,::::::::,,,,,,,,.,...,,,,,,:::::++:.. *..,,:.,..:,,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,...... .,.,,,,+********
......,,,,,,::,,:::::,,,.+++**,.,:,.,,+++:++++..,,,,,,,,,,,****+**++++++*++:*++###*.,,:,,,,::::::::::+:::::::,,:::::,,+++.    ...,,,,,,,........,......,:,,,,,,
::::::,,::::::::::::::,,:,:::+::,:,.,,,,,,,,,,..,,,:+,,,,,,,,,+:++,,,,,,....*+**###..:..,,:::::::,,,::::,,,,,.:::++*,:++  ....,,:,,,..,,........,......,,:::,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:::*,,,,,,,,,,+*++,:::::::::++++**:,,,:+*####**++:...,,.,    .,.:..,:,,.:........,.......:+*+:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,::,,,,,,,,,,,,,,,,::****:,,,::,,,,###+::++***++***#*:::::+*#*#,:::+++*#*:,,,,,,,,,,,,,::,,,,,,,,,,,,,,......,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::,...,,,,,,,,,,,*#***##*******#:+:*:+*+*###*++:++++++:+#+,,,:,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::,,::,,::,,,,:::::::::::::::::::::::::+*+**++::::,,.:  ....,::.:..:,:+:::++:+++++********#*+*:++:,,,,,,,,,,,,,,,,::::::,,::,,,,,,:::
::,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::**++**,,+***++::*:+:++++:,:::,,,,,,,,. ,.*::::::,,::::,,:****+,,:::::+:+,:+::::::::::::::::::++
::::::::::::::::::::,,::::::::::::::::::::,,,,,,::,,,,,,,,,,:,,.,,,,,,....,,,,:++:,:+++++:+*#######**++++,,:++++++++++++:,+:,+++++++,:,++:::::,:++::++++::+++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:+++++******###*####**#**+*++++++++++++++++:::,:+*+**+*::*########*++*++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::**+++++********##**####****#*+*******************++*******#####***#####*****+++:++++++
,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::++++*#########*#**########**:*+:#*+*+**+#**##*****************######**#######++*:+**::+++++
::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++########****#***##**#*#*:*#*+*****++++*+++*+**++*****+***##############*++***::::::::
::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++*********+++**#######***++++::::::::::*******:++:++**++++*########**+***+::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++********###############*#######+:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,::::::::,,::::::::,,,,,,,,,,::::,,::,,,,::,,,,,,::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:+++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,:::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::,,::::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::,,::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++::::+::+::::::+:::::::::::::::::::::++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::++++++::::::::++::::++::++::::::::::::::::::::::::::::+++
,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::::::::::::::::++++++++++++++++++++++++++++::++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::++:::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,:::::::::::::::::::++:::+:++::::::::::::::+::::::+::::::::::::++
:::+::*+::,,....,,:,,,+++*++. ..,,++**++++******++**+++++++++++*++++++++++*+*+++++,,,,::,.,,,,,,::::::++++++*++++*++++++***++*************************++**+++*+
::..  .,,,,,,,,,,,.,...,,,::+*****,.,,..,,,,....,,,,,,,,+***+*:++*************,....,:,+,,.,,,:,:::::::+++++*****++*++**+*******+.,,,,+*************************
......,,,,,,,,,,,,.,,::::,.,,,,,....,,::::::::,,,,,,,,.,....,,,,,:::::++:.. * .,,:....:,,,,,:::::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,........,...,,:********
......,,,,,,::,,,::::,,,,:++**,,,:,.,,+++:++::..,,,,,,,,,,,,,,,,,,******++*+*+++++::+##**,,::::::::::+:::::::,,:::::,,+++,    ...,,,,,,,........,......,::,,,,,
::::::,,::,,:::::::::::::,:,:+::,:,.,,,,,,,,.,..,,,:+,,,,,,,,,,.,,.,,+::....+:,,+:.+**##*,,,:::::::::,,,,,,,,.,,:++*,:++  ....,,:,,,..,,........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,:***,,,::::::+++++#*:::,::###****++:.    .,.:..,:,,.:........, ......,:+::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::***:,,,,,,,,:###*::++****+***##+::++:+*##+::+*,,+**::,,,,,,::,,,,,,,,,,,,,,,,....,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,::::::::::::::::::::::::::::::,,:,  .,,,,,,,,,,**+***##******#::+*:+++*####*::++++++++**,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,::::::::::::::::::::::::,,,,,,,++++***++::,,::  . ,,.:,.:,.:,:+:,::+:::+++**********:+:+++,,,,,,,,,,::::::,,,,,,,,,,:::
::,,,,,,,,:,::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,:::++**#,..#****+,*:++++:+:::::,,,::::,..,.+,:::::::::::,:,****::,::::::++,,::,::::::::::++
::,,::::::::::::::::,,::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,..,,::+:::**+++:*########*++*++,,:++++++++++++:,+:,+*+++++,:,:::::,:,:+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,:,,,,,,,,,,,,,+++++******###*####*###*****++++++++++++++:::::+*++*++::*########*++*++:+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*++++*********###*####*#**#******+****************++*+***#####***#####******+::
,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*###**###**#*####***#**##*+#*+**#**#***#*****************######**#######*+++:**:
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*+**####***++++*########**,##*++++++++++++++*++++++***++**###############*++***:,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++******#######*##****++++:::::::******+++:++++*++:*#########******+:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++*****####################*++:::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::::::::::::,,::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,::::::,,::::::::::,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::,,::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::::,
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++::+++::+::::::+:::::::::::::::::::::++++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::++++++::::::::++::::++::++::::::::::::::::::::::::::::+++
,,::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++++++++++++::++++::++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+:+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,,+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::,:::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++:::::+::::::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,::::::::::::::::::::+:::+:+:::::::::::::::+::::::+:::::::::::+++
:::+::*+:::,....,,:,,,+++*++,...,.++**+++*******++**+++++++++++*++++++++++*+*+++++,,,,::,.,,,,,,::::::++*++++++++*++++++***++*****************************+++*+
::..  .,,,,,,,,,,,.,.,,,,,::+***#+,.,,..,,,,....,,,,,,,,+***:*::+***++++++*+**:....,::+,,.,,,:,:::::::+++*++****+++++******+***+..,,,**************************
......,,,,,,,,,,,,.,:+::,,.,,,,,....,,::::::::,,,,.,,,.,....,,,,,,::::+++. .*. ,,:.,..:,,,,,:::::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,...... .,...,,:********
......,,,,,,,,,,:::::,,,.+++**,.,:,.,,+++:++::..,,,,,,,,,,,,,,,,,,,,,,,,,+**+**+*+++++++:::*#**+:::::+,::::::,,::::+,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,::,,:::::::::::::,:,:+::,:,.,,,,,,,,,,..,,,:+,,,,,,,,,..,,,,,,,,,...*:,:+:...:...++*###+::::+:,:::,,,.,:,:+*,,:+. ....,,:,,,...:........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:+::,,,,,,::***+,,:::::::+++**#*:,,,,**#*#**++:..:..,:,,.:........,.......,++::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,*#*+,,,:,,,,*###::++****++**#**,,+:::*##*..,,::*#*:,,,,,,,,,,,,,,,,,......,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,::,,::::::::::::::::::::,,::::,,,,::::::,...,,,,...,.,****###******#*:++::+++###**+:::++++++**:,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,::::::::::::,,::::::::,,,,,,,,,,::::,::++:**++++:::     .. ::.:: ,::+::,:++:++++********##:+:++:,,,,::::::,,,,,,,,,,:::
::,,,,,,,,:,::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,::::++**#,,++***+,++:++*++,,,:::..,,,,:....+:,::,,,,,,,:,,,*+**::,::::::*:,:::::::::+
::,,::::::::::::::,,,,::::,,::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,..,,..,,::+++++++:**#######**++++,,:+++++++++++++.::+:++++:+::.,::,,,::++::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,:::::::,,,,,,,,,::+++******###*####**##*+*++++++++++++++++:::,:+++***+::+*#######*+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::**::++********##**######**#*+*********************+**+***#####****####*++
,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*###***############*#*+#*+#*+*******************#****+***#####***######*+
::,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*******###*:::*####**#*#*+##*++++++:::::+++++++++++*++++*###############*+
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****+++**#############****++++::+:******++:+++**++:+########**+
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****##########*#########**+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::::::::::::,,::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,::,,,,,,::::,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::+::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::,,,,,,,,,,,,,:,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::::,
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++++::+++::+::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::++++++::::::::++::::++::++::::::::::::::::::::::::::::+++
,,::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++++++++++++++++++::++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,,+:::,*,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::,,::,,,,,,,,,,:::::::::::::::::,:::*:::::::::::::,*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::,:*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++:::::+:::::::::::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::..,. .,::::::::::::::::::::+:::+:+:::::::::::::::+::::::+:::::::::::++:
:::+::*+::,,....,,:,,,+++*++. ...,++**++++******++**+++++++++++*++++++++++*+*+++++,,.,,:,.,,,,,,::::::+++++++++++*++++++***++*****************************+++*+
::..  .,,,,,,,,,,,.,,,,.,,::+****+,.,,..,,,,....,,,,,,,,++**,+,::+**++++++****:....,::+,,.,,,,,:::::::+++++++***+++++******+***+..,,,**************************
......,,,,,,,,,,,,.,,:::,,.,,,,,....,,::::::::,,,,,,,,.,....,,,,,,::::++:.. *..,,:....:,,,,,,,:::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,........,...,,:********
......,,,,,,::,,:::::,,,.+++++,.,::.,,+++:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....*,,,******++++++++:::*****:::::::,,:::::,,+++.    ...,:,,,,,........,......,::,,,,,
::::::,,::,,::::::::::,,:,:,++:::::.,,::,,,,.,..,,,:+,,,,,,,,,..,,,,,,,,....+,,,,+,:::...,,,,,::+*###*::::,,,.,:,::+,:++. ....,,:.,,...:........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::::::++**+*,,,,::::+::*****,,,::+*#****++::...:........,.......,++::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:***:,,,,,,,,###:::++****++****:::+::*###+:,:::+#*:,,,,,,,,,,,......,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,::::::::::::,,::::,,,,::::,,,,::::::::::,,:.  ,,,,....,.**+************:+:+:+++*###*#++:++++++**:,,,,,,:::,,:::::::::
,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,::::::::::::,,,,,,::,,,,,,,,,,,,::::::::::::::++****++:::,:......,,,:+..+,++.:,++:+++++*********+++:++,,,:,,,,,,,,,,::,
::,,,,,,,,:,::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::::::::::::::,,++****,,*+***:+*+:+**+::::::,,,::::, ..:+::,,:::,,,,,,,*+#+::,::::::*+,,:+:
::::,,::::::::::::,,,,::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,.......,,..,,,,++++++++*########**++*+:,,+:+++++++++++,.:*,++++::,,.,::::,
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,::::::,:::::,,,,,,,,:+++++******##**#######*******+++++++++++++:::::++++**+::*#####
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*++++**++++**##*#####*##*#*+*++**********+***+***+*+*****#####***#
,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*##*+**########**##***+++##++**#+***#+***+*******++*****#####***##
,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++***######**:+:******##+*+*##++++::::::::+++++++++*+++:++*#######*##
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++**##*###############***+++*###***+:::+**+++:#####
::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*****#############
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::,,::::::::::::::,,,,::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::::::::::,:::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::::::::+::::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++++::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,:,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::,,::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::,,::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::++++++::::::::++::::++::++::::::::::::::,,::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++::++++++++::++::::++++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::,:::*::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::++++:::::+::::+:::::::::::::::::::::::::::++++::::::::::::::*+::::::::::.... .,::::::::::::::::::::+:::+:+:::::::::::::::+::::::+:::::::::::++:
:::+::*+::,,.....,:,,,++++++....,.++**++++******+++*++++++++++++++++++++++++*+++++,,.,::,.,,,,,,::::::++++++*++++*++++++***+******************************+++*+
::..  .,,,,,,,,,,,.,...,,,::*#**#*,.,,..,,......,,,,,,,,:+**,+,,:*++++++++**++:,...,::+,,.,,,,,:::::::+++++*+***++*++**+***+***+..,,,+*************************
......,,,,,,,,,,,,,,,:::,,.,,,,,....,,::::::::,,,,,,,,......,,,,,,:::::::...+...,,.,..:,,,,,,,:::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,........,...,,++*******
......,,,,,,::,,:::::,,,.+++**,.,:,.,,+++:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....+:,.:,,.,,,,,,::::+*****++::::::,,:+::+:,,+++.    ...,,,,,,,........,......,::,,,,,
::::::,,::,,::::::::,,,,:,:,:+::,:,.,,,,,,,,.,..,,,:+,,,,,,,,,,,,,,,,,,,....+:,.+:,..:...,,,,,:::+++++::+:,,,+####*+,:++ .....,,,.,,...:........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::...,:,:++:,,,,::::::++***:,,,,:*+***:+::.......,,+++:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,***::,,,,,,###+:::++****:+*##::::::*###,,,:,,:**:....,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::,,::::,,,,,,::,,,,::::::::::,,,,,,,,,,,,,,,,:.  ,.,,...,,+#***##********:::+:+++*###***:,,,,,++*+:,,:::::
,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,::::::::,,::,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,::::::,,::++***+++:::,  . ..,,..:  :,:+:,,++:+++***#####***+++:+::,,,
::,,,,,,,,:,::,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::+:::,,:++**:.:+****:++:+**+:,,,::,..,:,,. , +:::,,,,,,,,,,:,++#*,:,
::,,,,::::::::::::,,,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,..,,.,..,:+++++::+*#######**++++,,,+++++++++::++,:,+:+:
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::,::,,,,::::+++*****############****++++++++++++++++++:,+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+*++++++++++**#######**#*#*+**+**********++*+*++++*++
,,,,::,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*###******#*###**#******##++***********#********+***
,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++*****##****++++*##***#**:##*+::::::,,,,::::++++:+++::+
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++*################################*++
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::,,::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::+::::::::::,:::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,:,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::::::::++::::++::::::::::::::::::::::::::::::::+++
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,::+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,,+::::*,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::*:::::::::::::::::,,::,,,,,,,,,,:::::::::::::::::,:::*:::::::::::::,*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::+::::::::+::::::::::::::,::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::+:++::::::::::+:::::::::::::::::::::::::::::++++::::::::::::*+::::::::::..,. .,::::::::::::::::::::+:::+:+:::::::::::::::+::::::::::::::::::++:
:::+::*+:,.......,:,,,++++++....,.++++++++******+++*++++++++++++++++++++++*+*+++++,,,,,,,.,,,,,,::::::++++++*++++*++++++***+**************************++**+++*+
::..  .,,,,,,,,,,,.,...,,,::+***#*,.,,..,,......,,,,,,,,++**,+,:++++++++++****:,...,:,+,,.,,,,,:::::::+++++*+***++*++******+***:..,,,+*************************
......,,,,,,,,,,,,.,:::::,.,,,,,....,,::::::::,,,,,,,,.,....,,,,,,::::++:...*...,,.,..:,,,,,,,::::::::........ .,,,,,,,,,,,,,,,,,,,,,,,,...... .,...,,:+*******
......,,,,,,::,,:::::,,,.+++**,.,:,.,,+++:+++:..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::.,,,:,,,:::::::::::+****++::::::::,:+++.    ...,,,,,,,........,......,::,,,,,
::::::,,::,,:::::::::::::,:,:::::::.,,,:,,,,.,..,,,,+,,,,,,,,,,,,,,,,,,,....+:,.+:,..:...,,,,,,,,,:::::+*+,:,.,::++***##*,.. .,,:,,,..,,........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:,.,,,,,,,,,,+:..,,:::::::+****,.,,:++*+++++:,..:++:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,:,***+,,::,,,###:,::++****++*#*::::::*###,,,::+**+,.,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::,,::::,,,,,,::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,. ,,,....,.******#********::+:++++####***+:**++++*+,
,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,::::::::,,::,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,::+++*+:::::.,....  ,,,::.,:,:+,:,:::++****####***#:+:
::,,,,,,,,:,::::,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,::::::::::,,::::::::+:::::::::::,:++**+,:****::++++***,:::,,,,,:,,:..,,+:,,,,,,,,,,,,:.
::::::::::::::::::,,,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,...,,,,++++++++*########*+++++,,,+::+++:::::+:
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::,,,,,,,:+:+++*****##**####*###*****++++++++++++++:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*+++**+++++*##**######**#***+**+*******+****+
::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*#***+***########*#*:#+:#*****+***********+*+
,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++**************###*#**+*#**+:::,,,,,,,,::,,:::
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:+****######################**#
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::::::::::,,,,::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*+*+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,:,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::,,::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::::::::++::::++::::::::::::::::::::::::::::::::+++
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++::++++++++++++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**::+++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::*,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::,:::::::::,,,,,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::+::::::::+::::::::::::::,::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*+++::::++::::::::::::+::::::::::::::::::::+::::::::++++::::::::::::*+::::::::::..,. .,::::::::::::::::::::+:::+:::::::::::::::::+:::::::::::::::::::++
:::+::*+::,,.....,:,,,++++++, ..,,++**++++******+++*++++++++++++++++++++++++*+++++:,,,::,.,,,,,,::::::++++++++++++++++++***++*************************+++*+++++
::..  .,,,,,,,,,,,..,,,,,,:::***#*,.,,..,,,,....,,,,,,,,++**,+,:+*++++++++****:....,::+,,.,,,:::::::::+++*++****+++++******+***:..,,,+*************************
........,,,,,,,,,,.,,::::,.,,,,,....,,,:::::::,,,,,,,,......,,,,,,::::++:...*. ,,,.,..:.,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,:********
.......,,,,,,,,,:::::,,,,+++**,.,:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.::..,,:,,,::::::::::::,::::::#**++::::+++,.    ..,,,,,,,........,......,::,,,,,
,,::::,,::,,::,,::::,,,,,,:,:+,,,:,,,.::,,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....+:,.+:,.,:...,,,::::::::::::::,:,.+**+++,:++...*****:,,,...:........,......,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,.,:,..,,.,,,..  ..,:,:,,,,:::::::+***,..,,+++++:+:,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+**+,::::,:###::::++****+:*#*,:::::####*+::++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,...,,,..,,,**+***#****#**#:+*:++++####***+::*
,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,:+++**+::,,,: .... ++.,: ,,::+,::+::+++****###
::,,,,,,,,,,::::,,::::::::::::::::,,,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+:::::::::::::::::,,,:++**.:++*+::+:+++++::,::,,,,,,::...,:::,,,,,,
::,,,,::::::::::::,,,,::::,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,.....,,::++++++*########**++++,,,:++++:
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,::::,,,:,:::++++*****##**#####****+**+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::+++:***+**++++++*#***#**#*##*#*+**+*+*****+
::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++###*****#**###*#**+#*++##************
,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::+++++**************##***#*+**++:::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++******###############
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+++::::::::,,::::::::::::::,,,,::::,,::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::,,:::::::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::,,,,::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::,,,,,,::::::,,,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::::::::++::::++::::+:::::::::::::::::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::
,,:+::::+,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::,+::::+,:::::::::::::::+::::::::::::::,::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++++++::::++::::::::::::+::::::::::::::::::::+::::::::++::::::::::::::*+::::::::::..,. .,::::::::::::::::::::+::::::+:::::::::+::::+::::::::::::::::::+++
:::+::*+::,,.....,:,,,++++++, ..,.+++*++++******+++*++++++++++++++++++++++*+*+++++:,,,::,.,,,,,,::::::++++++*++++*++++++***++*************************+++*+++*+
::..  .,,,,,,,,,,,.,,..,,,::+#***+,.,,..,,........,,,,,,:+**,+,::+++++++++++**:....,::+,,.,,,:::::::::++++++****+++++******+***+..,,,+*************************
.......,,,,,,,,,,,.,::::,,.,,,,,....,,::::::::,,,,,,,,......,,,,,,:::::::.. *. ,,,,,..:,,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,:+*******
.......,,,,,::,,,::::,,,.+++**,.,:,.,,+++:++++...,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,,,,,::::::::::::,:::::,,.:,::::**++:,,.. ....,,,..........,......,::,,,,,
,,::::,,::,,::,,,,::,,,,:,:,:+::,:,,,,,:,,,,,,..,,,:+,,,,,,,,,,.,,,,,,,,....+:,.+,,..:...,,,::::::::::::::,:,.,:::++,:**, ....,,,,*****:........,.... ..,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,.,:,...,,,,,., ., .,,,..,::,.:,,,,,::::+*+#*:,,,.:+*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:***::::::,###:,::++****+:*#+,,::::####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .,,..,,,.#*****#*****#**:+++++++###*
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,:::+*+++:::,,.   . ,,,::.,::+::::+:++++
,,,,,,,,,,:,::::,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::::,,::::::::::::::::::+:::::::::::::::::::,,::::,,++***.,**+*+:+::+***,,::::,,,,,,:..,,::
::,,,,::::::::::::,,,,::::,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::,,,,,,.......,,,,::+++++:*########**++++,,
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++******##**####**#*++*+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*+****++++++**##**##***#**#*+**+*
::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*###***#######*##**+#::#******
,,,,::,,,,::::::::::::::::::::::::::::,,::::,,::::,,,,::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::++++++******###*****###*+*+***++:+:,,
::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++******#####
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::,,::::::::::::::,,,,::::,,::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
:::::::+++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::+:++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,,,::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::++++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++::::::::++::::++::::+:::::::::::::::::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
::,+::::+,:::::::::::::::+::::::::::::::,::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::*::++*++++:::++::::::::::::+::::::::::::::::::::+::::::++++:::::::::::::,*+::::::::::..,. .,::::::::::::::::::::+:::+::+::::::::::::::+:::::::::::::::::::++
:::+::++::,,.....,:,,,++++++,...,,++**++++******+++*++++++++++++++++++++++*+*+++++:,,,::,.,,,,,,:::::::+++++*+++++++++++***++*************************+++*+++*+
::..  .,,,,,,,,,,,.,,,.,::::******,.,,..,,,,....,,,,,,,,:+**,+,:++++++++++++*+:....,::+,,.,,,,::::::::++++++**++++++++*****+***+..,,,+*************************
.......,,,,,,,,,,,.,,::::,.,,,,,....,,,:::::::,,,,,,,,......,,,,,,:::::::...*,.,,,,,..:,,,,,,,:::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,........,.,,,,:********
.......,,,,,:::::::::,,,,++:**,.,:,.,,:++:++++...,,,,,,,,,,,,,,,,,,,,,,,....+,,.,,,.,,,,,,::::::::::::,::::::,.:::::,:::+...**++:,,,,,,.........,......,::,,,,,
,,::,,,,::,,::,,::::,,,,,,:,:+::,:,.,..,,,,,.,..,,,:+,,,,,,,,,,.,,,,,,,,....+:,.:,,..:...,,,::,,::::::::::,:,.,:::++,:::. .. :+*:,,,,,,,.**##*,.,.......,::,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,.,,,..,,,,,,.,    ..,:,,,:...:,,.,,...,,,:::::++***:.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:***+::::,,##*+:::++*****:*#*::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::,,::::,,,,,,::,,,,::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. ,,,...,.+*+**##********:++++
,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::**+++:::,  ... ::.,: .,,:+,,
,,,,,,,,,,:,::::,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::++**,.****+:+::++++:::,:,,,,,,:
::,,,,::::::::::::,,,,::::,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,......,,::++++:::+#######**
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*****###*###*###
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*+*****++++++*#*#*##******
::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++*###***######*#*****++
,,,,::,,::::::::::::::::::::::::::::::,,::::,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::++++++*************###*+*++**
::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::,,,,::::::::::::,,,,::::,,::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
:::::::+++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,::::,,,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,:::::::::::::::::++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*+**:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,::::::::::::::::::::::::::++::++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::++++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++::::::::++::::++::::+:::::::::::::::::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::*,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++*++++:::++::::::::::::+::::::::::::::::::::+::::::++++::::::::::::::+:::::::::::.... .,::::::::::::::::::::+:::::::::::::::::::::+:::::::::::::::::::++
:::+::*+::,,.....,:,,,++++++, ..,.+++*++++******+++*++++++++++++++++++++++++*+++++:,,,::,.,,,,,,:::::::+++++*+++++++++++***++***********************+++++*+++++
::..  .,,,,,,,,,,,.,,,.,,,::+#****,,,,,,,,,,....,,,,,,,,:+**:+::++++++++++++*+:....,::+,,.,,,:::::::::++++++**++++++++++***+***+,,,,,+*************************
.......,,,,,,,,,,,.,,:::,,.,,,,,....,,::::::::,,,,,,,,.,....,,,,,,:::::::,  +...,,,,..:,,,,,:::::::::+ .........,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,:********
.......,,,,,:,,,:::::,,,.+++**,.,:,.,,:++:++++...,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,:,,,:::::::::::+,::::::,,:::::,,+++.......,,,,,,,,..,:*+*,,......,:,,,,,,
,,::::,,::,,::::::::,,,,,,:,::::,:,,,,,,,,,,,,..,,,:+,,,,,,,,,,,,,,,,,,,....+:,.+,,..:...,,,::::::::::::::,:,.,:::++,::+. ....,,:,,,,,,,....++*,:......,+*#**,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::...,,,..,,..,,.,  ...,,:,.,:,..:......,.,,......,**::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,+**:,,,.,:#*#:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .,,,,..,,*+***
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+**+:::,.. . .
,,,,,,,,,,:,,,,,,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::+:::::::::::::::::::,,::,,::::::::::::::::::::::::,:+**:.****++*::+
::,,,,::::::::::::,,,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,......,,,,:++
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,+::++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++********+++
::::,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++**#####
,,,,,,,,,,::::::::::::::::::::::::::::,,::::,,::::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::+++******
::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::,,,,::::::::::::,,,,::::,,::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
:::::::+++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,::,,:::::::::::::+:+::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::,,,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++++::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::::::::++::::++::::::::::::::::::::::::::::::::::+
,,::,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::+:::::::::::::::::::::::++::::++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::+::::::::+:::::::::::::::::::::::::::::::::::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++++++::::++::::::::::::+::::::::::::::::::::+::::::++++::::::::::::::+:::::::::::.... .,::::::::::::::::::::+:::::::::::::::::::::+:::::::::::::::::::++
:::+::++::,,.....,:,,,++++++, ..,.+++*++++******+++*++++++++++++++++++++++++*+++++,,,,::,.,,,,,,::::::++++++++++++++++++***++***********************+++++*+++*+
::..  .,,,,,,,,,,,.,,,.,,,:::*****,,,,..,,,,....,,,,,,,,:+**:+,:++++++++++++++:,...,::+,,.,,,:::::::::+++*+++*++++++++++***+++*+,,,,,+*************************
.......,,,,,,,,,,,.,,:::,,.,,,,,....,,::::::::,,,,,,,,.,....,,,,,,:::::::,  +...,,,,..:,,,,,:::::::::: .........,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,:********
.......,,,,,::,,:::::,,,,+++**,.,:,.,,:++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,:,,,:::::::::::+,::::::,,:::::,,+++.  .....,,,,,,,........,. *+++,:,,,,,,
,,::::,,::::::::::::,,,,,,:,:+,,,:,,,,.,,,,,,,..,,,,+,,,,,,,,,,,,,,,,,,,....+:,.+:,..:...,,,::::::::::::::,:,.,:::++,:++. ....,,:,,,,,,,........,...***:,::,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::...,:,..,,..,,.,    .,,:,.,:,.,:........,.....:,,**+:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,...+**:,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,,,,::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,, .,,..,
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,::,,,,,,,,,,,,::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::+**++:
::,,,,,,,,:,,,,,,,::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+:::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::+**,,**
::,,::::::::::::::,,,,::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,..,,.
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++***
::::,,,,,,::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++
,,,,,,,,,,::::::::::::::::::::::::::::,,,,::,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::,,,,::::::::::::,,,,::::,,::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,::::::::+::::::::++++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,::::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::::::::++::::++::++::::::::::::::::::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::+:::::::::::::::::::::::++::::++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++:::::::::::::::::::::::::::::::::::,::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::+::::::::+::::::::::::::,::::::::::::::::::::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::*+*+++::::++:::::::+::::+::::::::::::::::::::+::::::::++++::::::::::+:+:::::::::::.... .,::::::::::::::::::::+:::::::::::::::::::::+:::::::::::::::::::+:
:::+::++::,,.....,:,,,++++++,...,.+++*++++******+++*++++++++++++++++++++++++*+++++:,,,::,.,,,,,,::::::++++++++++++++++++***++***********************+++++*+++*+
::..  .,,,,,,,,,,,.,,,,,,,::+*****,,,,..,,,,......,,,,,,:+**:+:::+++++++++++*+:....,::+,,.,,,:::::::::++++++++++++++++++******++..,,,+*+********+**************
.......,,,,,,,,,,,.,,:::,,.,,,,,....,,::::::::,,,,,,,,.,....,,,,,,:::::::,  +..,,,,,..:,,,,,:::::::::+ .........,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,:+*******
.......,,,,,::,,:::::,,,.+++**,.,:,.,,:++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,:,,,:::::::::::+,::::::,,:::::,,+++,  .....,,,,,,,........,......,:::**+:
,,::,,,,::,,::,,::::,,,,:,:,:+::,:,,,,,,,,,,.,..,,,:+,,,,,,,,,,,,,,,,,,,....+:,.+:,..:...,,,::::::::::::::,:,.,:::++,:++. ....,,:,,,,,,,........,......,,:+:***
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::...,:,...,..,,.,    .,,:,.,:..,:........,.......,:::,,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,:,,,,,,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::+:::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::::::,
::,,::::::::::::,,,,,,::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,::::::::::::::::::::::::::::::,,,,::,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::,,::::::::::::,,,,::::,,::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,,,,,::::+::::::::+:++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::,,::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::::::::++::::++::::::::::::::::::::::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::+:::::::::::::::::::::::++::::++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**++**+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,,,::::::::::,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++:::::::::::::::::::::::::::::::::::,::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::+,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,+,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,:::::::::::::::+::::::::::::::,::::::::::::::::::::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::*+++++::::++:::::::+::+++::::::::::::::::::::+::::::::++::::::::::::+:+:::::::::::.... .,::::::::::::::::::::+::::+:+::::::::::::::+::::::::::::::::::+++
:::+::++::,,.....,:,,,++++++, ....+++*++++******+++*++++++++++++++++++++++++*+++++,,,,::,.,,,,,,::::::++++++*+++++++++++***++***********************+++++*+++++
::..  .,,,,,,,,,,,.,,,,,,,::+#****,,,,..,,,,....,,,,,,,,:+**,+,::+++++++++++*+:,...,::+,,.,,,,::::::::*+++++**++++++++++***+***+...,,+*+*******++**************
.......,,,,,,,,,,,.,:+::,,.,,,,,....,,,:::::::,,,,,,,,.,....,,,,,,:::::::.  +..,,,,,..:,,,,,::::::::::..........,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,:++**++**
.......,,,,,,,,,:::::,,,.++:**,.,:,.,,,:+:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,:,,,::::::::::::,::::::,,:::::,,+++.  .....,,,,,,,........,......,::,,,,,
::::,,,,::,,::,,::::,,,,:,:,:+,,,:,,,,.,,,,,.,..,,,:+,,,,,,,,,,,,,,,,,,,....+:,.+,,..:...,,,,,::::::::::::,:,.,:::++,:++. ....,,:,,,..,,........,......,,:::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::...,:,..,,..,,.,    .,,:,.,:,.,:........,.......,::::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,.....,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::::
::,,::::::::::::,,,,,,::::,,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,,,::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,::::::::::::::::::::::::::::::,,,,::,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::,,::::::::::::,,,,::::,,::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,,,,,:::::::::::::+:++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
++::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::::::::::::::++::::::::::::::::::::::::::::::::::+
,,::::,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+::::::::::::::::::::::::::::::::::::,::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:*::::+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,:,,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::::::::::::::::,::::::::::::::::::::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::++++++::++++::::::::::::+:::::::::::::::::::::::::::::++::::::::::::+:+:::::::::::.... .,::::::::::::::::::::+::::+:+::::::::::::::+::::::::::::::::::+++
:::+::++::,,.....,:,,,++++++:.....:++*++++******++**++++++++++++++++++++++++*+++++:,,,::,.,,,,,,::::::++++++*+++++++++++***++*********************+++++++*+++++
::..  .,,,,,,,,,,,.,,,.,,,::+#****,.,,..,,......,,,,,,,,:+**:+,::+++++++++++++:,...,::+,,.,,,:::::::::++++++**++++++++++***+***+.,,,,+*+**++***++**************
.......,,,,,,,,,,,.,,:::::.,,,,,....,,::::::::,,,,,,,,.,....,,,,,,:::::::.  +..,,,,,..:,,,,,,,::::::::..........,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:++*+++++
.......,,,,,,,,,:::::,,,.++:**,.,:,.,,:++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,:,,,:::::::::::+,:::,,:,.:::::,,+++.......,,,,,,,,........,......,::,,,,,
::::::,,::,,::::::::,,,,,,:,:+::,:,,,,,,,,,,.,..,,,:+,,,,,,,,,,,,,,,,,,,....+:,.+,,..:...,,,::::::::::::::,:,.,:::++,:++. ....,,:,,,..,,........,......,,:+,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::...,:,...,..,,.,    .,,,,.,:..,:........,.......,::::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,.....,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,:
,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,::::::,,::,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,,,::::,,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,,,::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,::::::::::::::::::::::::::::::,,,,::,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::,,::::::::::::,,,,::::,,::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,::,,:::::::::::::++:+:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::,,::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::::::::::::::++::::::::::::::::::::::::::::::::::+
,,::::,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**++**+,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:++,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::::::::::::::::,::::::::::::::::::::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+::++++++++++++::::::::::+++::::::::::::::::::::::::::::::+::::::::::::+:*:::::::::::.... ..::::::::::::::::::::+::::+:+::::::::::::::+:::::::::::::::::::++
:::+::++::,,.....,:,,,::++++,...,.:+++++++******+++*++++++++++++++++++++:+++*+++++,,.,::,.,,,,,,:::::::+++++*+++++++++++***+++++********************+++++*+++++
::..  .,,,,,,,,,,,.,...,:::::#****,.,,..,,,,......,,,,,,:+**:+,::+++++++++***+:,...,::+,,.,,,,::::::::++++++++++++++++++***+++*+..,,,+++********+***********++*
.......,,,,,,,,,,,.,,:::::,,,,,,....,,::::::,,,,,,,,,,.,....,,,,,,:::::::.  +..,,,,,..:,,,,,,,::::::::..........,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:++**++++
.......,,,,,::,,,::::,,,.++:**,.,:,.,,+++:++++..,,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,:,,,::::::::::::,::::::,.:::::,,+++.......,,,,,,,,........,......,:,,,,,,
,,::::,,::,,::::::::,,,,,,:,::::::,,,,.,,,,,.,..,,,,+,,,,,,,,,,,,,,,,,,,....+:,.+:,..:...,,,,,::::::::::::,:,.,:::++,,:+. ....,,:,.,..,,........,......,,:::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,.,:,..,,,,,,,,    .,,,,.,:..,,........,.......,:::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,.,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::,,::::,,,,::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::::
::,,::::::::::::,,,,,,::::,,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,::,,,,,,,,,,,,,,,,,,::::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::,,::::::::::::,,,,::::,,::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,,,,,:::::::::::::+:+::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::,,::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::,,,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++:::::::::::::++::::::::::::::::::,,::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::++++++::++++++++::++::::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+++++,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,:+,,,,,,,,,,,,::::::::::,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:*+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::+:::::::::::::::::::::
,,:+::::+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,*,,,,,,::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+,::::::::::::::::,,::,,,,,,,,,,:::::::::::::::::,:::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::
:::+::::+:::::::::::::::::::::::::::::::,::::::::::::::::::::+::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+::++++++++::++::::::::::+++::::::::::::::::::::::::::::::+::::::::::::+:*+::::::::::.... ..::::::::::::::::::::+::::+:+::::::::::::::+::::::+::::::::::::+:
:::+::++:,,,.....,:,,,::++++,.....:+++++++***+**+++*++++++++++++++++++++++++*+++++,,,,::,.,,,,,,:::::::+++++++++++++++:+++*+++++******************+++++++*+++++
::..  .,,,,,,,,,,,.,,..,,,:::#***+,.,,..,,,,......,,,,,,:+**:+,,:+++++++++***+:,...,:::,,.,,,,,,::::::++++++**++++++++++***+++*+..,,,+++**++****+**************
.......,,,,,,,,,,,,,,:::::,,,,,,....,:::::::,,,,,,,,,,.,....,,,,,,:::::::.  +..,,,,,..,,,,,,,,:::::::+..........,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:++*+++++
.......,,,,,::,,,::::,,,.+:+**,.,:,.,,,:::++++...,,,,,,,,,,,,,,,,,,,,,,,....+,,.:,,.,,,,,,:::::::::::+,::::::,.:::+:,,:::.......,,,,,,,,........,......,::,,,,,
::::::,,::,,::::::::,,,,,,,:::::::,,,,.,,,,,,,..,,,,+,,,,,,,,,,,,,,,,,,,....+:,.+,,..:...,,,,,::::::::::::,:,.,:::++,,:+......,,:,.,..,,........,......,,:::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,.,:,..,,,,,,,,    .,,,,..:..,,........,.......,:::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,.,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,::::::::::::,,::::,,,,::::,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::
,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,::,,,,,,::::::,,::,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::::
::,,::::::::::::,,,,,,::::,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::,,::::::::::::,,,,::::,,::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::::::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::,,,,,,::,,::,,::::::,::::::+:+::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++***+:++++++
::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::::::
::::::::++::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::,,::::::::::::::::::::::::++++++++::++::::::::::::::::::::::::::::::::,,,,::::::::::,
::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::+++:::::::::+:::::::::::::::::::::++::::::++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++:::::::::::::++::::+:::::::::::::::::::::::::::::+
,,::::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::++++++::++++++++::++::::++++++:::::
$,,.,+,,,,,,,,,,,,,,,,,,,..................................................................................+,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,.,+,,,,,,,,,,,,,,,......................................................................................+,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....+,..,,,,..............................................................................................+,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....+,....................................................................................................+,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....+,...................................................................................................,+,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....+,...................................................................................................,+,............................,,,,,,,,,,,,,,,,,,,,,,,
....+,...................................................................................................,+,................................,,,,,,,,,,,,,,,,,,,
....+,...................................................................................................,:,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,.+,,,,,,,................................................................. ...........................,:,........,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,
,,,,+,,,,,,,,,,,.. .,,,,,,,,....,,,,,,,,,,,.............,,..........................................,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::
,,,,+:,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::::::
:::,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::::::
:::,+:,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++**++**++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,+:,,,:,,::::,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,.,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,..,,,,,,,,,,::::,::::::::::::::::::::::
,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,...,,,:++:+*+:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::,,,,::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::,,:,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,::++:::::::
::::::::::::::::::::::::::::::::::,,::::::::::::::,,::::::::::::::::,,::::,,::::,,,,,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::,.. ..,::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: .....:+:::+
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,   ..,,,::*#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..  :  ,,:+###
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,  ,,  :+*####
::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,,,,,::::::::::,,,,::::::::,,,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::++++++++:::::,  ,   :+#####
::::::::::::::::::::::::::::::::::::,,::,,::::,,,,,,::::::::,,::::::,,::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,:,::::::::++++++::::++++++++++,.  *, .+*#***#
::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,,,,:::++++::::+++++++:::++++++++++, . .. .+#**###
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++::.      ,+*#:###
*****+++++:::::::::+++++++::::::::::::::::::::::,,,,,,,,,,,,,,::::::,,:::,,,,,,,,,::,,::::::,,::::::,,:::::::::::::::::::::::::::+++++++::+++++:+:++::++++*+***
*+*+++++++++++++++++++:+++++++++::::::++++++++++:::::::::::::::::+++::::::::::::::++::::::,,,,,,,,,,,,,,,,,,,,,:::::::::,,::,,::,,,,,,::,,:::::::::::::::::::::
++++++******++++++++++++++**++++++++***+++++++++++++++++++++++++***+++++:::+++++++++*+++::::::::::::::::::,:++++:+++++++::::::::::::::::::::::::::++::::::::::+
***************+++++******++******+++******+++++++++++*+****+++++++++++++++++**+**++++++++++++++++++++::::++++++++*+++++++:::::::::::::::+++++++++++::++++++++*
********++++++*+++*+++++++++*++*++++++++:+++++++++++++**++++++++++++++++**++++++++++++**++++++++++::++++++++***********+++++**++++++**++******************+****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::+::::::+++++::++++++++++++++++++*****************+****++**********##**#************
++++++:::+++++++++++++++++++++++++++++::++++++++++++++++++++++++::++++++::::::::::++++++++++:+++:++++++++++++++++++++****++************************************
++++++++++++++++++::::::::::::::::::::::::::++++++++::++++::::++++++++::::::::::::::::::::++++++::::::::::::::::::::::++++:++++++++++++++++++****************+*
++++++++++++++++++++++++::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::+:::::::::::::::::++++++++++++:++++++
++++++++++++::++++:+++++:+++++++++++::++++:::::::::::::::::::::::+::++++++++++::::::::::::::::::::::::::::++:+++::++::::::::::::::::::++++++::::::::::::++::::+
++:::::+++++::::::::::++::::::::::::::::++::::::::::::::::::::::::::++::::::::::::::::::::::++++::::::++::::::+++:::::::::::::::::::::::::::++::::::::::::::+++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::+++::::++::+
$,,,,,,::,,,,,,,,,,,,,,,,....................................................................................,:................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::,,,,,,,,,,,,........................................................................................,:................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......::,,,,,,,,............................................................................................::..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,:....................................................................................................:,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,:....................................................................................................:,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,:....................................................................................................:,..........................,,,,,,,,,,,,,,,,,,,,,,,
......,:....................................................................................................:,..............................,,,,,,,,,,,,,,,,,,,
......,:....................................................................................................+,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,:,,,,...... ..........................................................   ...........................,+,........,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,,,,,::,,,,,,,,,......,,,,,,,....,,,,,,,,,,..............,,............................................,,,,+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
,,,,,,::,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::
:::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,:::::::
:*:,::::,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::#*
,*:,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,.,,,,,,,,,,:+:::,,:::::::::::::,##::
,*:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,..........:++++:++:,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,+:::,:::::::::::::*##:++
,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,::::::::::::,,,,,,:,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:+++##+:,::
::,,::,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,::::::::,,,,,,::,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::++:+*#::,::::+
:::::::::::::::::::::::::::::::::::::,,,::::::::::::,,::::::::,,::,,::::,,,,::,,::,,,,,,::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::, ,::++#
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:++++*#*+*****
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:##****+*##*******
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+###******##*****##
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:###****+*##***#####
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,::::::::,,,,,,,,::::,,,,:,,,,,,,,,,,::::,,,,,,,,,,,,::::::::+++####+**#**#****#####
::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,::::::::,,::,,,,::,,::,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,:::::+::++++++++::::::+#***#*****#+*#######
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,::++++++::++++++++::++*#:**#*##**#:*##****#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++#,##******#*****####
++++++*+++++::::::::::++++++::::::::::::::::::::::,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,::,,::::::,,::::,,::::::::::::::::::::::::::::+++++++++++++++++++***+******
*++++*++++*++:++::++++++++++++:+++::::::++::++++++::::::,,::::::::::++::::::::::::::+::::::::,,,,,,,,,,,,,::::,,::::::::::,,,,,,::,,,,,,::,,:::::::::::::::::::
**++++++++****++*++++++++++++*++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++::::::::::::::,,:::::+::::+++++++:::::::::::::::::::::+::::::::::::::
****************++++++******++**++**+++******+++++++++++++++**++++++++++++++++++**++++++++*+++++++++++++:::::+++++++++++++++::::::::::::::::++++++++++++::++:++
***********+++++++++*++++++++++*+*+++++++++++++++++++++++++++++**+++++++**+*++++**++++:+**++++++++++:::++++++++*********+++++++++++++++*+++******************+*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++::::++::+::::::+++++++++:+++++++++*+++++********************+**+**********##*************
++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++:++::::::::::++++++++++++++++++++++++++**++*++***************+*******+****************
++++++++++++++++++++::::::::::::::::::::::::::::++++++::+++++:::++++++++::::::::::::::::::::++++++::++::::::::::::::::::++++++++++++++++++++++*****************
++++++++++::++++++++++::++::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::++++++++++:+**+
++++::+++++++++:++++::++++:+++++++++++:::+::++::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::++++:::+::+:::::::::::::::::::++++++::::::::::++::+
++++:::::++++++:::::::::+++:::::::::::::::++++::::++::::::::::::::::::++::::::::::::::::::::::++::::::::++::::::+++:::::::::::::::::::::::::::++::::::++:::::::
++++++::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++
$,,,,,,,,,+,,,,,,,,,,,,,,......................................................................................,+,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.+,,,,,,,,,,..........................................................................................,+,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....,,,,+,.,,,,..............................................................................................,:,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........+,....................................................................................................:,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........+,...................................................................................................,:............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........+,.................................................................................................,.,:........................,,,,,,,,,,,,,,,,,,,,,,,
.........:,.................................................................................................,.,:..........................,,,,,,,,,,,,,,,,,,,,,
.........+,...................................................................................................,+..................,,,,,,,,,,,,,,,,:,,,,,,,,,,,,
......,,.+,,,,,,................................................................  ..........................,.,+........,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::,,,,:::
,,,,,,,,,+,,,,,,,,,,.......,....,.....,,,,,,..,,..........................................................,,,,::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,::::,,:::::
,,,,,,,,,+,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:,:++++****+++
::::::,,,+,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::*:+++:+++++++++
::::+:::,+,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+**+++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,#,*+::::::+++++++
::::*,,,,:,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.,,,,,,,,,,:::**:+:::::++++++++++
,,,:*,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,..,...,...,..,+*+++++*+:....,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:*#,+::*##############
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.,,,,,:::+::::::::::::::,,,,,,::::::::::::::,,,,::,:::::,,,,,,,,,,,,,,.,+**##,::++*#########**#*#
,,,,,,,,::,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,::,,,,,,,,::::::::,,,,,,:::::::,,,::,,,,::,,,,,,,,,,,,,,::::::+#:,,,::**#**++++++*+++++
::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,::::,,::::::,,,,,,,,,,::,,,,,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::+******************
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::::+++**+++***********++*
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,::+:+**+********************
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,##**++##******####***#*****#***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,###***+#******#*******++++++++*+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,####****#***########*************
::::::::::::::::::,,::::::::::,,::::::::::::,,::::::::::::,,,,,,::::::::::,,,,::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,::,,,,,,:+#***********####################*
:::::::::::::::::::::::::::::::::::::::::,,,,,,,::,,,,,,::::::::::::::,,::::::,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,::::+**#*#*****#####################***
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,::::::,,,,::,,,,::,,,,,,,,,,::+++++*:******************######++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++*+##********#####################
::::++++*++++++:::::::::++++++::::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::::,,:::::::::::::::::::::::::::+::++::++++::+++++++++++****+++***
*+*+++***+++++++::::++++++++*+++++++++:::::+++++++++::::::,,::::::::::++:::::::::::::::::::::,:,,,,,,,,,,,,,,,,,,,::::::::::,,::,,::::,,,,:::::::::::::::::::::
****++++++++*****+*+++++++++++++*+*+++++++++++++++++++++++++++++++++**++++++::::++++++++++++:::::::::::::::::::::+::+++++++++::::::::::::::::::::::::::+::::+::
********************+++++++***++**++***++*******++++++++++++++**++++++++++++++++++**+++++++++*+++++++++++++:::::++++++++++++++++::+:::::::::::++++++++++++::::+
*************+++++++++++++++++++++++*+++++*+++++++++++*++++++++++**++++++++++**+++***+++++**+++++++++++::++++++++***********+++++++++++++**++******+***********
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++::::++::::::::::++++++++:+++:++++++++++++*************+*****++*+***********#***********
++++++++++::++++++++++++++++++++++++++++++::++++++++++++++++++++++++::::++++::::::::::::++++++++++++++++++++++++++*****+++**************+**********************
++++++++++++++++++++::::::::::::::::::::::::::::::++++++::+++++:::++++++++++::::::::::::::::::+++++++:++:::::::::::::::::::+:+++++++++++++++++++**+************
++++++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::++:::::::::++++++++++++:+
::++++::++::++++:::+++::++++++++++++++++:::+::++::::::+:::+:::::::::::::++++++++++::::::::::::::::::::::::::::++++::::::+:::::::::::::::++::++++::::::::::::+++
++++++++::::+++++:::::::::+++:::::::::::::::++++::::++:::::::::::::::::::::::::::::::::::::::::::+::::::::++::::::+++:::::::::::::::::::::::+++++++++:::++::+++
++++++++::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::++::::++::::+
$,,,,,,,,,,,,..+,,,,,,,,,...........................................................................................,+,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,..+,,,,,,,,,...........................................................................................,:,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............+,.,.................................................................................................,:,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............+,...................................................................................................,:,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............+,...................................................................................................,:.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............+,...................................................................................................,:...............,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............+,...................................................................................................::.....................,,,,,,,,,,,,,,,,,,,,,
..............+,...................................................................................................::...............,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............+,,,,,...... . ......................................................................................::.........,,..,,,,,,,,,,,,,,,,,,,,,,:::::::
......,,,,,,.,+,,,,,,,,,......,,............,,,,..................................................................,::,...,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::
,,,,,,,,,,,,,,+,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,..,,,,,,,,,,,,,,,,,::,,,,,::::::++++++++++++++++++++::::::,,:::
::::,,,,,,::,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,::,++::::++::::::::::++++++++++++++++::++++:
::::*:::::::,,+,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:::::::+:+++++::+++++++::::::++++++:::::::
::::*:,,:*,,,,+,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:,+++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++:+::::::::::::::++++++++++:::
:::+*,:::*,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................:+++++++:,. .,,:.,,,,,,,,,,,,,,,,,,,,,,,,,++*##************************+++***++**++++++:
:::::,,,,:,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,...,,,::::::::::::::+::,,,,,,:::::::::..,:#*:++*#####************************************+++
::,,,,,,::::,,,,,,,,,,,,,,,:,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::,,::::::::::::::::,,:,*+,,+*************++++**++++++*++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,:+*******************+#############**************
::::::::::::::::::::::::::::::::::::,,,,::,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::+*+:+++*++**++*+++****:::::,::::+:*****++++++++++
::::::::,,,,,,::::::,,::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::*+**********************::,::,,:::++******+********
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,##*+*********************************************+++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,*##**********+*****+++++++++++++++++++++++++++++++++++++
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,+##*******##******************++++**********+++++++++++++
::::::::::::::::::::,,,,,,,,,,,,::,,,,,,::::::::,,,,::::::::::,,,,,,::::::::::::,,,,::::::,,,,,,,,::::#*#****###################*******************************
::::::::::::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,::::,,,,,,,,,,,,,,::::#,+***##******####**************************++++******#**
::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,:::::,#.#*+++****+*#####++++++++++++++++++++++++++++++*:++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+**########****##############*************************
:::::::::+++++++:::::::::::::::++++:::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,:,,,::,,,,:::::::::::::,,,::::::::::::::::::::::::++++++++++++++++++++**++***
****+*++++**++++++++++::::++++++++++::++++::::::+++++++++:::::,,,,::::::::::::::::::,,::::::::::::,,,,,,,,::,,,,,,::::::::::::::,,::::,,:::::::::::::::::::::::
**++******++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++:::::++++++++++++:::::::::::::::::::::+::::+++++++:::::::::::::::::::::::::::::
************************++++++++**++++++++**++*******+++++++++++++**+++++++++++++++++++++*++++++++*:++++++++++++::::++++++++*++++++++:::::::::::::::++++++++++:
******************++++++*+++++++++++++*+*+++++++*+++++++++++++++*++++++*++++++++++**+++***++++++*+++++++++++::++++++++**+***+****+++++++++++++**++*************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++::++:::::::::::+++++++++++++:+++++++++**********************+*************##**#**
+++++++++++++++:::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++:::::::::::::+++++++++:+++++++++*+++++******++**********************+**********
++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::++++::::++++++++::::::::::::::::::::++++++++++::::::::::::++++:+++++++*+++*****+++**+**********
++++++++++++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::::::+:::::++++++++:::+++++++**+
++::::::++::::++::++++::++++++++:::+++++::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::++++++::++++::::::::::::::++++++++++++::::::+
++++++++++++::::++++::::::::::::++:::::::::::::::+++::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::+++::++:++++::::::::::::+::::++::++++++++++:::++
++++++++++::::::::::::::::::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::+::::++:::++
$,,.,,,,,,,,,,,,,::...,,,..............................................................................................::......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,,,,,,,,,,,,::...,,,..............................................................................................:,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.............,,,::....................................................................................................:,............,,,,,,,,,,,,,,,,,,,,,,,,,,,
................,:....................................................................................................:,............,,,,,,,,,,,,,,,,,,,,,,,,,,,
................,:....................................................................................................+,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................,:....................................................................................................+,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................,:.....................................................................................,.............,+,........,,....,,,,,,,,,,,,,,,,,,,,,,,,,
................,:.....................................................................................,.............,+,................,,,,,,,,,,,,,,,,,,,,,,,
................,:,,,,...............................................................................................,+,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,......,,,,,,,,,:,,,,,,......................,,......,...........................................................,,,,+,....,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,. .,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,..,,,,,,,,..........,,..,,,.,,,,,,,:::::::::::::::::::::::::::::::,,:::::::::::::::
::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,++::::::::::::::::::::::::::::::::++++:::::::::::::::
:+*:::*+::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::,,,,,,,,,,,,,,,,,,::::::::+:::++:+:+++++++::::::++++++:::::+:::::::::::::
,+*:,,*:,,:*:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++:++++++:::,,,,,,,,,,,:::::::::::+++++++:::::::::::::::::++++:::::::+:::::::::::
:+*:::*::::*:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,...,+++++:+::. .,::,.,,,,,,,,:++***++++++**+++++++++++++++++++++++++++++:::+:+::::::::::
::::,:::,,,:,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.....,,::::::::::::::+::,  .:#:+###*********#***+++**++++++++++++**++++++++++##*++++++::::
,,::,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:::::::::::::::::::::::,,,,.,:**********+++++++++++++:*+++++++++++++++++++::++*+:::, ,:,,
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,********************###########***++++++++++*****,:++::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:+*+::+++++++++*++*****+::::::::::*+**++++++++++++:,::++:::::::
++::::::::,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+******#***************::::,,:,:++*****++++++++++++:++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+**************++**************++++****+++++++++*********+++:::,:,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,#+*******+++++++++++++++++++++++++++++++++++++++++++:,:+++++::,,,,
::::::::::::::::::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,******###*************************+++++++*********++********++:::,.
::::::::::::::::::::::,,,,,,,,::,,::,,,,,,,,::+:,,::,,::::::::::,,,,::::::::::::::,,,,,:::::#****#################**************************************+++++,.
::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,::,,,,,,#:*******+####*+++********++++++++++++++++++++++****+++*+++*+**+:, 
::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,#:++******#**##+++++++++++++++++++++++++++**+++******::+++++++++,. 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,+**##*****************##***********************************++++:,,.
::::::::::++++++++:::::::::::::::++++:::::::::::::,,::::,,,,,,,,,,,,,,::,,::::::,,,,:,,,,,,,,,,,,,,,::,,::::,,::::::::::::::::::::::++++++++:++++++++++++++:,..
******+*++++++*+++++++++::::::++++++++::++++:::::::+++++++++::::,,,,::::::::::::::::::,,,,::::::::::,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::
*****+*****+++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++*+++++*+++:::::+++++++++++++:::::::::::::,:::::::+:::+++++++:::::::::::::::::::::::::::
***************************+++++++**+++++++++++++******++++++++++++++++++++++++++++++++++***++++++++*++++++++++++::::::+++++++*++++++++::::::::::::::++++++++++
********************++++++++++++++++++++++++++++++*+++++++++++++++**+++++*+++++++++***+++***++++++*+++++++++++::++++++*+***********++++++++++++++*++***********
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++::++::::+::::::+++++*+++++++++++++++++**********************+*************##**#
+++++++++++++++++:::::++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::+++++++++:+++++++++*+++++******++***************+***************
++++++++++++++++++::++++++++::::::::::::::::::::::::::::::++::++::++++::::::++++++::::::::::::::::::::++++++++++::::::::::::++++++++++++**++*****+++**++*******
++++++++++++++++++++::++++::++::::::::::::::::::::::::::::++::++::::::::::::::::::::::::::::::::::::::::++++::++::::::::::::++::::+++++:::::++++++++++:+++++***
++++::::::++::::++::++::::++++:+++:::+++++::::::::::::::::::::::::::::::::::::::++++::++++::::::::::::::::::::::::++++++++::++++::::::::::::::++++++++++:::::::
++++++++++++++::::++++::::::::::::++:::::::::::::::+++++::::::::::::::::::::::::::++::++::::::::::::::::++++:::::+++::++:++++::::::::::::+::::++::++++++++++:::
++++++++++++::::::::::::::::::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::::::::::::::::+::::++:::
$..,,,,,,,,,,,,,,,.+,.,,,..............................................................................................,,+,.,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....,,,,,,,,,,,,.+,.,,,...............................................................................................,+,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.............,..,.+,...................................................................................................,+..,..........,,,,,,,,,,,,,,,,,,,,,,,,,
..................+,...................................................................................................,+..,..........,,,,,,,,,,,,,,,,,,,,,,,,,
..................+,...................................................................................................,:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................+,...................................................................................................,+,...,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................+,......................................................................,............................,+,............,,,,,,,,,,,,,,,,,,,,,,,,,
..................+,...................................................................................................,+,..............,,,,,,,,,,,,,,,,,,,,,,,
..................+,,,,,................................................................ ..............................,:,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,........,,..,,,.+,,,,,..,,............................................................ .............................,,:,....,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,+:,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,....,,,,,,,,..........,,,,,,::::::::::::::,:::::::,,,,,,,,,,,,:::::::::::::::::::::
::::,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::++:,,,,,,:::::::::::::::::::::
::,*:,,:*::::::::,+,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,:::,,:,::::::::+::+++++++:::::++::::::::::,,,,,,,,:::::::::::::::::
:::*:,,:*:,,:*,,,,:,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*+::***+++::::::::::::::::+:::::::::::::::+++++++::::::,,,,,,,,,,:,::::::::::::
:::*+:::*::::*,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,....,:++++++::,..+****++++++++++++++++::::::::::::::::::::::::::,,,,,,,,:,++:::::::::::
:::::::::,,,,:,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,.....,,:::::   .,*##*********#*********++++++++++++*+++++++++***+++++++::,,,,::,,:::::::
,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,***++++++++++++**++++++:*++++++++++++++++++::+:++::+::, ,,,,,,,,,,:,,::,
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,:*******+++****++++****##**##****+++++++++++++++,++::::,,:::::::::::::::::
++::::::::::::++::::::::::::::::++::+:::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:++++++++++++++++*++:::,,::::**++*++++++++++++,,:++:::::::::::::::::::::
::++++::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:::**##********+********+,,,,,,:,::*****++**+++++++++:+++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,:+*************++******++++++++++++++++++++++++++****+++++++:::,,,,,,,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,+*******++++++++++++++++++++++++++::++++++::::::::.:**+++++*:,,,,,,,,,,,,,,::
::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::****###****************************************++++****++++**,,,,,,,,,,,::,::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,:::::::::,,::::::::::::,,::::::::::::**#########*********************************************++++*:::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::,:::::,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:**+**++###**++++++++**++**+++++++++++++++++:****+::+++++++++*+::::++++++++:+,
::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,:++*****##*********************************++******+++*++++++**+:::+++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:*************++******************************++++********++:+++::++++++++++++,
:::::::::::::+++++++::::::::::::::::+++:::::::::::::,,::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++:+++++++++++++++++::.
++******++++++**++++++++::::::::++++:+++::++++::::::++:++++++:::::,,,,::::::::::::::::::,,,,::::::::::,,,,,,,,::,,,,,,::++::::::::,,:::::::::::::::::::::::::::
******++****++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++:+++++++:::::++++++++++++::::::::::::::::,::::+::::+++++++:::::::::::::::::::::::::
****************************++++++++**++++++++++++*******++++++++++++++++++++++++++++++++++++*++++*++++:++++++++++++::::++++++++*+++++++::::::::::::::::+++++++
**********************++++++*+++++++++++++++*+:+++++*+++++++++++++++*+++++**++++++++****+++***+++++**+++++++++++::++++++++***********+++++++++++++++++****+****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++::++:::+:::::::+++++++++++++++++++++++************************************#**
++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::+++++++++++++++++++*+++++**********************+**************
++++++++++++++++++++::++++++::::::::::::::::::::::::::::::::::::::::++++::::++++++++:::::::::::::::::::+++++++:+++++::::::::::++++++++++++**++*****************
++++++++++++++++++++++::++++::++::::::::::::::::::::::::::::::::++::++::::::::::::::::::::::::::::::::::++++++::++::::::::::::++::::+++++:::::++++++++++++++++*
++++++::::::::::::::::::+:::++++:+++:::+++++::::::::::::::::::::::::::::::::::::::::++::++++::::::::::::::::::::::::::++++++::++::::::::::::::::++++++::++++:::
::++++++++++++++::::++++::::::::::::++:::::::::::::::+++::::::::::::::::::::::::::::++++++:::::::::::::::+++:::::::+++::++:+++::++::::::::++::::++::++++++++++:
++++++++++++::::::::::::::::::::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::+++++++:
$:,..,,,,,,,,,,,,,,,.+,....................................................................................................+,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,.....,,,,,,,,,,,,,+,....................................................................................................+,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:.................,.+,....................................................................................................+,..........,,,,,,,,,,,,,,,,,,,,,,,,,
:..................,+,....................................................................................................+,..........,,,,,,,,,,,,,,,,,,,,,,,,,
:...................:,...................................................................................................,+,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:...................:,...................................................................................................,:,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:...................:,...................................................................................................,:,..,,......,,,,,,,,,,,,,,,,,,,,,,,,,
:...................:,...................................................................................................,:,..............,,,,,,,,,,,,,,,,,,,,,
:..................,+,............ ........................................... ..........................................,:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
:,..........,,..,,.,::,,,,........ ...................................................................................,,.,:,..,,,,,,,,,,,,,,,,,,,,,,::::::::,,:
:,,:,,,,,,,,,,,,,,,,+,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:::::::::::::::::::::
:,,:::,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++:,::,,,,,,,,,,,,,,,:::::::::::::::::::::
*+:::*+::,*::::::::,+:,,:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,:::::::+:,:::++++:::::::::::::::+:,,,,,,,,,,,,,,,,,,,:::::::::::::::::
*+:::*+:,,*:,,,*,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::+:::::::::::::++::::::::::+,:,,,,,,,,,,,,,,,,,,,,,,:,::::::::::
++:::*+:::*:::,*,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,..,********++++++++++++++::::::::::::++:::::::::::+,,,,,,,,,,,,,,:,,,,,:,++:::::::::
,,:::::::::,,,:,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,   *####**************++++++++++++++*+++++++++#*+++,+++*++,,,,,,,,,,,,,,,,,,::,,:::::
,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:***+++++++++++++++++++:*+++++++++++++++++++++:++:::++:,. :,,::,,::,,,,,,,,,,,,,:,,:
::::::::::::::::::::::::::,,:::::::::::::::::,::,,,,,,,,,,::::::,,,,,,,,:,+*********++*+++++**************+++++++++++++++,+*::,,,,,,,,,,,,,,,,,,,,:::::::::::::
::++++::::::::::::::+:::::::::::::++::+:::::,,::::,,::,,,,,,,,,,,,,,::,,,:++,:*+++++++*++*****::::,,::::*+++*+++++++:::::.,:++++,,:::::::::::::::::::::::::::::
::::::++::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,::+******+++++++*******+,,,,,,,,::********++++**++*:+++++++:,::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,::************++++++++++++++++++++++++++++++++++++++++++++*::*,,,,,,,,,,,,,,:::::::::::::
::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,+****##**************++++++++++++++++++++++++++:,,:**++*++:+*:,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::,,::,,,,::::::,,:::::::::::::::::::::::::::::::::+**####************************++++++++**************+++++++*+,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::**#######************************++++++**************+++++++*+:,,,,,,,,,,::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,::++**++*##+*+:+++++++++++++++++++++++++++::+****+,,:+++++++:+**+::::++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,:,+*##*************************************************++++::++*++::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::++++++++++++++++++++++**************++++**+++++:::++++++++:::++::::::::+::+++++++++++++++
::::::::::::::::++++++::::::::::::::::+++::::,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::+:::::++++++++++++++++++++:
++++******++++++**++++++++++::::::++++++++::::++::::::++++++++++::::,,::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,:+++::::::::,,:::::::::::::::::::::::::
**************++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++:+++++++::::::++++*+++++++::::::::::::::::::::+::+:+++++++:::::::::::::::::::::::
******************************++++++++++++++++++++++*******++++++++++++++++++++++++++++++++++***++++*++**:+++++++++++::::::+++++++*++++++++::::::::::::::++++++
************************++++++*+++*+++++++++++++:+++++*+++++++++++++++*+++++**++++++++****+++***+++++**++++++*++++::+++++**+*****+*****+++++++++++++++++****+**
:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++::++:::+:::::::+++++++++++++++++++++++************************************#
++++++++++++++++++++::::::++++++++++++::++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::+++++++++++++++++++*+++++***********************+***********
++++++++++++++++++++++:::+++++++::::::::::::::::::::::::::::::::::::::++++::::::++++++::::::::::::::::::++++++++:+++++++::::::::++++++++++++**++***************
++++++++++++++++++++++++++++::::++::::::::::::::::::::::::::++::++++::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::++::++++::+:++::+++++++++++++++
++++++++::::::::::::::::::+::+++++++++:::+++++::::::::::::::::::::::::::::::::::::::++++::++++::::::::::::::::::::::::++++++++::++:::::::::::::::::+++++::+++++
++::++++++++++++++::::::++::::::::::::++:::::::::::::::+++::::::::::::::::::::::::::++++++++::::::::::::::::++++:::::+++::++:++++:++:::::::::++++++++++++++++++
++++++++++++++++::::::::::::::::::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::++:++++++
$,.:,..,,,,,,,,,,,,,,..::.,.................................................................................................,,:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..:,.....,,,,,,,,,,,..::.,.................................................................................................,,:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..:...................,:..................................................................................................,.:,..,.....,,,,,,,,,,,,,,,,,,,,,,,,,
..:...................,:....................................................................................................:,..,.....,,,,,,,,,,,,,,,,,,,,,,,,,
..:....................:..................................................................................................,,+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..:,...................:..................................................................................................,,+,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,...................:...................................................................................................,+,........,,,,,,,,,,,,,,,,,,,,,,,,,
..,....................:...................................................................................................,:,............,,,,,,,,,,,,,,,,,,,,,
..,,..................,:.,,,...............................................................................................,:,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,:,..............,,..,:,,,,........................................,.....................................................,,+,...,,,,,,,,,,,,,,,,,,,,,:::::::::
:::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,,,,,,,,,,,,::,,,,,,,,,,,:::::::::::::::::::::::
:,:,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,::,,,,,,,,,,,:::::::::::::::::::::::
:::*::::*:::++::::::::::,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::::::,::::::::::::+,,,,,,,,,::,,,,,,,,,,,,,,,:::::::::::::::::::
:::*::::*:,:*+,,:*:,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++:::::+++::::::::::::::++::::::::+,+,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::,,,::::::::
::++::::*:::*+,,,*:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,*#**********++++++++++++++++::::::::::::::::::,::,,,,,,::,,,,,,,,,,,,,,,,,,,::::,,:*:::,:::
::::::::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,., **###***************++++++++++++*++++++++:***++:,:+**+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:****++++++****++**++++*+++++++++++++++++++:+:*+:,,::++:,..::::::::::::,,::::::,,,,,,,,,,,,,:,
::::::::::::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,+*++******+++++++++*++++++*****++++++++++++++: :++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
++++++:++++:::::++++++++::::::::::::++::++::::::::::,,,,::,,,,:::+::+++++++++:+****++,::,,::::+++++:+++++++++:.,++:++:,,,,:::,:::::::::::::::::::::::::::::::::
++::::++++::++::::,,,,,,,,,,,,,,::::::::::::::::::::::::::,,:::+*#**::::::::+******+,,,,,,,,::++++++++++++++*+:+++:++++::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:++**********++++++++++++++++++++++++++++++++****+++++++++:::*+,,,,,,,,,,,,,,,,,,,,:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:+*********************+++++++++++++++++*******+++**++++*::+:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::,,,,::::,,::::::,,::::::::::::::::::::::**######******************++++++++++++************+++++++:+:**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::,,::**#####***************++++++++++++++++************++++++++++**+,,,::,,,,,,,,,,,,,,,,::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:++*++*****++::++++::::++++++::::::::+:::++++*+:,++++++++++++**+,,,::,,::::::::++++++::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,*#####*********************************++++++*******++++::::+**+,,,,,::::::++::++++++++++++*++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++++++++****++++++::::::::++**++::::::**+,,,,,::::::::::+++++++++++++++++++
::::::::::::::::::++++++::::::::::::::::+++:::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::::::::::::::::::::::::::::::::+++++++++++++++++
:::+++++****++++++++*+++++++:::::::::+::+:++++::++:::::::+++++++++:::,,,,,::::::::::::::::::,,,,::::::::::,,:,,,,,::::,,,,,:++++:::::::::::::::::::::::::::::::
+++*************++++++++++++++++++++++::::++++++++++++++++++++++++++++++::++++*+:+++*+++::::::++++++++++++:::::::::::::::::::::+:::++++++++::::::::::::::::::::
**************++*****************++++++++++++++++++++++******++++++++++++++++++++++++++++++++++++***++++++*+:+++++++++++:::::++++*++*++++++++:::::::::::::::+++
**************************++++++++:+*+++++++++++++++++++**++++++++++++++**++++**+++++++++****+++****++++**++++++++++::++++++*++***********+++++++++++++++++****
:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++::+::::::+++++++++:+++:+++++++++**********************+************
+++++++++++++++++++++++:::::++::++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::+++++::++++++++++++++++++*********************************
++++++++++++++++++++++++:::+++++++::::::::::::::::::::::::::::::::::::::++++::::::++++++::::::::::::::::++::++++++++++++++::::::::++++++*++*++**++******+******
++++++++++++++++++++++++++::++++::++::::::::::::::::::::::::::::++::++::::::::::::::::::::::::::::::::::::::++++++:::+::::::::::::++++++++::++::+++++++++++++++
++++++++++::::::::::::::::::::::++++++++::::++::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::::::::::++++++::::++::::::::::::++++++++++++:
++++::++++++++++::++:::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::++++++++::::::::::::::::::::::::++++++++:+++++:+++:::::::++++++++++++++++
++++++::++++++++::::::::::::::::::::::::::::,:::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::+++++++
$,,,,..,:....,,,,,,,,,,,,...+,,..................................................................................................,+,..,,,,,,,,,,,,,,,,,,,,,,,,,,
,,.....:......,,,,,,,,,,...+,,..................................................................................................,+,..,,,,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:....................................................................................................,+....,,,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:,...................................................................................................,+....,,,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:,.................................................................................................,,,+...,,,,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:,.............................................................................................,,..,,,+...,,,,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:,.................................................................................................,,,:...,,,,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:,.................................................................................................,,,:......,,,,,,,,,,,,,,,,,,,,,,,
.......:...................:,............ .....................................................................................,::......,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,:...................:,,,,...... ........................................................................................,::......,,,,,,,,,,,,,,,,:::::::
,,,,::,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,..  .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,..................,,,,,,,,,,,,,,::,,,,,,,,,,:::::::::::::::::::
,,:::,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+:,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::::::::::::::
::++:::*+:,,*:::,+:::::,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::+,,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::::::::::::::::::::::
::*+:::*+:,,*:,,:*,,,:*,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++::::::::::::::::::::::::,,*+++:::,,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,:::,,,,,,,,::::,,,,,:
::+::::*+:::*+:::*,,::*,,,.:,,,,,,,,,,,,,,,,,,,,:,*###**####**************++++++++++++::::+:::::,,:+,.,,::,,,,,,,,,,,,,,,,,,,,:,+:,,,,,,,,:::,,,,,,,::::,,,*+:+
::::::::::::::::::,,,,:,,,,:,,,,,,,,,,,,,,....,,,,********************++**++++***++++++++***+++::,:,:+*++++:,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,:,****++++++++++++++++++*+++++++++++++++++::::++::,,,:::++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
::::::::::,,::,,,,,,::::,,::::::,,,,,,::::::,,,++++*++++++++++++++++:++++++*++++++++++++:::.:+::,,,:::,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++++++++++++++++::::++++++++::::::::::::++++++++++*********+*+++++::,:,:,::+++++:++:++++++,.,::+:::::,::,,:::,::,,,,,,:::::::::::::::::::::::::::::::::::::::::
++++++::::+++:::++:::,,,,,,,,,,,,,,,,,::::::,,**********++*******+++:::::::+++++++::,,,,::+***++++++::::::,+*::::::::::::::::::::::::::::::::::::::::::::::::::
++::::::::::::::,,::::::::::::::::::::::::::,:+****+****+++++++++++++++++++++++++++++++++::++++++++*+:::+++**,,,,,,,::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::::::::,,::::,,,,::::,,,,,,:::::::::::::+**#*******++**+++++++++++++++++++++++++++++++*+++++++*++::+++*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::,,,,::::,,,,,,,,,,,,::,,::::::,,,+*######*************++++++++++++++++**************++:++++++++*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,:*****##**++++++++++++++++++++++++++++++***+++++++**++:++++++++*++::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::+
::::::::,,,,,,:::::::::::::::::::::::::::::::*********************++++++++++++++++++++++++++++++++,+:::++++*++::::,,,,,,,,::::,,,,::::::::::::::::+++++:+++++++
::::::::::,,::::::::::::::::::::::::::::::::******++++********++++++++++++++++++++++++++********++:+:::::::*++::::,,,,,,,,,,::,,,,,,::::::::++++++++++++++++**+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::,,,,,,,,,+++++++,+******+++:,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++++++++++++++
::::::::::::::::::::::::::+:::::::::,,,,::::++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::+:::::::::+++++++++++
::++::::+++++*+*++++++++*+++++++:::::::::+:::+++::::::::::::::::++++::::,,,,,,::::::::::::::::::::,,,,:::::::::::,,,,,::::::::::++++:::::::::::::::::::::::::::
++++++++********++**++++++++++++++++++++++:::::+++++++:+++++++++++++++++++++:::::+++:::+++++::::::++++++++++++::::::::::::::::::::::::::+++++++::::::::::::::::
++++**********++**++*****************+++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++****++**++*+:+++++++++++::::::++++++**+++++++::::::::::::::
++*****************************+++*+++++++++++++++++++++++++**++++++++++++++**++++**+++++++++****+++****++++**++++++***++:++++++**++**********+++++++++++++++++
++++::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++:+++++++:::::+::::+++**+++:+++:+++++++**+******************************
++++++++++++::++++::+++++++:::::++::::++++++++::++++++++++++++++++++++++++++++++++++::++::::::++:::::::::+++++++++++++++*+++*+++++*****************************
++++++++++++++++++++++++:+++::::++++::::::::::::::::::::::::::::::::::::++::++++::::::+++++++:::::::::::::::++++++++++++++++++++::+++++++++++*++++**********+**
++++++++++++++++++:+++++::++++::++++::::::::::::::::::::::::::::::::++::++::::::::::::::::::::::::::::::::::::::++++++++:+++::::::::::++++::+++++++++++++++++++
++++++++++++++::::::::::::::::::::::++++++++::::++::::::::::::::::::::::::::::::::::::::::::++::::++++::::++++::::::::::::::::++++++::::++::::::::::::++++::+++
++++++++::::++++++++::++:::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::++++++++++::::::::::::::++::+:::++++++++++++++:+++::::::::++++++++:++
++++++++++::++++++++::::::::::::::::::::::::::::::::,,::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::+++++++:++::++++++::++++::::::++::::++::++::+++
$,,,,,,..,:....,,,,,,,,,,,,,,.,:....................................................................................................::....,,,,,,,,,,,,,,,,,,,,,,
,,,,.....:......,,,,,,,,,,...,:....................................................................................................::....,,,,,,,,,,,,,,,,,,,,,,
.........,...................,:...................................................................................................,::....,,,,,,,,,,,,,,,,,,,,,,
.........,...................,:...................................................................................................,::....,,,,,,,,,,,,,,,,,,,,,,
.........,....................:...................................................................................................,:,...,,,,,,,,,,,,,,,,,,,,,,,
.........,,...................:.............................................................................................,,,,..,:,...,,,,,,,,,,,,,,,,,,,,,,,
.........,,...................:.............................................................................................,,,,..,:,...,,,,,,,,,,,,,,,,,,,,,,,
.........,....................:...................................................................................................,:,....,,,,,,,,,,,,,,,,,,,,,,
.........,,..................,:................ ..................................................................................,+,,...,,,,,,,,,,,,,,,,,,,,,:
..,,,,,,,,,..................,:.,,......... ..................................................................................,,..,+,...,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,... ..,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,.......,,,....................,,,,,,,,,,,,,,,+,,,,,,,,:::::::::::::::::::
,,,,,,,,,::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+::,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,:::::::::::::::::::
+::::*::::*:,::*::::+:::,:,,:::,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::::::,,:::::::+:,,*,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,:::::::::::::::::::
+::::*::::*:,,:*,,:++:,,+:,,,,:,,,,,,,,,,,,,,,,,,:::::++::++++++++::::::::::,::::::::::+,,,+,,::+++::+++++::,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,::::,,,,,:::::::::,
:::::*::::*::::*:::++:::+:,,,,,,,,,,,,,,,,,*########******************++++++++::,:+::::::,,,,+:::::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,+,,,,,,::::::,,,,::::::::,:*
::::::,:+:,::::::::::,,,::,,,,,,,,,,,,,,,,:*******++++++++**++++**++**++++++****+***+++:+,,,,,++++++::::,,::,::,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,::::::::,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***+++++++++++++++++++++++++:++++::++++++:,++::,,,,:::+*:::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
::::::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,+++++*++++++++++++++::+::+++++++++++++:::::.:+::::::::::,,::,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,
++++++++++++::++++::::::++++++++::::::::********+***+***+*::::,,,:::++++++++::::++,.:::+++::::::::,,,,:::,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::++++++::::::++::::::::,,,,,,,,,,,,,,::*******+++++++++++++++:::+:+++++++++++++++++**++++++*::::::+:+*::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++::::::::::::::,,:::::::::::::::::::*******++++++++++++++++::++::::::++::+++++::+++++++++*+++++++***:,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,::::::,,,,,,,,,,,,::::,,,,::,::*##********+++++++++++++++++++++++++++++++++*++++++:+*+++::+++*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:*##**#*************++++++++++++++++++++++********++::+++++++++**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::,,,,::::::::,,,,,,::::,,,,:+***#***+++++++++++++++++::::::::::++++++:,:++++++++:+++++++++**+:,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,:::::::
::,,::::::,,::,,:::::::::::::::::::::,********************++++++++++++++++++++++++++++++++:.+::::++++***,,,,,,,,::::,,,,,,::::::::::,,::::::::,:::::+++++++++++
:::::::::::::::::::::::::::::::::::::::+*++++++++++++++++++++++++++++++++++++++++++++++++++,::::::::+**+,,,,,,,,::::::,,,,,,,,::::,,,,::::::::::+++++++++++++++
::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::,,,,::,,::::,,,,,,,,::+++++++:,:++++****+:,,,,,,::::::,,,,::::,,,,,,,,,,,,::::+++++++++++++++++++
::::::::::::::::::::::::::::++::::::::,,,,,,::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
++::++::::::++++++**++++++**++++++++:::::::::+::++++:::::::::::::::+++++::::,,,,,,::,:::::::::::::,,,,,,,,,,::::::::,,,,::::::::::::+++::::::::::::::::::::::::
++++++++++********++**++++++++++++++++++++++:::::+++++++++++++++++++++++++::+++::::::+++:++++++:::::::++++++++*+::::::::::::::::::::::+::::+++++++:::::::::::::
+++++++++*******+++++++***++++********++++++++++++++++++++*+++****++++++++++++++++++++++++++++++++++++++**++***+++++++++++++++::::::++++++++*+**++++:::::::::::
++++******************************+++++++++++++++++++++++++++++**+++++++++++++++++++++****++++++****+++****+++**++++++**+++++++++++*+++****+*****++++++++++++++
++++++:::::+++++++++++++++++++++++++++++++++++++::++++::++++++++++++:+++++++++:+++++++++++:+++++++++++::++:::+++**++++++++++++++**+****************************
++++++++++::::::++:::::::+++::::::++::::++++++++::::++++++++++++++++++++++++++++++::++++++++::::++::::::::::+++++++++++++++*+++*+++++**************************
+++++++++++++++++++++++++++++++::::+++++:::::::::::::::::::::::::::::::::+++++::++++::::++++++++::::::::::::::+++++++++++++++++++++++++++++++++****++**********
++++++++++++++++++++++++++::++++::::++::::::::::::::::::::::::::::::::++::++::::++::::::::::::::::::::::::::::::::++++++++++++::::::::::+++++++++++++++++++++++
++++++++::++++++:::::::::::::::::::::::+++++:+::::::::::::::::::::::::::::+:::::::::::::::::::++::::::++::::++++::::::::::::::::++++++++::++::::::::::::+++++++
++++++++::::::++::++++::+++:::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::++++++++++::::::::::::::++++::::++:+++++++++++++++++++++::+++++++++
++++++++::::::::++++++++::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::+::++++++::+++++++++++++::+++++++++
$,,,,,,,,..,.:,......,,,,,,,,,,,,:,................................................................................................,,,.::.,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,....:,.....,,,,,,,....,,,:................................................................................................,,,.:,.,,,,,,,,,,,,,,,,,,,,,,
,,..........:,..................,:..................................................................................................,.::.,,,,,,,,,,,,,,,,,,,,,,
............,,..................,:....................................................................................................+,.,,,,,,,,,,,,,,,,,,,,,,
............,....................:..................................................................................................,,+,.,,,,,,,,,,,,,,,,,,,,,,
............:...................,:..........................................................................................,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,
............:...................,:............................................................................................,,,,,,.,+,.,,,,,,,,,,,,,,,,,,,,,,
............,...................,:...................................................................................................,:,.,,,,,,,,,,,,,,,,,,,,,,
............,,..................,:....,..............................................................................................,:,..,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,..................,:,,.,,......   ....................................................................................,,+,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.   ,,,,,,,,,,,,,,,,,,..,,,..,,,........,,,,........,,,,....................,,,,,,,,,,,,:,::,,,,,,:::::::::::::::::
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::
:::+::,:*,:::*,,::*,::,:::::::,,::,,,:,,,,,,,,::,::::::::::::::::::::::::::::::::,:*,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,,,:::::::::::::::::::::
:::+::::*::::*,,::*:,,*+,,,+:,,,::,,,,,,,,,:::::::+++++++++++:::::::::,:::::::::+:,,,*,,,,,,,,,,,,:+++++++++++::,,,,,,,,,,,,,,,,,,,,:::,::::::::::,,,,,,,::::::
::::::,:*::::*::::*,:,++,,,*:,,,,:,,:*############****************++++++::++:::::+:,,,,+....,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::::::,,,,,,:::::::
:::::::::::+:::::,:::::,,,,:,,,,,,,,+*****++++**++++++++**++++++*+*+******+*++++:::,,,,,+:::::..,:::::::++::,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::,
::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,***********++++++++++++++++++++++++:::++:,++:::,,,,,::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::::::::::::::,,,,,,,,,,,,,,,,,,,,+++++++*++++++++++::,::,::++++++++++++::::,,+:::::::::::,,,:,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::++++++++++:::+++::::++++++++++*************+**++:,,:,:,::++++++++++++++:,,::+++:::::::::::,,,,,,,,,,,,,,::,,::,,:::::::::::::::::::::::::::::::::::::::::::
::::::::++::::::::::::::::::,,,,,:*******+++++++++++++++++:+:++++++++++++++*****++++++++:::::+:+**,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++::::,,::::,,,,::::,,,,:+**************+++++++++++++++++++++++++:,,+++++++++*+:+++++++**#:,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**#************++++++++++++++++++++++++++++****++++:++++++++++***:,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::,,::,,::::,,,,,,,,,,,,,,,,:***************++++++++++++++++++++++++++******++++++++++++++++*+:,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::,,::::::::,,,,,,:+*+***+*+++++++++++++++++++:::::::::+++*::.+++++++::,++++++*+++++::::::,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,:::
::::::::::::,,,,::::::::::::::,:****++++++++********++++++++++++++++++++++++++++++++::,:::::++++*+:::,,,,,,,,,,,,,::::::,,,,::::::::::::::::::::::::::::::++::+
::::::::::::::::::::::::,,,,::::::+++:::++::+++++++++++++++++++++++++++++++++++++++:::::::::::++*+:::,,,,,,,,,,,,,::::::,,,,::::::::,,,,::::::::::+++++++++++++
::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::+:,:,,++**++++++,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,::::::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::,,,,,:::::++::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
++++:::+::::::+++++++++++++++*++++++++:::::::::::::++:::::::::::::::::++::::::,,,,,,::::::::::::::+:,,::,,,,::,,::::::::::::::::::::::++++:::::::::::::::::::::
++++++++++++++****+**++++*+++++++++++++++++++++:::::++++++++++++++++++++++++:::::::::::+++:+++++++:::+::+++++++++++:::::::::::::::::::::::::+:++++++:::::::::::
++++++++++++++*****+++++++**++++++******+++++++++++++++++++++++++***++*+++:+++++++++++++++++++*+++++++++++++**+***++*+:+++++++++::::::::++++++**+***++++:::::::
****++++****************************++++++++++++++++++++++++++++++**++++++++++++++**++++****++++++*****++*****+++**+++++****++++++++++*+*+**********+++++++++++
**++++++++::::++++++++++++++++++++++++::++++++++++::++++::++++++++++++++++++:+++++++++++++++++++++++++++::++:::+++***+++:+++++++++++++*************************
++++::++::::::::::::::::::::::++::::::::::::++++++::::++++++++++++++++++++::++++++++++::++++++::::::++:::::::::+++++++++++++++++++*+++*************************
+++++++++++++++++++++++++++++++++:::::++++::::::::::::::::::::::::::::::::::::++::++++++++::++++++++++::::::::::++++++++++++++++++++++++++++++++++****+********
++++++++++++++++++++++++++++::::++:::+++::::::::::::::::::::::::::::::::::::::++::::::::::++++::::::::++:::::::::::::+++++++++++++::::::::++++++++++++++++++**+
++++++++++::::++::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++::::++::::::::::::::::++++++++:::+++::::++::::+++++
++++++++++::::::::++::++++:::::::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::+++++++++:::::::::::::::++::::++++++++++++++++++++++++++:++++++
++++++++++::::::::++++++++::::::::::::::::::::::::::::,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::++++++++++++++:++++++
$,,,,,,,,,,,,..,:........,,,,,,....,:,,............................................................................................,,,,,,,::.,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,.....:......,,.,........,:,,............................................................................................,,,,..,:,.,,,,,,,,,,,,,,,,,,,
,,,,...........,..................,:,...................................................................................................,:,.,,,,,,,,,,,,,,,,,,,
,,,,...........,...................:,...................................................................................................,+,.,,,,,,,,,,,,,,,,,,,
...............,...................,,...................................................................................................,+,,,,,,,,,,,,,,,,,,,,,
...............:...................,,.............................................................................................,,,,,,,+,,,,,,,,,,,,,,,,,,,,,
...............,...................,,.............................................................................................,,,,,,,+,,,,,,,,,,,,,,,,,,,,,
...............,...................,,.................................................................................................,,,+,.,,,,,,,,,,,,,,,,,,,
...............,...................:,.................................................................................................,,,+,.,,,,,,,,,,,,,,,,,,,
,,,,......,,,,,,,................,.,:.,,......... ..................................................................................,,..,+,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,::,,,,,,,,,,..,,,,,,,,:,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,....,,,,......,,,,,,......,,,,,,..................,,,,,,,,,,,,,,,+,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,.::,,,,,,:::::::::::::::::::::::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,:::::::::::::::
:+:,::+::::*,,::*,,,:*,,::::::,,:,,::,,,,:::,:::::::::::::,:::::::,:::::::+,,:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,:::::::::::::::::::
::+:::+::::*::::*,,,:*,,,+:,,,+:,::::,:::::::+++::++++++:::::::::::::::::::+:,,,+,,,,,,,,,,,,,,,,,,,,,:+++++++++++::,,,,,,,,,,,,,,,,,,,,:+,,:::::::::,,,,,,,:::
,:::::+:::,*::::*::::*::,*:,,,+:##########********************++++++++:::::+::,,,,:,,,,,,,,,,,,,,,,,,::::::::::,,,,,:,,,,,,,,,,,,,,,,,,,:+,,:::::::::,,,,,:::::
,,::::::::::,:+,,:,,:::::+:,,,:+********+*++++++++++++++++++*+++++**+*++::::+,,,,,,+::::,...........,:::::+++++:,,,,,::,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,:::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,************++++++++**++++++++++++++::+:,++:::::,,,,::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,
:::::::::::::::::,,,,,,,,,,,,+::****++++++++++::,,::,,++++++:++++++++,.,++::::,,::::::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,::,,,,,,,,,,,,,,,,:::
::::::::++++++++++::++++:::::****+++**++*****+::,,,,,::++++++++++++++:::+++++:::::::::::,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++::::::::::::::+*******+++++++++++++++++:+:++++::::++++++++++++++:+*::+++::++++*:,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++++::::::,,,,,,::,,::+*************++++++++++++++++++++++++++:,**++++++++*+++++++++****,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,:,*#**************++++++++++++++++++++++++++**++++++:+*+++++++++****,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::,,,,,,,,::,,,,,,,,:,+*******++++++++++++++++++++++++++++++++++++++++++,:++++++++++***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::,,,,,,,,::::******++++++++++++++++++++++::++:::+++++:,++++++:+:,++++++**++++*+:::,,,::::::::::::::::::,,,,::,,,,::,,,,,,,,,,::::,,,,,,,,,,,,:::
::::::::::::::::,,,,:::::::+*++++++++:+++++++++++++++++++++++++++++++++++++++:,,::::::::++++++::,,,,,,:::::::,,,,,,,::::::::,,::::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::+++++:::::::::++++++++++++++++++++++::::+++++++:::::::::::::++++:::,::::::::,,,,,,,,,,::::::::::::::::::::,,,,:::::::::++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::,,,,+++++++++:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,::::::+++++++++++++
::::::::::::::::::::::::::::::::::+:::::::::,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::++::+:::+++
++++++++:::::::::::+++++*++++++++*++++++:::::::::::::::+::::::::::,::::::+++::::::,,,,,,::,,::::::::::::,,::,,,,,,:::::::::::::::::::::::+++++:::::::::::::::::
++++++++++++++++++******++**++++++++++++++++++++++::::::++++++++++++++++++++++++::++:::::::+:::+++++++::++::++++*+++++:::::::::::::::::::::::::::+++++++:::::::
*+++++++++++++++++****++++++++**++++++*****+++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++****++****++++++++++++++::::::+++++++**+****+++::::
******+++++++***************************+++++++++++++++++++++++++++++*++++++++++++++**++++++****++++++****++*****+++**++++++****+++++++++*+++***********+++++++
****++++++++::++:+++++++++++++++++++++++++::++++++++::::++::::++++++++++++:+++++++++++++++++++++:+++++++++++::++:::+++**++++++++++++++**+**********************
++++++++::++::::::::::::::::::::::::::::++::::::::++::::::++++++++++++++++++++++++++++++::++++++++::::++::++::::+++++++++++++++++*++**+++**********************
+++++++++++++++++++++++++++++++++:++:::::+++::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++::::::::::+++++++++++++++++++++++++++++++++*****+****
++++++++++++++:+++++++++++++++++::::::::::++::::::::::::::::::::::::::::::::++::::::::::::::::++++::::::::++::::::::++::+++++++++++++:::::::+++++++++++++++++++
++++++++++++++::::::::::::::::::::::::::::::::::++:+::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::++++++::::::::::++::++++++++::++::::::++++::+
++++::++++++++::::::::++++++::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::++++++++++::::::::::::::++++::::++++++++++++++++++++++++::+++
++++++++++++++::::::::++++++++::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++:++++++++++++++++++
$,,,,,,,,,,,,,,,,..,,......,,,,........,:..........................................................................................,,,,,,,,.,,+,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,......,,......,,..........,:............................................................................................,,..,,,,,+,,,,,,,,,,,,,,,,,
,,,,,,,,...........,..................,:...................................................................................................,::..,,,,,,,,,,,,,,,
,,..,,.............,..................,:...................................................................................................,,:..,,,,,,,,,,,,,,,
...................,...................:...................................................................................................,::..,,,,,,,,,,,,,,,
...................,...................:............................................................................................,,,,...,::..,,,,,,,,,,,,,,,
...................:...................:............................................................................................,,,,...,::..,,,,,,,,,,,,,,,
...................:...................:..............................................................................................,,,,,.::..,,,,,,,,,,,,,,,
...................:...................:..................................................................................................,.+:..,,,,,,,,,,,,,,,
,,,,,,........,,..,:...................:,,......... .. .................................................................................,,,,+:,,,,,,,,,,,,,,,,:
,,::,,,,,,,,,,,,,,,:,,,,,,,,,.,,,,,,...:,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,...,,......,,,,,,,,......,,,,....................,,,,,,,,,,,,,,+:,,,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:::::::::::::::::::++::::::::,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,:::::::::::
++:::+:::::,,:*:,,:*:,:,*:,,::,,,,,,,::::,:::::::::::,::::::::::::::++::,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,+:,::::::::::::::::
++:::+::::+:,:*::::*:,,,*:,,:*::,:::::::::++::++++++::::::::::::::::::+::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++::,,,,,,,,,,,,,,,,,,:+:,:::::::::::,,,,:
::,,,:::::,,::+::::*::,,*:,:*#######*#********************++++::++:::::+:,,,,,:,.,,...,,,,,,,,......,,,,,,::++::::::,,,,,,,,,,,,,,,,,,,,,,,:+:,:::::::::::,,,,:
,,,,,,::::::::,:::::,,:,:::**********+++++++++++++++++++++*******++++:::::,,,,,+,,,,,,,...............,,,,::::++:++:,.,,,,,,,,,,,,,,,,,,,,,,+:,::,,,,,,,,,,,,,:
,,::::,,,,,,,,,,,,,,,,,,,:********++**++**++++++++++++++++++++:::,++::::::,,,:+++*++::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::+++::::::::::,,,
,,,:::::::::,,::::,,,,,,,+:+****++++++++++::,::,::++++++++++++++:.::::::::,,::::::,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,::,,,,,,,,,,::,,,,,,,,,,,,,,:
::::::::::++++++++++:::::***+++++++++***++,,,,,,,:++++++++++::+++:::++++:::+::++::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::++++:::,,,+***+++++++++++++++++++++:::++++++++++++++++++++++*+:+++++++++++*+,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++::::,,,,,:+***********++++++++++++++++++++++++++*+++**+++++*+++++++++++++*+*:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,:,************+++++++++++++++++++++++++++++++++++++,:++++++++++++*+*+,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,:
::::::::::,,,,,,,,,,,,,,++*****+++++++++++++++++++++++++++++++++++++++++++:++++++++++++***:,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,:*****++++++++++++++++++++++++++++++++++:,+++::++::,::+++++**++++*+::::::::::::::::::::::::::::::::,,::::,,,,::,,,,,,::::::::,,,,,,,,,,,
::::::::::::::::::,,,,,+++++++++++++++++++++++++++++++++++++++++++++*++++::::::::::::::**+,,,,,,,,,,,,,,,,::::::::::,,,,::::,,,,,,::::::::::::::::::::::::::::+
::::::::::::::::::::::::,:++++::::::::::::::+++++:+++++++++++:::::+*++++::,::::::+::::++++::,,,,,,::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,+::::::::,,,,,:+++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,:::::+:++++++++
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::+:::+++:+
::::++::::::::::::::::++++++++++++++*+++++++::::::::::::+:++::::::::::::::::++++::::::,,,,::::,,::::::::::::,,,,,,::,,:::::::::::::::::::::::+++:::::::::::::::
++++++++++++++++++++*****+**++**+++++++++++++++++++++:::::++:+++++++++++++++++++++::::::::::::++:::+++++::::::++++++++++++++::::::::::::::::::::::::+++++++::::
**+++++++++++++++++++****++++++++*++++++++*****+++++++++++++++++++++++++**+++++++++++++++++++++++++*++++++++++++********++*+:+++++++++++::::::++++++***+***+++:
********++++++++***************************+++++++++++++++++++++++++++++**++++++++++++++**+++++*+**++++++****++******+++**++++*****+++++++++**++***********++++
****++**++++:+++::::++++++++++++++++++++++++++::++++++++::::::::+++++++++++++:+++++++++++++++++++++++++++++++++::++++++++***++++++++++++++*********************
++::++++++::::++::::::::::::::::::::::::::::::::::::::::::::++::++++++::++++++++::++++++++++++++++++++::::++::+::::::+++++++++++++++*+++**++*******************
++++++++++++++++++++++++++++++++++++:++:::::++::::::::::::::::::::::::::::::::::::::::::++++++++::+++++++++++:::::::::++++++++++++++++++++++++++++++++++*******
+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::++++:::::::+::::::::::++::++++++++++++::+:::::+++++++++++++++
++++++++++++++++::::::::::::::::::::::::::::::::::::++++::::::::+:::::::::::::::::::::::::::::::::::::::++::++::++::::++++::::::::::::++++++++++++++++++::+++++
++++++++::++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::++++++++++::::::::::::::++++:::++++++++++++++++++++++++++
++++++++++++++::::::::::::::++++::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,....,:...................+....................................................................................,,,,,,,,,,,,,,,,,+,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,.....:...................:..........................................................................................,,,,,,,,,,,+,,,,,,,,,,,
,,,,,,,,,,,,,,,..........,...................:..............................................................................................,,,,,.,+,,,,,,,,,,,
,,,,,,,,.................,...................:,.............................................................................................,,,,,.,+,,,,,,,,,,,
:,,,.....................,...................,,.............................................................................................,,,,,,,+,,,,,,,,,,,
,:.......................,...................:..........................................................................................,,,,,,,,,,,+,,,,,,,,,,,
.,.......................,...................:..........................................................................................,,,,,,,,,,,+,,,,,,,,,,,
.,.......................,...................,..............................................................................................,,,,,,,+,,,,,,,,,,,
,:,,,,,,.................,...................:,........... ...............................................................................,,,,,,.,:+,,,,,,,,,,,
,:,,,,,,,,,,.........,...,..................,:,.......... ................................................................................,,,,,,.,:+,,,,,,,,,,,
,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,..,,,,,,,,,:,,,,,,,..... ..,,,,,,,,,,,,,,,,,,,,,....,,,,......,,,,........,,,,..............,,....,,,,,,,,,,,,,::+,,,,:::::::
,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::,,:,..,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::+:,,,,:::::::
::*::::*:::+::::+,,,:+,,,::,,,,,::::::::::::::::::::::::,:::++::++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:+:,::::::::::
::*::::*:::+::::+,,,:+::,:+,::::::::++::::::++:::::::::::::::++::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++++++:,,,,,,,,,,,::::,:+:,::::::::::
,,::::,:,,,::::::::::*********++++++++++++++++::::::::::::::::+:::,,,,+,,,,,,,,,,,,,,,,,....,,,,,,,,....,,,,,,,,,,::++++++::,,,,,,,,,:::::::::::::+:,::::::::::
::,,,,,,,,,,::,,::,,:***********************++**+++++++*****++++:::,,,,,*,,,,,,,,,,,,...,,,,,,..............,,,,,,:+++++++++:,,,,,:,,,,,,,,,,,,,,,+:,,::,,,,:::
::::::,,,,::,,,,,,,*********+++++++++++++++++++++++++++::+++:::::::::::+:+*++:::,,,,,,,,,,,,,,::::::::::::::::++::::::::::::::::::::++::::::::::::::++++++:::::
::::::,,,::::::::,++++++++++++++*+::,::,::+++++++++++:+:,,++::::::::::::++::,,++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::,,,,,,,,::,,,,,,,,,
++++++::::::::::::****++++++****++::::,:::+++++++++++:+:,,::++++::+:::++::::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++**********++++++++++++++++++++++++++++++*++++++**+:+++++++++++++**,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++:+**********+++++++++++++++++++++++++++++++++++++*++++++++++++++****+,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,::::::::::**********+++++++++++++++++++++++++++++++++++++:++*+++++++++++*****,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::::::
::::::,,,,,,::::::++++++++++++++++++++::::::+++++++++++++++++++++::++++++++++*+++++*::::::::::,,,,::,,::::::,,,,::::::,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,:
:::::::::::::::::+++++++++++++++++++++++++::::::+++++++:++++::+++:,:++++++++*+++++**:,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::::::::::,,,,,
::::::::::::::::::::+++++++++:::++++++++++++++++++++++++++++++++:,::::+++:::::::***+,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++::::+++++++::::++++++:,:,,,,::::++++**++,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::+++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::+++
++++++:::::::::::::::::::::::+++++++++++++++++++++::::,,::::::::++::::::::::::::::++::::::::,,,,::::::::::::::::::::,,,,:::::::::::::::::::::::::::++++::::::::
++++++::++++++++::++++++++++***+*++++++++++++++++++++++++++:::::++++:+++++++++++++++++++::::::::::::++::++++++++::::++++++++++++++::::::::::::::::::::+:::+++++
++++++++++++++++++++++++++++***+++++++++++++++++****++++++++++++++++++++++++++**+++++++++++++++++++++++++*++++++++++++***********+++++++++++++::::::++++++***+*
**************+++++++++***********++*************+++++++++++++++++++++++++++++**++++++++++++++**+++++*+**++++++***+++******+++**++++*****+++++++++*************
**++++****++**++++::::::::::++++:+++++++++++++++++++::++++::+:::::::::::++++++++++::++++++*+++++++++++++++++++++++++++:++++++++***+++++++++++******************
+++++++++:++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++++++++::++++++++++++++++++++::++++::++:::::+++++++++++++++*+++**++*************
++++++++++++::++++::::::++::++++++++++++++:++:::::::::::::::::::::::::::::::::::::::::::++++:::++++++++++++++++++++:::::++++++++++++++++++++*+++++++++++++++++*
++++++++++++++++++::++:::+++++++++++::+++:::::::::::::::::::::::::::::::::::::::::::::++::++::::++::::++++++:::::::+++++::::::++:+++++++++++++::+:::+++++++++++
++::::::::++::::++++::::::::::::::::::::::::::::::::::::::++::::::::::+:::::::::::::::::::::::::::::::::::::::++++++::++++::++++::::++::::++++++++++++++++++++:
::::::::::++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::++++++++++++::::::::::::++++++:++++++++++++++++++++
++++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++++++++++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,...,,...................:...................................................................................,,,,,,,,,,,,,,,,,,+,,,,,,,,
,,,,,,,,,,,,,,,,,,,,.......,,...................:.......................................................................................,,,,,,,,,,,,.,+,,,,,,,,
,,,,,,,,,,,,,,,,............,...................:...........................................................................................,,,,,,,,,,+,,,,,,,,
,,,,,,,,,,....,,............,...................:...........................................................................................,,,,,,,,,,+,,,,,,,,
,,,,,.......................,...................:...........................................................................................,,,,,,,,.,+,,,,,,,,
..,,,,......................,...................:...........................................................................................,,,,,,,,,:+,,,,,,,,
...,,.......................,...................:...........................................................................................,,,,,,,,,:+,,,,,,,,
...,,.......................,...................:............................................................................................,,,,,,,.,:,,,,,,,,
,,,,,,,,,,..................:...................:...........................................................................................,,,,,,,,,::,,,,,,,,
,,,,,,,,,,,,,,..............:...................:,........... ..............................................................................,,,,,,,,,::,,,,,,,,
,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,...,,,,,,,,:,,,,,,,..... ..,,,,,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,......,,,,,,.............,,,..,,,,,,,,,,,,:::::,:,,,:::
,,,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,....,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,::::::,:::::::
+::::*::::*:,:+:,,::,,::+,,,::::::::::::::::::::::::::::++::+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::+:,:::::::
+:,::*::::+:::+:::::::::+:::::::,:::::::::+:::::::::::::::+:::,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++++++:,,,,,:::::::::::+:,:::::::
::::,:::,::,,,:::::+++::++++++::::+++++++++::::::::::::::::+:::,,,,+:,,,,,,,,,,,,,,,,,,,........,,,,,,......,,,,,,,,,,::++++:+::,,,,,:,,,::::::::::::+:,:::::::
,,::,,,,,,,,,,,,,,**************++++++++++++++++++++****++:+::::,,,,,:,,,,,,,,,,,,,,,,,,..,,,.,,,,............,,,,,,,:+++++++**+:..,,,::::,,,,,,,,,,,+:,:::::::
::::::::::,,:::,++++++++****++++*+++++++++++++++++++:+++::::::::::::+:++:++:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++:::::::::::::+++++:::
::::::,,::,,::::++++++++++++++++::::::+++++++++++++::,:+::::::::::::++++::,:*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,
::++++++:+:::::++++++++++++++++::::::::+++++++++++++:,::++++++::::++++:::::::,,:::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
:::::::::::::::++++++++++++++++:++::+:++++++++++++::+++++++++++++++++++++++++++**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
:+++++++++++++++**+++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++****:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,:::::::::::***++++++++++++++++++++++++++++++++++++++++++++,:++++++++++++++++**:,,,,,,,,,,,,,,,::::,,::,,::,,,,,:::::::,,,,,,,,,,,,,,::::::::::::,,:::::::::
,,,,::::::::,::++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++*++++++*,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,:::
:::::::::::::::+++++++++++++++++::::::::++++:++++++:+++++++++::,++++++++++*+++**+*::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,
::::::::::::,::::::::+++++++++++::++++++++++++++++++***++++++::,::::++++:::::+***:,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::,,,,:::::::::::::::::::::
++++::::::::::::::::::::::::::::::::::::++::::::::::::::+++++:::::::,,,,::*******,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,::::::::,,:::::::::::::::::::::::::::::::::::::++++++,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+
::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::+
::::++++::::::++::::::::::::::::+++++++++++++++++++++:::,,,,:::::::+:::::::::::::::::+++::+:::,,,,,,::::::::::::::::::::,,::::::::::::::::::::::::::::++++:::::
++++++::::::++++++++++++++++++****++*+++++++++++++++++++++++++:::::::+++++::++++++++++++++++:::::::::::++::++*+++:::++::++++++++++++++:::::::::::::::::::::++++
:::+++++++++++++++++++++++++++++**++++++++++++++++++**++++++++++++++++++++++++++***+++++++++++++++++++++++++**++++++++++************++++++++++++++:::::++++++**
++**++**********++++++++++**************++**********+++++++++++++++++++++++++++++**++++++++++++++*++********++++++****++******++***++++*****+++++++++***+******
**++++++**+*++++++++::::::::::::++++++++++++++++++++++::++++++++::::::::::++++++++++:::+++++++++:+++++++++++++*++++++++++:++++++++****++++++++++***************
++++++++++++:+:+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++::++++:+::+++++++++++++++++++*++***************
++++++++++++::::++++::::::++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++::::++++++++++++++++*++++++++++++++++++++
++++++++++++++::++++++::++::++++++++++++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::++++::::++++::::::::++::::::::++++++++++++++++++++::+++++++++
++++::::::::++::::::++::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++++::::++::::++::::::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::++++++++++++++::::::::::++++++::+++++++++++++++++
++++++::::++++++++::::::::::::::::::::::::::::::::::::::::::::,:::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::++++++++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..................,:................................................................................,,,,,,,,,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,......,,..................,:....................................................................................,,,,,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,,,,,,,,,...........,..................,:........................................................................................,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,...................,..................,:........................................................................................,,,,,,,,,,.,,+,,,,,
.,,,.,,,.......................,...................,........................................................................................,,,,,,,,,,.,::,,,,,
....,,:,.......................,...................:........................................................................................,,,,,,,,,,,,::,,,,,
......,,.......................,...................:........................................................................................,,,,,,,,,,,,::,,,,,
......,,.......................,...................:..........................................................................................,,,,,,,,,,+:,,,,,
,,,,,,:,,,,,...................,..................,:............... .........................................................................,,,,,,,,,,,+:,,,,,
,,,,,,:,,,,,,,,,,..............,..................,,.,........  .............................................................................,,,,,,,,,,,+:,,,,,
,,,,,,:,,,,,,,,,:,,,,,,,,,,,,,,:,,,,,,,,....,,,,..,:,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,...,,,,....,,,,,,,,.....,,,,,...................,,,,,,,,,,,,,,:+:,::::
,,,,,,:,::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,::+:,::::
:::+::::*:::++:::+,,:::,,,:::::::::::::::::::::::::::+++::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::,,::+:,::::
:::+::::*::::+:::::::::::::::::::::::::::::::::::::::::++:::,:*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*++++++++++:,,,::::::::::::+:,::::
,,,,,,,,::,,::,:::::::::++::::+++++++++++:::::::::::::::+:::,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,.......,,,,,,,,,,++::++++::,,,:,:,,::::::::::::+:,::::
,,,,,,,,,,,,,,,:**++++++*+++++++++++++++*+++++++****++++++:::,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,.............,,,,,,,::+++++++*+:,.,,,:::,:,,,,,,,,::+:,::::
::::::::::::::++++++++++++++++++++++++++++++++++::++++::::::::::::++*+++::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::::::::::::::::::++++::::::::::::+++++++
::::::::,,::,:++++++++++++++++++::+++++++++++++++::+:+::::::::::::++++::,:+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,:::::
:::::++::::::+++++++++++++++::::::::++++++++++++:,,:++++++++::::++++::::::::,:::,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::,,:::::::::+++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::++++++::++++++++++++++++++++++++++++++++++++::++++++++*+++++++++++++++++****+,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::,,::::+*++++++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++****+,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,::::::::,,,,::,,,,,,:::::::::::::::::::::::
,,,,,,,,:::::+++++++++++++++++::::::++++++++++++++++++++++:::+++++++++++*+++****,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::
:::::::::::::+++++++++++++++::::::::++++++++++++:+++++++:::::::++++++++*+++***+*,,,,::,,::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::
::::::::::::::::::::::::::::++++++++++++++++++++++**++++++::,:::::::::++++::***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,:::::::::::::::::::
++++++::::::::::::::::,,,,::,:,,::::::+++::::::::::::++++++:::,,,,::::,,*******:,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,,,,,::,,::::,,::::::::::::::::::::::::::::::+++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::,,::,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++::::++:::::::::::
::::::++++++::::::::::::::::::::::++++++++++++++++++++++::,,,,::::::::+:::::::::,,::::::+++:::::,,,,,,::::,,::::::::+:::::,,::::::::::::::::::::::::::::++++++:
::::++++::::::++++++++::++::++++****++++++++++++:++++++++++++++++:::::+++++++:++++++++++++++++:::::::::::+++:+++++++++:+::++++**++++++++::::::::::::::::::::::+
++:::+++++++++++++++++++++++++++++**++++++++++++++++++**+++++++++++++++++++++++++++***++++++:+++++++++++++++++*+*+++++++++******+***+**++++++++++++++::::+++**+
++++**+++*********++++++++++++************************++++++++++++++++++++++++++++++**++++++++++++++****++****++++++*****++******++***+*++******++++++++*******
****++++++++++**++++++::::::::::+++++:++++++++++++++++++::::++++::::::::::::++++++::++++++++++++++++**++++++++++++++++**+++:++++++++****++++++++++*************
++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::::++++++++++++++++++::++++++++++++++++++++++++++++***************
+++++++++++++++:::::::::::::::::::+++++++++++++:::+:::::::::::::::::::::::::::::::::::::::::::++++::++++++++++++++++++++::++++++++++++++++++**++***++++++++++++
++++++++++++++++++::::++::++:::+++++++++++::++::::::::::++::::::::::::::::::::::::::::::::::++::++::++++::::++++++::::::+++++++++::+++:++++++++++++++:+::++++++
+++:++++::::::::::::::::+:::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::++++::++++++++::++++:::+++++:::++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::++++++++++++++::::::::::++++++++:++++++++++++++
::++++:::::::+++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::+++++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....:...................,,...............................................................................,,,,,,,,,,,,,,,,,,,,,::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,.......,...................,,...................................................................................,,,,,,,,,,,,,,,,.::,,
,,,,,,,,,,,,,,,,,,,,..,..........,...................,,.....................................................................................,,,,,,,,,,,,,,.::,,
,,,,,,,,,,,,,,,,.................,...................,,.....................................................................................,,,,,,,,,,,,,,,::,,
........,:,......................,....................,.....................................................................................,,,,,,,,,,,,,,,+:,,
.........:,......................,....................,.....................................................................................,,,,,,,,,,,,,,,+:,,
.........,.......................,.................. ,,.....................................................................................,,,,,,,,,,,,,,,+:,,
.........:.......................,.................. ,,.....................................................................................,,,,,,,,,,,,,,,+,,,
,,,,,,,,,:,,,,,,.....................................,,.....................................................................................,,,,,,,,,,,,,,,+:,,
,,,,,,,,,:,,,,,,,,,,.............,,..................,,......................................................................................,,,,,,,,,,,,,,+:,,
,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,.,,,,,,,....... ..,,,,,,,,,,,,,,,,,,,,,,..,,,,,,....,,,,,,,,....,,,,................,,,,,,,,,,,,,,,,::,+:::
,::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,:::::+:::
:++:::+::::*:::+::,:::,,:::::::::::::::::::::::::::++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+:::
:::,:,:,,,:+::::::::::::::::::::::::::+::::::::::::::+::::,:++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*++++++*+++::,,:::::::::::+:::
::::::::::::::::::,,::::++::::+++++++++::::::::::::::++:::,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,...,,,,,,,,....,,,,,,,,,,,,,:++::++++::,,::::,,:::::::::::+:::
::::,,,,,,,,,,**++++++*+++++++++++++++*+++++****+++++++::::,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,..........,,,,,,::,:+++++++*+:,.,,,:::,:,,,,,,,,:+:::
::::::::::::+++++++++++++++++***+++++++++++++++:++::::::::::::::++++:+:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::::::::::::::::::::++++::::::::::::+++
::::::::::::++++++++++++++++:+++++++++++++++++:,++++::::::::::::++++:::::+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,:::
:::::::::::+++++++++++++++::::,:::++++++++++++,.::++++++::::++++++::::::::,,:::,::,,,,::::::,,,,,,,,::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
:::::::::::+++++++++++++++::::++++++++++++++++****+++++++++*++++++++++++++:***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::++:+++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++**+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,:::,::+++++++++++++++::::+++++++++++++++++++++++++++::++++++++++++*++***+*+,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,::::::::::::::,,,,:::::::::::::::::::::
,,,,,,,,,,:+++++++++++++::::::::++++++++++++++++++++++++:+:+++++++++++*+++**+**:,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::
::::::::::::++++++++++++++::::::::++++++++++++:+++++++:+::,::+++++++++++++*****,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::
::::::::::::::::::::::::::::::::++++++++++++++++++++++++::,::::+::++::+:+++***,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,:::::::::::::::::
++++++++:+::::::::::::::,,,,,,,,,:::::++:::::::::::+++++::::,,,,,,,,:::******+,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,::::,,::::::::::::::::::::::::::,:::+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::,,,,,,,:::::::::::::,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++::::++::++:::::
::::::::::++++:::::::::::::::::::::::+++++++++++:+++++++++::::,,::::::::++::::::::::,:::::++++::::::::,,::::::::::::::++::::,,,,:::::::::::::::::::::::::::++++
::::::++++::::::::++++++::++++::+++++**++++++++++++++++++++++++++:+::::::+++:+++::++++++++++++++++::::::::::++::++**++++::++++++++*+++*+++++:::::::::::::::::::
++++::::++++++++++++++++:::++++++++++*+++++++++++++++++++**+*+++++++++++++++++++++++++***++++++++++++++++++++++++***+++++++++***********++++++++++++++++::::+++
++++++++++++**********++++++++++**********++**++*********++++++++++++++++++++++++++++++*+++*++++++++++**++********+++++*****++******++******+*****++++++++*****
++******++++++++**++++++::::::::::::::++:+++++:+++++++++++++::::++::++::::::::::++++::++++++++++++*+++++++++++++++++*+++**++++:++++++++***+++++++++++*****+****
+++++++++++++++++:++:++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++++++++++++++++::++++++++++++++++++++++++*++++*++****+****
++++++++++++++++++::::::++:::::::::::+++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::+++++:+++++++++++++++++++++:++++++++++++++++++**++*+++++++++++
++++++++++++++++++++::::++++++:::+++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::++::++::::++++::++++++::::++:+++++++++:+++++++++++++++++++++::+++
++++++++++::::::::::::::::++::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::+:::::::::::::::::++++++++++++++++++++++::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::++++++++++++++::::::::++++++++:++++++++++++
::::::++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::,:::::::::::::::::::::::::::::+++++:+++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.,.................,.:,..............................................................................,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,........:.................,.:,................................................................................,,,,,,,,,,,,,,,,,,,,+
,,,,,,,,,,,,,,,,,,,,,,..............:...................:,..................................................................................,,,,,,,,,,,,,,,,,,+
,,,,,,,,,,,,,,,,,,..................,...................:,..................................................................................,,,,,,,,,,,,,,,,,,+
,,.........,:,..,...................:...................,,..................................................................................,,,,,,,,,,,,,,,,,,+
...........,:,......................,...................,,....................................................................................,,,,,,,,,,,,,,,,+
............,.......................,...................:,....................................................................................,,,,,,,,,,,,,,,,+
,,,,........:.......................,...................:,......................................................................................,,,,,,,,,,,,,,+
,,,,,,,,,,,,:,,,,,..................,...................:,......................................................................................,,,,,,,,,,,,,,+
,,,,,,,,,,,,:,,,,,,,,,..............,,..................:,............. ........................................................................,,,,,,,,,,,,,,+
,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,...,,,,,,.,:,..,,,,.....  .,,,,,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,......,,,,,,............,,,,,,,,,,,,,,,,,,::,:+
*:,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,,,,....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::::,:+
*+::++:::+:::::,::+:::::::::::::::::::::::::::++:++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::+
*:::::,,::,,,:::,::::::::::::::::::::::::::::::::::++:::,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++***++++*+++::,,::::::::::+
::::::::::::,:::::,:::+++:::::++++++++::::::::::::::++::,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,...,,,,,,,....,,,,,,,,,,,,,,,:++++++++::,,::::,,::::::::::+
,,,,::,,,:,,:*++++++++++++++++++++++*+++******++++++++::::,,,,::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,.,........,,,,,,,::::+*++++++*+:,.,,,:::,:,,::::,:+
::::::::::,:+++++++++++++++++***++++++++++++++++:::::::::::::::+++*:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::++::::::::::::::::++++++::::::::+::::
::::::::::::++++++++++++++++++++++++++++++++:,++:+::::::::::+::++++:::,:+*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::,,:::::
::::::::::++++++++++++++::::::::++++++++++++,.::++++++++++++++++::::::::::,:::::,,::::,,,,::::,,,,,,,,::::::,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::
,,,,::::::::++++::::::++::++::::+++++++++++++++++++++++++*++++++++++++++++****::,,,,::::,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++++++::++++++++++++++++++++++**++++++*++*++++++****+++++*****+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,:++++++++++::::::+++++++++++++++++++++++++++++,++*++++++++++*+++++++*+,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,::,,,,:::::::::::::::::::
::,,,:,,,:++++++++::::::::::::::++++++++++++++++++++++++::++++++******++++****:,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::
:::::::::::::+++::::::::::::::++++++++++++++++++++++:+:::,++:++++++++++++***+*,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::::::::::::::::::::::::::::++++++++++++++***+++++++,:::::+::::::::::+**+,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++::::::::::::::,,,,,,::::::++::::::,,:++++++:::,,,,,,,,,,::******+,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,::::::::::::,,,,,,,,::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++::++++::++++++:::
::::::::::::++++::::::::::::::::::::::::++++++++::::+++++++++:::,,,,:::::::+::::::::::,,:::::+++::+:::,,,,,,::::::::::::+++:::,,,,::::::::::::::::::::::::::::+
+:::::::::++++::::::++++++::::++::++++++**++++++++++++++++++++++++++:+::::::::++++::++::++++++++++++::++:::::::+++:+**++++++++++++++***+++++++:::::::::::::::::
++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++**+++++++:++++++++++++++++++****++++++++++++++++++++++++*+*+++++++++************++++++++++++++:::::
++++++++++**+++*****+***++++++++++**********++**++**********+++++++++++++++++++++++++++++***+++++++++++++**+********++*+++****++******++*****++******+++++*+***
++++++****++++++++++++++++::::::::::::::++++++++::++++++++++++::::++++::::::::::::::++++++++++++++++++++:+*+++++++++++*++++++++++:++++++++***+*+++++++++*******
+++++++++++++++++++:::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++**++*******
++++++++++++++++++++::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++*+++***++++++
++++++++++++++++::++++::::::++::++::++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::++::++++::++++::::++++::::++++++++++++++++++++++*+++++++++++::+
++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::++++++::::++++++++++++::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::++++++++++++++::::::::+++++++++++++++++++
::::::::++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,..................,,,.........................................................................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,..................,,,...........................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,......,..........,...................,,.............................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,...................,...................,,.............................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,..........,,,,.....................,.................. ,,...............................................................................,,,,,,,,,,,,,,,,,
,,,,............,:,......................,.................. ,,...............................................................................,,,,,,,,,,,,,,,,,
.................,.......................................... ,,.................................................................................,,,,,,,,,,,,,,,
.................,.......................................... ,,.................................................................................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,,,,,.....................................,,...........  ........................................................................,,,,,,,,,,,
::::,,,,,,,,,,,,,:,,,,,,,,,,.............,...................,,............ ........................................................................,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,.,,,,,,,....... ..,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,....,,,,,...........,,,,,...,,,,,,,,,,:
:+::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,:::
:+::::+:::+:::::::::::::::::::::::::::::::::++:+++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::::::::::
,:::::+,,::,:::::::::::::::::::::::::::::::::::::+++::::::*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,++*********++::,,,:::
::::::::::::::::::::::+++:::++++++++++:::::::::::+++::::,,,::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,....,,,,,,,,,,,,,,,,::++++++++::::::::,,:::
,,,,,,,,::::++++++++++++++++++::++:*+++++****+++++++::::,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,,,,,:::::::+*++++++*+:,..,,:::,:,
::::::::::::+++++++++++++++++++++++++++++++:+++::+::::::::::::+++*:+:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::::::::::::::::::++++++++::::+
::::::::::::++++++++++++::::::++++++++++++:,++++++::::::::::::++++::::::+**+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::
,,,,::::,:+++::::++++++:::::::++++++++++++:::+++++++++++++++++++++++::::::,:::::::::::,,:::,,,::::::,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,:++++++::::::++::::++++++++++++++++++++++++++***++++++++++++++++****:,,::::,,,,,,::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,:,,::++++++++++::::::+++++++++++****+++****+++++:++*++++++++++++*++***+#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++::::::::::++++++++**++********+++++:++++++****++++++++**+***::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,:::::::::::::::::::::::::::::::::::
::::::,,::++++++::::::::::::::+++++++*++:::++++++++++::.++***********+++**+***::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::
::::::::::::::::::::::::::::++++++****++******++++++:::.::::::++++++++++*****+,,,,,,,,,,,,,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::++*****+++**+++++++:,:,,,,,,,,::::::++****,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::::::,,::::+++:::::::::++++::,,,,,,,,,,,,,,******,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::,,,,,,,:::::::,,::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++::::+++
::::::::::::::::++++:::::::::::::::::::::::::+++++++++++:+++++:+++::::,,::::::::++:::::::::::::::+++++::::::::,,::::::::::::::++::::,,::::::::::::::::::::::::+
::::::::::::::::++::::::::++::::::::::::++++++*+++++++++++++++++++++++++::+::::::+:+:+++:+++++++++++++++++++::::::::++++++**++++++++++++++*+++*+++++::++++:::::
++++++++++:::::::+++++++++++++++:::++++++++++++++++++++++++++++++**++++++:++++++++++++++++++++**+++++++++++++++++++++++++***+++++++++*************+++++++++++++
++++++++++++++++++++*****++***++++++++++**********++*************++++++++++++++++++++++++++++++**++*++++++++++**+*********+**++*****+*******++****++******++++*
++++++++++++**++++++++++++++++++::::::::::::::+++:++:::+++++++++++::::::::::::::::::::::::++::++++++++++++*+++++++*+++++++++*+++**++++++*++++++***++*+++++**+**
++++++++++++::++++++++++:::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::+++++++++++++++++++++++++++++++++++++++++++++++*++++++++*++++****
++++::++::::::::++++++++++:::::::::::::::::::+++++++++++++::::::::::::::::::::::::::::::::::::::::::::::++++++:+++++++++++++++++++++:++++++++++++++++++**++***+
++++::++::::++++++++::++::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::++++++++::++:+++++++++:+++++++++++*+++*++
::::::++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::+++++++++++++++++++++++++++++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::+++++::::::::::::::::::::::++++++++++++++++::::::++++++++++:++++
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::++++::::::::::+++++++:+++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,...................:.......................................................................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,...................:.........................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....................,...................:...........................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....................,...................:...........................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,...........,,.......................,...................,...............................................................................,,,,,,,,,,,,,,,
,,,,,..............,:,......................,...................:...............................................................................,,,,,,,,,,,,,,,
,,,,................,.......................,...................,...............................................................................,,,,,,,,,,,,,,,
..................,.,.......................,...................,...............................................................................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,.,,....................,...................:,..................................................................................,,,,,,,,,,,
,,,,,:,,,,,,,,,,,,,,:,,,,,,,,,..............,...................,,..........  ..........................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,....,,,,...,:,..,,,,.....  .,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,......,,,,,,............,,,,,,..,,,,,,,
::::+:,,:,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,:::,,,,,,:
::+:+:::+:::+:::::::::::::::::::::::::::::::::++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:::::::::::
,:::::,,::::::,,::,,:::::::::::::::::::::::::::::+++::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++********+++::::
::::::::::::::::::::::::::::::++++::::::::::::::++++:::::,,::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,..,,,,,,,,..,,,,,,,,,,,,,,,,,::::++++++++++::::::::
::,,,,,,,,,,:+++++++++++++++++++::*++++++****+++++++::::::,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........,,,,,,::::::,,:**+++++*++:,,,,:::
,,,,::::::::++++++++++++++++++++++++++++:::*++++++::::::::::::++**:+:,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::::::::::::::++++++++++++:::
,,,,:::::::::::::+::++++::::::++++++++++++:,++++++++::::::+:::++++::::,:***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,::,,,,:::::::::::::::::::::
,,,,,,,,,:++++++++::+++:,,,,::++++++++++++::++++++++++++++++++++++++++::::,:::::::::::::,,::::,,::::::,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,::+::::::::::::+++++++++++++++++:++++++++++**+*+++++++++++++++++****+,,,,,,::,,,,,,,,,,::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,:++++++::::::::++++++++++++++++++******+++**,++*++++++++++++*++******+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::,,::::++::::::::::::++++++****+***********+++++:++++**++++++++++++*****#:,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::,,:::::::::::::::::::::::::::::::::
::::::,,:::::+::::::::::::+++++++++++*+++,++++++++++::::++***********+++******,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::
::::::::::::::::::::::::::::++++++++++++******++++++++::::::::::::::++++******,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::,:::***++++++:++++++:::,,,,,,,,,,,,::++****,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++::::::::::::::::::::++++::::::::+++:::,,,,,,,,,,,,,,+*****,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++:::::::::::::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++::++::::+
::::::::::::::::::::++++::::::::::::::::::::::::++++++++::::++++++++::::,,,,:::::::+::::::::::::::::++++::+:::::,,::::::::::::::+++::::::::::::::::::::::::::::
++::::::::::::::::++::::::::++::::::::::::::++++*++++++++++++:++::::++::::::+:::::::::++++::++++++++++++++++++++::::::++++++**++++++++++++++***+**++++::::++:::
++++++++++++::::::::+++++++++++++++:::+++++++++++++++++++++++++++++++++++++++:++:+++++++++++++++***+++++++++++++++++**+++++****+++++++++************+++++++++++
+++++++++++++++++++++++***+++***++++++++++++********++**++**********+++++++++++++++++++++++++++++**+++++++++++++***+********++*+++****++******++*****++******++
++++++++++++++****++++++++++++++++::::::::::::::+:::++::::+++++++++++:::::::::::::::::::::::++++++++++:+++++++++:+*++*++++++:+*+++**+++++:+++++++****+*++++++**
+++++++++++++++++++++++++++:::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***
++++++++++::::::::++++++++++::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++***++*
++++++::++::::::++++++::::::::::::::++::++::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++::++++++++++++++++:+++++++++++++++*++++++
::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::+:::::::::::::::::+++++++++++++++++++++++++++++++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::+++++++++++++++++++::+++++++++++++
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,::,,::::::::::::::::::::::::::::::::::::++++++::++::+++++++++:+++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..................,,......................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,...................,,......................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,,........................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,,........................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,..........:,...........................................,........................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,..............,,......................,,...................,............................................................................,,,,,,,,,,,,,,,
,,,,,,................,........................,...................,............................................................................,,,,,,,,,,,,,,,
............,,........,,.......................,...................,............................................................................,,,,,,,,,,,,,,,
....,,,,,,,,,,,,,,,,,,,,,,.....................,..................,,..............  ................................................................,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,..............,,..................,,..........  ........................................................................,,,,,,,
::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,......,,,,..,,,,,,...........,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,....,,,,,,,,............,,..,,,,,,,
::::::::,,::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,::,,,,,,:
::::+::::::+::::::::,,,:+:::::::::::::::::::+++++:::,,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::+:,:,,::::::,,:::::::::::::::::::::::::::::::+++:::::+*,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:***********+:
,,,,::::::::::::::,,::::::::::::++++::::::::::++++++:::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,..,,,,,,,,,,,,,,::::,:+++++++++++::::
,,,,,,,,,,,,::++++++++++++++++++::++++++++***+++++++::::::::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,........,,,,,,,::::,,,:+*+++++**+:,..,
,,,,,,,,::::::++++++++++++++++++++++++++:::+++++++++++++::::::+++*+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++::::::++++::::++++++++++:
,,,,,,,,:::::::::+++++++::::::+++++++++++::,++++++++++::::+:::++++::::::++*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::::,,:::::::::::::::::::
,,,,,,,,,,::++++++++++++:,,,,:++++++++++++::++++++++++++++++++++++++++++::::::::::::::::::::::::,,,,::::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++****+++++++++++*##*#,,,,,,,,,,,,,,,,::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,::++++::++++++++++++++++++****++******++++:+++*++++++++++++*+++******,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::,,,,:++:::::::::::::::++++++++**++********++++:+::++++++++****+*+++******:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::,,,,::::::::::::::::++++++++++*+++::+++++++++::::,++++++++++++*++++*****+:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::
::::::::::::::::::::::::::++++++++++**********++++++::::+:++++++++::::+++*****,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,::::::::::::::::::::::::::::*****+:::+++++::::,,,,,,,,,,,,,,:*****:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::
::::++++++++++++++++++::::::::::::::::::::++++::::::::::,,,,,,,,,,,,,,,+****:,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,::,:::::,,,,::,,,,::,,,,,,,,,,,,,,::,:::::::::::::::::::++::::::::::::++::++:::
++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::+:+++++++++:::,,,,:::::::+::::::::::,,:::::++++++:::,,::::::::::+:::::::+::::::::::::::::::::::::::
++++::::::::::::::::::++::::::::++:::::::::::::+++++++++++++++++:+::++++::++:::+::::::::++++::++++++++++++++++++++::::++:+++:++**+++++++++++++**+++++++++++++++
**++++++++++++++:::::::::+++++++++++++::++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++***++*++++++++++++++++***++****++++++++*************++++++++
++++++++++++++++++++++++++****++**++++++++++++********++**++++********++++++++:+++++++++++++++++++++**+++++++++++++***********++**++**************+************
+++++++++++++++++***++++++++++++++++::::::::::::::::::++::::++++++++++::::::++::::::::::::::++++++++++++++++++:+++++**++++++++++**+++***++++++++++++****+++++++
++++++++++++++++++::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++
++++++++++::::::::::::::::++++::::::::::::::::::::++::::+++++++:::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++***
++++++++::::::::::::++::::::::::::::::++::::::++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++**+++
::::::::::::::++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::++++::++++:::++++++++++++++++++++++++++++
++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::::++::::::::::::++++++++++++++++++::+++++++++++
++::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::++++++::++++++++++++++:++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,...................,,...................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,...................,,...................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,,.....................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................,,.....................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,..........,,,,.................... .....................,.......................................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,..............,,,...........................................,.........................................................................,,,,,,,,,,,,,,,
,,,,,,,,,,...............,.......................................... ,,.........................................................................,,,,,,,,,,,,,,,
.........................,.......................................... ,,.............................................................................,,,,,,,,,,,
........,,,,,,,,,,,,,,,,,,,,......................,..................,,...........  ....................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,,..................,,............ ..................................,,....................................,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,....,,,,,,.,,,,,,,....... .,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,....,,,,,,............,,,,,,,,,
::::::::,:::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:::::::,,,
:::::::+::::::::::::::::::::::::::::::::::::::++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::
:::::::+::,,,::::::,,:::::::::::::::::::::::::::::++++::::+*:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,:*********
,,,,,,,,,:,,::::,,,,,,::::::::::::::::::::::::::+++++++:::::,:+,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,.,,,,,,,,,,,,,,::::::::+++++++++++
::::,,,,,,,,,,:+++++++::++++++++++++++++++****++++++::++::::::::+:,,,,,,,...,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........,,,,,,::::::,,,:+**+++++**+
,,,,,,,,,,,,::::+++++++++++++++++++++++++++:++++++++::::::++:::+++*++:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::++++::::+++++++++++++++++
::,,,,,,,,,,::::+++++++++::::::+++++++++++:::+++++++++::::++:::+++++::::,:***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,:::::::::::::::::::::
,,,,,,,,,,,,::++++++++++::,,,,::++++++++++::::++++++++++::++++++++++++++::::,::::::::::::::::::::::,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,:::::::::+++++++++++++++++++++:+****++++*+*+****++**++++++++++*****:,,,,,,,,,,,,,,,,::::::,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,:++++++++++++::+++++++++++***++++****++++++:++*++++++++++++*+*+******,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,::::::::::::::::::++++++++++++**********++::::++++++++++*****+++**+***,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,:::::::::::::::::++++++++++++++:++++++++++:::+++++++++++++***++******,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,::::::::::::::::::++++++************++++::+,:+++::::::::::++++*****+,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::*****+::+++++:,:,,,,,,,,,,,,,,,,*****+,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::++++++++++++++++::::::::,:,,::::::::::::::::::::::::,,,,,,,,,,,,*****+,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::++:::::::
::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,::::::,,,,::::,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::+++++++
+++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++:++:+++++++++::::,,,,::::::++:::::::::::::::+++++::::::::::::::::::::::::++:::::::::::::::::::::::
++++++++::::::::::::::::++:::::::::::::::::::::::+++++++++++++++++::++::::::::++::+::::::+:+:+++::++++:+++++++++++++++::++++++++++**++++++++++++++**++**++++::+
**++++++++++++++++::::::::::++++++++++++:::+++:+++++++++++++++++++++++++++*+++++::++++++++++++++++++++**+***++++++++++++++**++**+***+++++++++*************+++++
+++++++++++++++++++++++++++++****++**++++++++++++********++++++++********+++++++++++:++++++++++++++++++*+++*++++++++++**+*********+**+******+********+*********
++++++++++++++++++++**++++++++++++++++::::::::::::::::::::++:::+++++++++++::::::++::::::::::::++++++++++++++++++++*+++++++*++++++++**+++**++++++*++++++***+++++
++++++++++++++++++++::::++++++::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++*
++++++++++++::::::::::::++::::++:::::::::::::::::::::+++::::+++++:::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++:++++++++++++++++++
++++++++++::::::::::::::++::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++:++++++++**
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::++++++++::+++++++++++++++++++++++++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::+++++::::::::::::::::::::::+++++++++++++++++++++++++++++
++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::++++++::+++++++++++++:+++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,...................:.................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,..................,:.................................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,...................:...................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,...................:...................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,.......,...,,,......................,...................,...................................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,.............,:.......................,...................,.......................................................................,,,,,,,,,,,,,,,
,,,,,,,,,,,,................,.......................,...................,.......................................................................,,,,,,,,,,,,,,,
............................,.......................,...................,............................................................................,,,,,,,,,,
........,,,,,,,,,,,,,,,,,,,,,,......................,...................:............ ..................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,................,...................,,........... ..................................,,................................,,..,
+:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,....,,,,,.,,:,..,,.......  .,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,....,,,,,,,.........,,,,,,,,,,
+:::::::::::::,,:,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
+:,:::::::::::::::::::,,::,,::::::::::::::::::::::::,,,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::
::,,:::::::::,,,::,,:,,,::::::::::::::::::::::::::+++++::::++::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::*****
::,,,,,,,:,,,,,,,,::,,,,::::::::::::::::::::::::::::++++::::::++,,:+,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++
::,,,,,,,,,,,,:,++++++++::::++++++++++++++**++++++++++::::::::,::+,,,,.,,,..,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,........,,,,,,,:::::::::::**+++++
::,,,,,,,,,,:::::+::++++++++++++++++++++++++:+++++++::::::++++::++*+,++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++::::+++++++++++++++
,,,,,,,,,,,,,:::::::++++++::::::+++++++++++:,:++++++::::::++++++++*+::::::+**++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,:::::::::::::::::::::
,,,,,,,,,,,,,::+::::++++++::,,,:++++++++++++::++++++++++++++++++++++++++++::::::::::::::::::::::,,::::,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,::+::::::+++++++++++++++++++++,***+++++++++++**++**+++++++++++***#*,,,,,,,,,,,,,,::,,,,::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,:,,,::+++::::::::::++++++++++**++++******+++++:+++++++++++++++*+++******:,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,:,,,:,,::::::::::::::::::+++++++++++***********+++::++++***********+++******:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,:,,,:,,::::::::::::::::::++++++++*+*++:+++++++++:::,+++++**********+++*****+,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,:::::::::::::::::+++**********+++++++++++:,+:++++++++++++++++*****:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,:::::::::::::::::::::::::+****+:++++++::::,,,,,,,,,,,,,,,*****,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++++++++::::::::::::,,::::::::::::::::::::::::::::::,,:::*****,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,::::::,,,,,,,,:::::::::::::::::::::::::::::
::++::::::::::::::::::::::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::::::::,,,,,,::,,,,,,,,,,,,::::::::::::::::::::::::::::++::::::::::++++:
+++++++:::::::::::::::::::::::::::::::::::::::::::::::::+++++++:++::++++++++::::,,,,:::::::+::::::::::,:::::++++::+:::,,::::::::::::::::+++::::::::::::::::::::
++++++++::::::::::::::::::++::::::::::::::::::::::::++++*++++++++++++:++::::++::::::+::::::::+++++++++++++++++++++++++++:::+++++++++**++++++++++++++***+**++++:
++++++**++++++++++++:::::::::::++++++++++++:::++++++++++++++++++++++++++++++*++++++++:++:+++++++++++++++***++**+++++++++++++******+****++++++++*************+++
**+++++++++++++++++++++++++++++***+++***++++++++++++********++**+++*********++++++::+++++++++++++++++++++**+++++++++++++***+***********++**************+*****++
++++++++++++++++++++++**++++++++++++++++++::::::::::::::::::++::::++++++++++::::::::::::::::::::::++++++++++++++++++++++++*++*++++++++*+++*****+++**++*++******
++++++++++++++++++++++::::::++++::+:::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++
++++++++::::++::::::::::::::::::++::::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++::::::::::::::++::::::::::::::::+:::::::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::+:::::::++++++++::++++++:++++++++++++++++++
++::+++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::+:::::::::::::::++++++++++++++++++++::+++++
++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,::,,::::::::::::::::::::::::::::::::::++++++++::+++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,..................,,,...........................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,...................:,...........................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................:,.............................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,.........................................,,.............................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,...........,,..........................................,,...............................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..............,,,..........................................,................................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,.................,...........................................,..................................................................,,,,,,,,,,,,,,,
.................................,...........................................,............................................................................,,,,,
..............,,,,,,,,,,,,,,,,,,,,...........................................,,..............................................................................,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................,,.........  ....................................,,..............................,
::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,....,,,,...,,.,,,,....... .,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,....,,,,,,.......,,,,,,
::::::::::::,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,.,,,,,,..,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,.,,:::
:::::::,::::::::::::,:::,:::,,:,,,::::::::::::::,,,,,,,,,::,,,::,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::,,,,,,,,,:,,,,,::,,::,,,::::::,,,:::::::::::::::++:::+++*+,,,+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::
,,,,,:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++::+:::::::+:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::,,,,,,,,,,,,,,,,,,:+::::++::++++++++++++++++++:::+:::+++++::::::::*,,,:,,,,,,,....,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........,,,,,,::::::::::::,
::,,,,,,,,,,,,,,,,,::::::+++++++++++++++++++++:++++::+::::::+:+++:::++**:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::+++++:::+++++++++++
,,,,,,,,,,,,,,,,,,::::::::::++::::::++++++++++:,++++++++::::++:+++:+++*++::::,***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::::::++::,,::++++++++++:::++*++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++:++++++++++++***********++****++**#**+,,,,,,,,,,,,::,,:,,,::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,::::::::::::::::+++++++****++++****+++*+::+**++******++++*+++**+***+,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,:::::::::::::::::+++++++*+++*+******+++::+:++++++*********+++**+**#+,,,,,,,,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,::::::::::::::::::+++++++++++++++++++++++::,++++++++****+****+**+***,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,,,::::::::::::::::::++++++++****++*+++++:+:,::++++::::++++++++***+::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,::::::::::::::::::::::::::::::+++++++++++++++++++:+:,,,,,,,,,,::,,,,:****+,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++++++++++::::::::::,,,,,,,,,,,,,:,,,:,,,,,,,,::::+++++++****:,,,,,,,,,,::::::,,,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::+
++++++::::::::::::::::::::,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::,,::,,::,,::,,::::::::::::::::::::::::::::::::::++::::+++++
++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::+++++++::+::+++++++::::::,,::::::+:++:::::::::::::::+++++++::::::::::::::::::::::++:::::::::::::::
++**++++++:++:::::::::::::::::::++::::::::++::::::::::::::++++++++++++++++::::::::++++++::+:::::++:+++++++++++++++++++++++++++::+++++*++++**+++++++++++++******
*****+++++++++++++:+++++++::::::::::++++++++++++:::+++:++++++++++++++++++++++++++++++++++:+++++++++++++++++++***+***++++++++++++++******+***++++++++***********
++++++*++++++++++++++++++++++++++++++****++**++++++++++++********++++++++********++:++++++++++++++++++++++++++**+++*+++++++++***+*********+**+******+********+*
++++++++++++++++++++++++++++**++++++++++++++++:::::::::::::::::::::::::+++++++++::::::::::::::::::::::++++++++++++++++++++*+++++++*++++++++**+******++++**+++++
++++++++++++++++::::++::::::::::++++::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++***
++++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::+::::::+++++:::+:::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++*++++++++++++++++
:+++++++++++++++::::::::::::::::::::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+:::::::::::::::::::::++:::+++++:+++++++++++++++++++++++*
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::+++++::::++::++::++::::::::+++++++++++++++++++++
++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::+++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,...................:.........................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,...................:,........................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,...................:,..........................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,...................:,..........................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,............,,......................,...................,.............................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,............,.,,......................,...................,.............................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,................,.......................,...................,...............................................................,,,,,,,,,,,,,,,
,...................................,.......................,...................,.........................................................................,,,,,
.................,,,,,,,,,,,,,,,,,,,,,......................,...................:,..........  .................................................................
,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................,,........... ..................................,,.............................
::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,:,,,,,,,....,,,,....:,..,,....... ..,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,...,,,,,,,,,,......,,,
::::::::+:::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,.,,
::::::::+:,,::::,:::::,,::::::,,,:,,,:::::::::::,,,,,,,,,,,,+:,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
:::::::::,,,::::,:,,,,,,::,,::,,::::::::,,::::::::::::::++::++**++:,,,+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,:::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++::+::::::++:+,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,...,,,,,,,,,,,,,,,,,,:::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++++++++++++++++:::+::++::++::::::::*:,,,:,,.,,,......,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,:,:::::::::::
::,,,,,,,,,,,,,,,,,,,:::::::::++++++++++++++++++++++++++::::::++++++::++**,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::::++++++::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++++++++++:++++++::::::++++++++++*+++::::****+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,::++++++++++:::++++++++++++++++++++++++++++:::::::::,::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++:+++**++++**++***********************+,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++**++++******++++::+++************+++**+***+,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,::::::::::::::::+++++++**++++*+++++++++:+:++*************+*+**+**#+,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,::::::::::::::::+++++++*++++++++++++++:::,:+++++******+***********,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,::::::::::::::::++++******++++++++++++:,:+::++++:::::::+++****,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++:::::::::
::::::::::::::::::::::::::::::::::::::::::++++++++++++:::+++::::,,,,,,,,,,,,,,:*****,,,,,,,,,,,,,,,,::,,::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::
++::::::::::::::::++++++++++++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++:,,,,,,,,,,,,::::,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
++++::++::::::::::::::::::,,,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::::::::,,,,,,::,,::,,::,,,,::::::,,,:::::::::::::::::::++::::+++
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::++++++++::::,,,,:::::::+::::::::::,:::::++++::++::::::::::::::+:::::++++:::::::::::
**++**++++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::+:::::::::++++::++::::::++++++++++++++++++++++++++++++:+++++++++***+++++++++++++***
********++++*+++++++::+++++++::::::::::+++++++::+++:::++::+++++++++++++++++++++++++++++++++++:++:+++++++++++++++******++++++**++++++******+*****+++++++********
++++++++++++++++++++++++++++++++++++++++**++++**++++++++++++********++++++++****++**+++++++++++++++++++++++++++++***+**+++++++++*******************************
+++++++++++++++++++++++++++++++*++++++++++++++++++::::::::::::::::::++::::++++++++++::::::::::::::::::::::++++++++++++++**++++++++**+*++++++++**++****++++++++*
++++++++++++++++++++::::::::::::::::++++::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++:+++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++
::++::++++++++++++++::::::::::::::::::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::++::++::+++++++++++++++++++++++++++
++++++::++::::++::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::++::++::+++++:::::++:++++++++++++++++++
::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::,:::::::::,,::::::::::::::::::::::::::+:::::::+++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...........,...................:......................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.............,...................:......................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................,...................:........................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................,...................:........................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,......................,...................:........................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,...............,.......................,...................,..........................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,...............,.......................,...................,............................................................,,,,,,,,,,,,,,,
,,,,...................................,.......................,...................,......................................................................,,,,,
,,,,................,,,,,,,,,,,,,,,,,,,,.,.....................,...................:......... .................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................:.............  ...............................,,...........................
:::::::::::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,....,,,,..,:,,,,,,..,... ..,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,....,,,,,,,,.......
:::::::::::+::,,,,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,
::::::::::::::::::::::,:,,,:,,,::,,:,,,,::,,::,,,,,,,,,,,,::,,,::,,,+:,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
:::::::::,::,,,,,,,,,:,,,,,,,,,:,,,,::::::::,::::::::::::::+++:+*+*++:,,,+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++++::::,+*::+,,,,:,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,,,,,,,,,,,,,,,,::,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++:::::::::::++++::::::::+,,,,:,,.,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,.......,,,,,,,,:::::::
::::,,,,,,,,,,,,,,,,,,,,,:::::::++++++++++++++++++++++++++::::::::++++++++*+:++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::+++++++++++++
::,,,,,,,,,,,,,,,,,,,,,,::::::::++++:::::+++++++++++::++++++::::::+++:++++*+++:::::+***+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,::::::++++++,,,,::++++++++++::++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++:++*+**++*++++***********************,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++*++********++:+++**************+++******:,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,::::::::::::::::+++++++*+++++***++**+:+:++**************+++******:,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,:::::::::::::::++++++++++++:++++++++++::,++++++++++++++**++***:*+,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,,,,,,,,,::::::::::::::+++++++++++++++++++::+,+::::+:::++::::+++***:,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++:::::
++::::::,:,,,,,,::::::::::::::::::::::::::::::::::::::::::::++++::::++::::,,::::::****:,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::+++++++++++++::::::::::,,,,,,,,,,,::,,,:,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,::::::,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::
++::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::
+++++++++++:::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::,,,,::::::::,,::::::::::::::::::::::::::::::::::::++::+
**++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+:+++++++++:::,,,,::::::+:++:::::::::::::::+++++::::::::::::::::::::::::++++:::::::
*+++++++++++++++:+:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++::::++::::::+++++:::::++++++++++++++++++++*+++++++++::++++++++++**+++++++++++++
++******+*+++++++++++++::+++++::::::::::::++++++++::++::::+::++++++++++++++++++++++++++++++++++++++++++++++++++++++***++**+++++++++++++*******+*****++++++*****
++++++++++++*++++++++++++++++++++++++++++++****++**+++++++++++++******+++++++++****+***+++++++++++++++++++++++++++++***++*+++++++++****************************
++++++++++++++++++++++++++++++++++**++++++++++++++++:::::::::::::::::::+::+::+::++++++::::::::::::++::::::::+++++++++++++++*++++*++++**+****++*++**+******++++*
++++++++++++++++::::++::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::+:::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++*++++++++++
::::::++++++::::++::++::::::::::::::::::::::::::::::::::::::::::++++++::++:::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++*++++
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:+:::++::::::::::+:::::::::::::++::+++:+++::+++++:++++++++++++++++++
++::++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::+++++++++++::++:+++:::::++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::,:::::::::::::::::::::::::++::::::+++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,...................:,..................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,...................:,..................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,...................:,....................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,...................:,....................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,......................,...................,,....................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,......................,...................,.....................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,................,.......................,...................,.....................................................,,,,,,,,,,,,,,,,,,,
..,,,,,,..................................,.......................,...................,.....................................................................,,,
..,,,,,,................,,,,,,,,,,,,,,,,,,,,......................,...................:,............... .......................................................
,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,...................,,........... ..................................,,.......................
::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:,,,,,,,......,,,,,.:,,,,,..,,... ...,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,...,,,,,,,,...
::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::,
::::::::::::::::,,::::,:::::,,,:,,,:,,,:,,,:::,,::,,,,,,,,,,,,::,,::,,,::,:,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::,,::,,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,:::::::::::::::::::::++:+++***+:,,,+,,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,:::::
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++++::::::++:+,,,,:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++::::::::::++++::::::::+:,,,:,,,,,,....,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,.......,,,,,,,::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++++++++++++++++++++++::::::++++++++++++*+:+,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::::+++++++++++
::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++::::::++++++++++:,::+++::::::++++++++++++++++::+***+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,:::::::::::::::::::::
::,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::++:,,,,::+++++++++:::++++++++++++++++++++++++++++++::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++++:++++++++++************************#+,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++**++****+++++*,:+*++***********+++******::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::++++++++*+++++****++++++++:+**************++******,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++*++++++++:,::,+++++++++++++++++***:*+,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::++++++++++++++++::::::::::::::++:++****:,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++:
+:::::::++::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,::::::::::++::::++++++++:::::****:,,,,,,,,,,,,,,,,::,,,,::::::,,:::::::::::::::::::::::::::::::::::::::
++::::::::::::::::::::::::::::::++++::::++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::
++++++++++::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,:::::+::,,::::::::::::::::::::::::::::::::::::::::::::::++:
******++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::+++++++++:::,,:::::::::+::::::::::::::::++++++++::::::::::::::++:::::+++:::::
****++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++:+++:+::::++::++::++::::::++++++++++++++++++++++++++++++:+++++++++****+++++++++
++++**********++++*+++++++:::+++::+:::::::::::++++++::+++:::++::++++++++++++++++++++++++++**++++++++:+++++++++++++++++******++++++++++++++**************+++++**
++++++++++++++++++++++++++++++++++++++++++++++**++++**++++++++++++********++++++******++**++++++++:+++++++++++++*++++++***+**++++++++++************************
++++++++++++++++++++++++++++::::++++++++++::++++++++++++::::::::::,:::::::::::::++++++++++::::::++++++::::++::::++++++++++++++**++++++++**+*++*+++*+**********+
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++*
::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::++::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++++++++++++++++++++
::::::::::::++++::::++::++::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::++:++++++++++++++++++++++++++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::::++++::++++++::++++++++++++++++++++:
++::++::++++::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++::++::++++++++::++:++++++++++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::,::::::,,:,,::::::::::::::::::::::::::+:::+++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................,...................:................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,...................:................................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................,...................:..................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................,...................:..................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,......................,...................,..................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,.......................,...................,..................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..,,,,,,,,,,,,,,,,.................,.......................,...................,..................................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,...................................,.......................,...................,..................................................................,,,
....,,,,,,...............,..,,,,,,,,,,,,,,,,,,.......................,...................,.....................................................................
,,..,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................,..........  ..................................,,,,...................
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,....,,,,..,:,.,,,,.....  .,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,
::::::::::::::::::::,,,,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::
:::::::::::::::::::,,,::,,::,:,,,::,,::,,,:,,,::,,::,,,,,,,,,,,,,:,,,::,,,+:,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
:::::::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,:,:::::::::::::::::::::+++:++***::,,,+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++::+:::,::+::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++++::::::++++++:::::::+:,,,:,,,,,,,..,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,......,,,,::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++++::+++++++++++++:::::::+++++++++++*::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::::::++::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+::::::++++++++++::::+++++::++++++++++++++++++::+**:,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:,,,,:+++++++++::::+*++++++*+++++++++++++++++++++*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++,++++++++*++*+********************#*+,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++**************:+,:************+*+++**+***::,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::,:::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++*+++++++****+*++:,+***************+******:,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,:::::,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++***+++++++*+::.+:++++::::+++++++***+*:,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++:::,,,,,,,,,,,,,,::****:,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++::::::::::::::::+
+++++:++::++::::::,,,,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++****::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::::::::::::+++++++++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::,,,,::::,,:::::::::::::::::::::::::::::::::::::
::::++++::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,::,,,,,,,,:::::::::::::::::::::::::::::::
++++++++++++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
**+*****++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::++++++++:+::+++++++::::,,,,::::::+:++:::::::::::::::++++++++::::::::::::::+::::::+++::
*******+++++++++++++++:+::::::::::::::::::::+::::::::::::::::::::::::+++++++++:+++++++::++++++++::+++++:::::++++++++:+++++++++++*++++++++++++++++*+++***+++++++
***+++++******+**+++++++++++::::++++::::::::::::++++++++++++:::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++*******++++**+++++++*******+*******+++
++++++++++++++++++++++::+++++++++++++++++++++++++***++++*+++++++++++++++****++++++++*********+++++++++++++++++++++++++++++***+**++++++*++**********************
++++++++++++++++++++++++++++++++::::++++**++::++++++++++++:::::::::::::::::::::::::+::++++++::::::::++::++::::+++++++++++++++++++**+++*+++********++*++********
++++++++++++++++++++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++
::::::::++:::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::+++++:::+:::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++*++++
::::::::::::::++++::::::::++::::::::::::::::::::::::::::::::::::::::::++++++::++::++:::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++
::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::++::::::::+++:::::::::::++++++:++:++++:+++++++++++++++*++
++::::++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+:++++++++++++++++++++++++++++:+++++++++++*
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::,:::,:::::::::::::::::::::::::++:::++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,:..........................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................,..................,:..........................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................,..................,:............................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................,...................:............................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,.......................,...................,............................................,,,,,,,,,,,,,,,,,,,
........,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,.......................,...................,............................................,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,..,,,,,,,,,,,,,,,,.................,.......................,...................,............................................,,,,,,,,,,,,,,,,,,,
.....,,,,,,,,,,,...................................,.......................,...................,..........................................................,,,,,
,,,,,,,,....,,,,..................,,,,,,,,,,,,,,,,,,.......................,...................,...............................................................
,,,,,,,,....,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................:........... ....................,,,,........,,,,,,.............
::::::,,::::::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,......,,,,..,:,,,,,,,,,... ..,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,
+:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
::::::::::::::::::::::::,,,,,,,,,:::,,,:,,,:,,,,,,,,::,,::,,,,,,,,,,,,,,,,::,,,:::,,:,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::+++++++*+:,:+,,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,:::::::::::::::::++++::::,:++,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++**++++++::++::+++++::::::::*,:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,.......,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++++++:++++::::::++++++++++**++,,:,+:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,::::++::::::+++++++
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++:::::+++:+++++:::+:+++++::++++++++++++++++::::+*,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++::::::+++++++++++++++++++++++++++++++++++++++**#+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++++++++++++++:+++++++++++++******************+**+,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++++++++++***********+::::***************+**:***:,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++*+++::+++++++*:::,+*****************++*:,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++**++++++++++++**+++*++::++++++++++++++++***:,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,,:,,::::::::::::,,::::::::+++++++++++++++++++++++:::,,,,,,::,,,,,,:****:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++:::::::::::
::::++++::::++::++::::,,,,,,::::,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::::::,::::::::::::::::::::::::::::::::::::::
::++++++++::::::::::::::::::::::::::++::::++++::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::++::::::::::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,::,,,,:::::::::::::::::::::::::::
::::+++++++++++++:::::+:::::::::::::::,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,::,::++::,,,:::::::::::::::::::::::::::::::::::::::
+++*****+*+***+++++++++++++++:::::::::::::::::::::::::::::::::::::::,:::::,,::::++++++::+:+++++++++:::,,::::::+++:++::::::::::::::++++++++::::::::::::::++::++:
*************+++++++++++++:::+::::::::::::::::::::+::::::::::::::::::::::::+++++++++++++++++::::+++++++++++++:::::+++++++++++++++++++++++++++++++++++++*+++****
+********+++++******+**+++**++++++:::+++::::::::::::::::+++++:::+::::++:++++++++++++++++++++++++++**++++++++++++++++++++++++++********++++**+++++++************
::::++++++++++++++:+++++++::::::++:++++++++++++++++++++**++++*++++++++++++++******++++++++********++++++++++++++++++++++++++++********++++++*++****************
++++++++++++++++++::++++++++++++++::++::::++++++++::+++++:++++++:::::::::::::::::::::::::+::++++++++::::++::++++::+++++++++++++++++++++**+++*+++***+****++*+**+
++++++++++++++::::++++::++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++++++++++++++++++++++++++****+
++::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
::::++::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++++++++++++++
++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++::::::::::::+++++++++++++++++++++++++++
++++++++::::::::::++::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++++++++++++++++++++:++++++
++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::,:::::::::,:::,:::::::::::::++::++++::::++:::++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................,,..................,,.......................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,..................,,.......................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,..................,,.........................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................................,,.......................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,...........................................,.........................................,,,,,,,,,,,,,,,,,,,
,,........,,,,,,,,,,,,,,,,,,,,,,,,....................,......................., ..................,.........................................,,,,,,,,,,,,,,,,,,,
,,........,,,,,,,,,,,,,,..,,,,................................................, ..................,.........................................,,,,,,,,,,,,,,,,,,,
,,......,,,,,,,,,,,,..................................,...........................................,.......................................................,,,,,
,,,,,,,,,...........................,,,,,,,,,,,,,,,,,,,.......................,...................,............................................................
,,,,,,,,,,......,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,..................,,.............................,,,,,,..........,,,,,,.........
:,::::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,....,,,,,,.,,,,,,,,,,,... ..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,::::::::::::::::::::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:.,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
:,::::::::::::::::::::::::::,,,,,,,:,,:,,,:,,,:,,,:,,,,:,,,:::,,,,,,,,,,,,,,,,::,,,+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,::,:,,::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,:,,,,,,,,,,,,::,::::,,:::::::::::::+++++++*++::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,::::::::::::::::++:+::::::++,,::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++*+++*****+++++:+::+++++::::::::+::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,..,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++:+++::::::+++++++++*+#++,,,:*++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::+++++++
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++:::,::+++++::++++++++++++++++++::++,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++++++++++++++**++++++++++++*###::::::::::::++++:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++:++++**+*+++*++++++++*************:,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++***++*********++:**************++**:*#+:,,:,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++,+++++++*:::.++++******+*******:+*::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++*******++**+::,++++++++++++++++**::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::++++++++++++:+++++::::::::,,,,,,,:*****:,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++++:::::::
::++:::+*++++:::::::::::,,,,,,,,,,,,::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::::::::::::::::::+
::::::++++++::::::::::::::::::::::::::::::::::++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,::,,,,,,:::::::::::::::::::::::
++::::++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:::,,::::,,,,,,,,:::::+:::,::::::::::::::::::::::::::::::::::+++
++++*******+*+***++*++++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::++:+++::::::++++:+++::::::::::::+:++++:::::::::::::+++++++++::::::::::::::++:
***************+++++++++++++::::+:::::::::::::::::::::::::::::::::::::::::::::++++*++++++++++++:++:+++++++++++++:::::+++++++++++++++++++**++*+++++++++++++++++*
++++******++++++++++**++**++++++++++::::++++::::::::::::::++++++::++::::++::+++++++++++++++++++++++++****++*++++++++++++++++*+*++********+++++***+++++*********
::::::::::++++++++++++++++++::::::++::++:+++++++++++++++++**++++*+++++::++++++*******++++++++********+++++++++++:+++++++++++++*+++******++++++**+**************
++++++++++++++++++::::::::++++++++++::++::::++++++++++::::++++++++++::::::::::::::::::::::::++++++++++++::++++++++::::++++:+++++++++++++++**+++*++++****+******
++++++++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++*+++*
::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::++++++++++++++++++++++**++*++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++::++::::::::::::::::::::::::::::::::::::::::++++++:++++++++++++++++++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:+::::++::++::++::::::::++++++++:++++++++++++++
+:::++++++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::++++++++:+++:+++++++++++++:++++++++++++++
++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::+++++++++++
$,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,..................,,....................................,,,,,,,,,,,,,,,,,,,,,
,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,..................,,....................................,,,,,,,,,,,,,,,,,,,,,
,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,..................,,....................................,,,,,,,,,,,,,,,,,,,,,
,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,..................,:....................................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,...........................................,..................................,,,,,,,,,,,,,,,,,,,,,,,
,,,,........,,,,,,,,,,,,,,,,,,,,,,..,,,,................,,.......................,...................,..................................,,,,,,,,,,,,,,,,,,,,,,,
,,,,........,,,,,,,,,,..,,..,,...........................,.......................,...................,......................................,,,,,,,,,,,,,,,,,,,
,,::........,,,,,,,,,,...................................,...........................................,......................................................,,,
.,:,,,..,,,,............................,,,,,,,,,,,,,,,,,,.......................,..................,,.........................................................
,,:,,,,,,,,,,...,,,,,,......,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,..................,,............................,,,,,,..........,,,,,,.......
,::,,:,,::::,,,,::::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,.....,,,,,,,,:..,,,,...... .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,:,,:::::::::::::::::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,...,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,:,:::::::::::::::::::::::,:,,,,,,,,::,:,,,:,,,:,,,,,,,,::,,::,,::,,,,,,,,,,,,,,,,,::,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,:,,:::::,,::::::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,::::::,:::::::::::::++++:++++:,,,+:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++:::,:++:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,.,,..,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++++++++*+++++++:::+++++:::::::+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,..,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::+++++++++:::++++++::::++++++++**++:,,+**+:,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,::::::::::+++
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,::++++++++:,::+++++++:+++++++++++++++++::+:,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++:::++++++++++++++++++++**+**++++++++++****##::::::::::::++++:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++**+*++++**++++++++***********:,,,,:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++**+***********+::+*************++**:**:::,,,,:::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++::++++++++::,++++++++**********:**::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++*++++***++++::,::::::::::::++*+**+:,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,::::::::::+++++++++++++++++:::::::::::,,::*****:,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++:::::
++:::::::+++++++::::::::::,,::,,,,::,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::+::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::
++++::::::++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,::::::::::,,:::::::::::::::::::::::::::::::::
**+++++++*****+*+***+++++++:++++++++::::::::::::::::::::::::::::::::::::::,:::::::::++++++++::::+*+++++++:::,,::::::++:+++::::::::::::::++++++++::::::::::::::+
**********+*******++++++++++++++:::+:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++:+++++++++++++++::::::++++++++++++++++++***+++++++++++++++*++
++++++++++**+++++++++++++++*++++++++++++::::++::::::::::::::++++++::::+:::::::++++++++++++++++++++++++++**+++++++++++++++++++++++*++*********+++**+*++++*******
::::::::::::+++++++++++++++++++++::::::::+::++++++++++++++++***+++**++++::++++++********++++++++********++++++++:++++++++++++++++++++*******++++***+***********
++++++++++++++++++++::::::::++++++::++::++::::::++++++++::::::::++++++::::::::::,:::::::::::::++++++++++++::++++::++++::+++++++++++++++++++++**+++++++***+*****
++++++++++++++++++::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++**+
::::::++::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::++++:::::::::::::::::::::::::::::::::++++++++++++++++++++++******+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+::::::::::::++::::::::::::::::::::::+++++++++++++++++++++++++++++
++++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::++::++++::::::+++++++++++++++++++++
++++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::+++++:+++++++++++++++++++++++++
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::+++++++++:++++++:++
$,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................,..................,,,...................................,,,,,,,,,,,,,,,,,,,
,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................,...................,,...................................,,,,,,,,,,,,,,,,,,,
,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,...................................................,,...................................,,,,,,,,,,,,,,,,,,,
,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,...................................................,,...................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...........................................,,...................................,,,,,,,,,,,,,,,,,,,
,,,,,,,.........,,,,,,,,,,,,,,,,,,.........................,.......................................... ,,................................,,,,,,,,,,,,,,,,,,,,,,
,,,,.,,.........,,,,,,,,.....,........................................................................ ,,...................................,,,,,,,,,,,,,,,,,,,
,,,,,:,.......,,,,,,,,,,...................................,...........................................,......................................................,
,,,,.:,,,,,,..............................,,,,,,,,,,,,,,,,,,...........................................,,......................................................
,,,,,:,,,,,,,,,,....,,,,.......,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................,,...........................,,,,,,,,........,,,,,,,,...
::::::,,::,,,:,,,,::::::,,,,,,,::,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,....,,,,..,,,,,,,,,,,... ..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,:,,+:::::::::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,:::::::::::::::::::::::::,,,,,,,,:,::,,,:,,::,,,,,,,,:,,,::,,:,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,,,::,,::::,:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,::::::::::::::::::++++++++*,,,+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++::::::++,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,:,,,,,..,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++:+++++++++++++++:::+++++::::::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,.
,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++::++++++++++++:,+++++++++++++++++++*++::,+**+:,,,,,,,,,,,,,,,,,,,,::,,::::::,,::::::::::::+++
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::++:+++++:,::++++++++++++++++++++++++::+:,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++::++++++++++++++++*++++****+++++++++****##::::::::::+++++::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++**+++********++********++++***+*****::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++**++********+++::**************+**:**:::,,:::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++++++++++++++++++++:+:.+++++++++++******:**,:::::::::::::::::::::::::::::::::::::::::::::
::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::+++*****+*++++:,:::::::::::::++***::,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::++++++++++++++::++++++::::::+****:,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++:::
++::::::::::+++++:::::::::::::,,,,,,,,,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::++:+::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::
:::+++++::::++++++++:+++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,,,,,:::::+++:::::::::::::::::::::::::::::::::::
++++++++++++*****+*+***+++++++++++::::::::::::::::::::::,,::::::::,,::::::::::::::::::::++++++::::++++++++++::::::::::+++:+++::::::::::::::++++++++++::::::::::
+++*************++***+++++++++++++:::++:::::::::::::::::::::::::::::::::::::::::::::++++++++:+++++++::+:+++++++++++++:::::+++++++++++++++++++***+++++++++++++++
++++++++++**+*++++++++++++++++*+++++++++++::::+++:::::::::::::::+++++:::++:::::::+++++++++++++++++++++++++**++*+++++++++++++++++++++*++********++++****++++****
::::::::::::::::++++++++++++++++++::::::::::++++:+::++++++++++++*+++++*++++++++++++++******++++++++********+++++++++++++++++**++++++++********++++++**+********
++++++++++++++++++++++::::::::::++++::::::::++::::++++++++++::::++++++++:::::::::::::::::::::::::++++++++++++:::++++++++::::++++++++++++++++++++*+++**+++******
++::++++++++++++++++::::::++::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++*
++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::+::::::+::::::::::::::++::::::++++++++++++++++++++++*****
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::::::::::::+:::::::::::::::::::::::++++++:++++++++++++++++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::++:++:++++::::::::++++++++++++:++++
++++++::::::::++:::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::++++++++++++:++++++++++++++++++++++
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::++::++++++++++::+++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,.................,.:,................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,...................:,................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,...................:,................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,...................:,................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,.................... .,...................,.................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..........,,,,,,,,,,,,,,............................,,......................,...................,.................................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,........,,,,,,,,,,..................................,.......................,...................,.................................,,,,,,,,,,,,,,,,,,,
,,,,,,.,,,.......,,,..,,,,,,..................................,..................... .,...................,....................................................
,,,,,,,,:,,,....,,..........................,,,,,,,,,,,,,,,,,,,,......................,...................:,...................................................
,:,,,,,,:,,,,,,,,,......,,,,......,,....,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,................,...................:,.,........................,,..,,,,,,......,,,,,,,,,
,:,,,,,::,,:,:::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,....,,,,,,..:,,,,,,,,,... ..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:,,,,,::,,:::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
,:,,,,,,,,::::::::::::::::::::::::::,,,,,,,,:,:,,,,:,,::,,,,,,,::,,,+:,,::,,,,,,,,,,,,::,,::,,,:,,,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,,,:,,,:,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::+++++++*+:+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,:::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,::::::::::::::::++++:::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,.,..,,,,,,,
,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++++++++++++++++++++:::::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++++++++++:,+++++++++++++++++**++::,+***:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++:::,::+++::::+:,:++++++++++++++++++++++++:::+::::::::,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++++++++********++++++**+****#+:::::::++++++::::+::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++++++*****+******+**:+**************+*****+:::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++++++**+**+*****+*++++*************+**+**::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++****++++++:::,::++++++++******:+*,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::++++++++++++:,:,,,,,,::::,:+****::,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,::::,,::::::::,,,,,,,,::::::::::,,,,,,,,,,,,::::::::::::::::++++::++++++++++++:****:,,,,,,,,,,::::::::::::::::::::::::::::::+++
:::::::::::::::+++*++:::::::::::,,,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::
++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::
::::::++++::::::++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,:::,,,,,:::::::++:::::::::::::::::::::::::::::::::
***+++*++++++++*****+*++*+++++++::+++:++::::,,,,::,,::::::::::::::::,,::::::::::::::::::::+++++++:::::++++++++::::::::::++:+:+++::::::::::::++++++++++:::::::::
++++++**********+**+**++++++++++++++:::::+:::::::::::::::::::::::::::::::::::::::::::::+++*+++++++++++++++++++++++++++++:::::++++++++++++++++*++***+**+++++++++
++++++++++++++++++++++++++++++++++++++++++++:::::+++::::::::::::::++++++::++::::++::++++++++++++++++++++++++*+**+*++++++++++++++**++****++********+++*****++++*
++::::::::::::::::::++++++++::+++++++::::::::::::+++++++++++++++++**++++++++++::++++++++******+++++++*********++++++++++++++++++++*****++********+******+******
++++++++++++++++:::++++++:::::::::::::::::::::++::::::++++++++::::++++++++++::::::::::::::::::::::::++++++++++++::++++::++++::++++++*+++++++++++++**+++***++***
::++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++****+++
++++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::++::::::::::++++::++::++++++++++++++++++++***
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::::++::::::::::::::::++::::+++++++++++++++++++++++
++++++++::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::++++++::++++++::::+++++++++++++++
++++++++++::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::++++++++++++++++++++++++++:++++++
++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++::+++
$,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................,..................,,,.......................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................,...................,,.........................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................,,...........................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.............................................................,,...........................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,..........................................,,.......................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,.........,,,,,,,,...................................,...........................................,,............................,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,.........,,,,,,,,...............................................................................,,...............................,,,,,,,,,,,,,,,
,,,,,,,,,,,,.:,.......,,,,..,,,,...............................................................................,,..............................................
,,,,,,,:,,,,.:,,,,................................,,,,,,,,,,,,,,,,,,...........................................,,..............................................
,,,,,,,:,,,,,:,,,,,,,,,,....,,,,........,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................,,,......,...................,,,,,,,,........,,,
::,,,,,:,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,....,,,,,..,,,,,,,,,,,..  .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,:,,,,,,,,+:::::::::::::,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,::::::::::::::::::::,,,::,,,,,,,,:,::,,,:,,,,,,,:,,,,:,,,::,,,:,,,:,,,,:,,,:,,,,::,,,,,,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++**+,,:,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,:::::::::::::::+++++::,:++,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::::++++++++++++++++++**++++++++:::::::+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++::+:+++++++++++:++++++++++++++****:::+***:,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,::++++++++,,:+**+++++++++++++++++++:::::::,,,,::,,,,,,,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++****+*********++++*******#*:::::+++++:::+++:::++:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++**+*+*******+++*****************#::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++**+++*****+*+++******************::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++*********+++++:,+:+++++++++++***:+,:::::::::::::::::::::::::::::::::
::,,::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,+++++:::+++++:::,,,,,,,,,,:#***::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++**+:,,,,,,:::::::::::::::::::::::::::::
:::::::::+::::::::::+++++:::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,:::::::::::::
++::::::::::++++::::::++++++:+++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,:::::::+++:::::::::::::::::::::::::::
++++***+++++++++++++*****+*+++++++++++::++::::::::,,::::,,::,,,,,,::::::::,,::::::::::::::,,::::+++++:+++::+*+++++++::::::::::++++++++::::::::::::++++++++++:::
****++++++++++******++**++**++++++++++++++:::++:::::::::::::::::::::::::::::::::::::::::::::++++++++:+++++++::++++++++++++++++::::+++++++++++++++++++***+*+++++
++++++++++++++++++++++++++++++++++++++*+++++++++++::::+++:::::::::::::::+++++::::::::::::+++++++++++++++++++++++++*****+*+++++++++++++*+***+**+*********++*****
++++::::::::::::::::::::::+++++++++++++++:::::::::::::++:+++++++++++++++*+++++*+++::++++++++++*****+++**++*********+++++++++++++++*+******++*+********++******+
++++++++++++++++++++++::++++::::::::::::::::::::::::++::::::++++++::::::++::++++::::::::::::::::::::::+::+++++++++++++::++++++++++++++++++++++++++++++++**++***
::++::::::::::++++++++::++++::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++*
::++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::++++::::::::::::+++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::++::::::::::::+:::::::::::::::++++::+++++++++++++++++++
++::::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::++:+++++++++::::::+++++++++
++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++:++++++++++++++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::+++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,................................,...................:,....................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,...................:,......................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,..................................,...................:,........................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,....................................,...................:,........................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,.......................,...................,.........................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..........,,,,,,....................................,.......................,...................:.............................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..........,,,,,,....................................,.......................,...................:...............................,,,,,,,,,,,,,
,,,,,,,,,,,,,,.,,,........,,....,,....................................,.......................,...................:............................................
..,,,,,,,,,,..,,,,..................................,,,,,,,,,,,,,,,,.,,,......................,...................:,...........................................
,,.,,,,,,,,,,,,,,,,,,,,,,,......,,........,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,................,...................:,,,........................,,,,,,,,,,....,,,
::::,,,,,:,,,,,::,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,..,,,,,,,,:,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,:,,,,,,:,,:::::::::::::,,,,,,,,,,::,,,,,,,,,,:,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,:,,,,,,:,,,::::::::::::::::::::,,,:,,,,,,,,:,:,,,:,,,:,,,,,,,,:,,,,:,,,:,,,,:,,,::,,,:,,,::,,,,::,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::,,::::,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,::::::::::::::::::+++++**+:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::+++++::::+:,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...:::::+++++++++++++++++***+++++++:::::,:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++++++++++++++,++++++++++++++***++:+**+:,,,,,,,,,,,,,,:::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::,,:++++++++:,:++**+++++++++++++++++:::::::,,::::::::,,,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++************++++*******#*:::++++++::++++::::++:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++**************:+****************#::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++*+*+:+*****++:+*************+**::::::::::::::::::::::::::::::
::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++***+++**********++++:,+++++++++++++**:+::::::::::::::::::::::::::::::
::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,:*+++:,,::++++::,,,,,,,,,,:****+:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++::::,,:::::::::::::::::::::::::::
:::::::::::::::::::::::+++*+::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::
::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::
+++:::::::::::::::::::::::::::++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,:::::::::::
++*+::::::::::++++::::::++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,::::::::+++::::::::::::::::::::::::
++++++++***+++*++++++++*****+*++*+++++++::++::::::::,,,,::,,,,::,,::::::::::,,:::::::::::::::::::+++++++++::++*+++:+++::::::::::++++++++++++::::::::::+++++++++
**+***++++++++++++++++**+**+++++++++++++++++::::+:::::::::::::::,,::::::::::::::::::::::::::::++++*+++++++++++++++++++++++++:+++++++:+++++*+++++++++**********+
++++++++++++++++++++++++++++++++++++++++++++++++++++:::::+::::::::::::::::++++++::++::::++::++++++++++++++++++++++++*****++*++++++++++++********+*********+++**
++::++::::::::::::::::::::::::::::++::++++::+::::::::::::+++++++++++++++++**++++*+++++::+++++++++*****++**+++*********++++++++++*++++++++*****+++********+*****
++++++++++++++++++:+++::::++++::::::::::::::::::::::::++::::::++++++::::::++++::++::::::::::::::::::::::::::++++++++++++++++++++++++++++++++*+++++++++++++**++*
++::::::::::::::++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::++::::+++++++++++++++++++++++++++++++++++
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++::++:::::+++++::::::::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++::::::::::++++::::::::::::::++++::+++++++++++++++++
::++::::++::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++
++++::+++++++++++:::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
++++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,..................,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,..................,:....................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................,..................,,......................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................................,:......................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,........................,,..........................................,,......................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,............,,,,....................................,,.......................,..................,:...........................,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,..........,,,,,,.....................................,.......................,..................,,..............................,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,:,.........,...........................................,..........................................,,.........................................
:,..,,,,,,,,:,..,,:,..,,..,,............................,,,,,,,,,,,,,,,,,,.......................,..................,,.........................................
:,,,,,,,,,,,,,,,,,:,,,,,,,,,......,,,,......,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,..................,,............ .............,,,,,,,,,,,,...
::::::,,,,,,:,,,,,:,,::,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,......,,,,,,,,,,,,,,..,,,,,,,,,:,,,,,,,,,,.. .,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,:,,,,,:,,:::::::::,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,.,,,,,,,,,,,,,,,::,,,,,,,,,,,
::::::::::,,:,,,,,,,,,,,::::::::::::::::::::,:,,,,,,,,::,:,,,,,,,,,,,,,,,,:,,,::,,,:,,,,,,,,+:,,,+,,,::,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
::::,,,,::,,,,,,,,:,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,,::::::::::::::::::++++++*+,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++*++::::+,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,:::::++++++++++++++++****++++++::::::*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++,++++++++++++++*+::+*++:::,,,,,,::,,,,:::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++:+::,::++++++++:,:++*+++++++++++++++::::::::::::::::,,,,,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++***+*****************#*:::++++::::++::::++++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++******++********+***************#::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++++++++**+::******+++***************::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++***+++*++*********++*+,+++++++++++**:+::::::::::::::::::::::::::
::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:::::++++:,,::::++*+::::,,,,::,****+:::::::::::::::::::::::::::
::::,,::::::::::::,:::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::++:+++++::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::
+:::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::
**+++:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,:::::::::
++++++:::::::::::+++::::::::+++++++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++::::::::::::::::::::::
++*+++++++**++++++++++++++****+++++++++++++::++::::::,,,,,,,,,,,::,,::,,::::::,,::::::::::,:::::::::++++++++::::+*+++++++:::::::::++++:+++++++::::::::::+++++++
+++*+***++++++++++++++++**+**+++++++++++++++++::::::::::::::::::::,,:::::::::::::::::::::::::::::+++++++++++++++++:++++++++++++++++++++++++++*++++++++++*******
++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++::::::::::::::::++++::+++:::++::++++++++++++++++++++++++******++++++++++++++******+*++*********++
++++::++::::::::::::::::::::::++:::::::::+++++::::::::::::::::++++++++++++++***+++++++++::++++++********++**++**********++++*+++++*+++++++******+*++***********
++++++++::++:++:++++:+++::::::++::::::::::::::::::::::::++::::::++++++++::::::::::+++:::::::::::::::::::++:+::++++++++++++++++++++++++++++++++++++++++++++++***
++++::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++::+++:::::++++++++::::::+++++++++++++++++++++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::+++:::::::::+++::::::::::::::+++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++
::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
:::+++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................,...................:............,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................,...................:..................,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................,...................:....................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................,...................:....................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,..,,,,....,,,,,,,,...........................,.......................,...................:.....................,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,............,,,,.....................................,.......................,...................:............................,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,...................................,.......................,...................:..............................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,:..............,,.....................................,.......................,...................:.......................................
,,,,,,..,,,,,,,,,,,,,,...,..,,............................,,,,,,,,,,,,,,,,,,.......................,...................:.............................,.........
,,,,::,,,,,,,,:,,,,,,:,,,,,,,,........,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................:,,,,......................,,,,,,,,,,,,,
::::::::,:,,,,:,,,,,::,,+,,,::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,......,,,,,:,,,,,,,,..,,,,,,,.,:,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,:,,::::::::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,
:::::::::,,::,::,,,,,:,,,:,,::::::::::::::::,,,::,,,,,,,,:,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,,:,,,::,,,+,,,,::,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
:::::,,,,,:::,,,,,,,,:,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,,:::::::::::::::::++::+*:,,,,,,,,,,,,,:,,,,,,,:::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::::::::::::::::++++:,:+:,,,,::,,,,,,,,:,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,:::::++::++++++++++++****+++++:::,:++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++,+++++++++++***+:+*++:,,,,,,,,,,,,::,,:::::::
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++::,,:+++++++++,:+**+++++++++++++::::::::::::::,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++++*******************#*:+++++:::+++:::++::++:
:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++***************:+*********+****::::::::::::::::::::::
++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++++++++***::++***+++*************+::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++***************++,,+++++++++++*::::::::::::::::::::::::
::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++:::::,,:+**++::,,,,,,,****+:::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:::::,,,,::,,::::::::::::::::::::++:::::::
+:::::::::::::::::::::++::::++++::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::
++:+::::++++++::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::
****++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++:::::::::::++::::::++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+::::::::::::::::::++++:::::::::::::::::::
++++*+++++++++*+++++++++++++****++++++++++++++:++:::::::,,,,,,,,,,::,,,,,,::::::::,,::::::::,:::::,:::++++++++++++++++++++++::::::::+++++:++++++++:::::::++++++
++++++****++++*+++++++++++**++**++**++++++++++++++:::+::::::::::,,:::::::::::::::::::::::::::::::::+++++++++++++++++:+++++++++++++++++::++++++++*+++++++++*****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++::::::::::::::::+++++:::++:::+::++++++++++++++++++++++++*******+*+++++++++++******+***+********
++++::::::::::::::::::::::::::::::::::::::::++++::+::::::::::::::+++++++++++++++*++++*++++::++++++++******++++++**+********+++*+++++*+++++++********++********+
::::++++++::++++++::++::++++::::+++:::::::::::::::::::::::::++::::::++++++::::::::::::++::::::::::::::::::++::::++:+++++++++++++++++++++++++++++++++++++++++++*
++++::::::::::::::::::++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++++++::++:::::++++++::::::::+++++++++++++++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::++:::::::::::+::::++::::::::::+++++++++++++++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++:++++++++++++++++
::::::++::::::::++++++::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++
::::::++::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::+::+++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................,...................,:.........,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,...................,:.............,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................................,,.................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................................................,,.................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,,,,,....................................................... .................,,.....................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,.,,...........,,,,.....................................,......................... .................,,...........................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,.,...........,,,,,,............................................................. ..................,.............................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................. ..................,....................................
,,,,,:,,..,,,,,,,,,,...,,,..................................,,,,,,,,,,,,,,,,,,,,.........................................,,...........................,,,,.....
.,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,........,,........,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,..................,,,,,......... ............,,,,,,,,,,,
,,::,:::::::,,,,,:,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,..,,,,,,.,,,,,,,,,,,... .,,:,,,,,,,,,,::::,,,,,
:::::::::::,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,
::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::,,,,,,,,,,,,,,,:,,,:,,,,,,,,:,,,,,,,,:,,,:,,,,:,,,,+,,,,+,,,:,,,,,,::,::,,,,,,,,,,,,,::::,,,,,,,,:::::::::::
::::::::,,,,,,:,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:+,,::::::::::::::::+++:++:,,,,,,,,,,,,::::,,,::::::::::::
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::::::+:::::::++++++:::+::,,::,,,,,,,,,,,::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,.:++++++++++++++++********+++++::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++++++++++++::+++++++:+:+**:+:,::,,,,,,,,,,:::::::::
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::,,,:++++++++,,+**+++++++++++::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++:******************#*+++++::++++::+++++
:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++*****************:********+****::::::::::::::::::
++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++#*+,++****++**********++::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++******************+++,+++++*+++*::::::::::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+::::::+***+:::::::::+++*++::::::*##**:::::::::::::::::::
::::::::::,,::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::,,,,:::::::::::::::::::::::::::
++++:::::::::::::::::::::::::+:+++++::::::::::::::::,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
++++::+:::::++++::::::::::::::::::::::::::::,,,,::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
******+++++:::::::::::::::::::::::::::++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++:::::::::::+++::::::::++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+::::::::::::::::::++++::::::::::::::::
+++++++++++++++++++++++++++++++****+*+++++++::++::++::::::::,,,,,,,,,,,,,,::::::::::,:::::::::::::::,::::+++++++++:::+++++++++::::::::::++++++++::+++:::::::+++
++++++++*+***+++++++++++++++++*++**+++++++++++++++++::::+:::::::::::::::,,:::::::::::::::::::::::::::+++++*+++++++++++++++++++++++++++++++:+++++++*+++++++++***
++++++++++++++++++++++++++++++++++++++++++++++++*+++:+++++++::::+++:::::::::::::::++++++::++::::++:+++++++++++++++++++++++*******+*+++++++++*******************
++++::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::+::++++++++++++++++++*+++++++++++++++******++**+**********+++++++++**++++*+******++**+******
++::::::::++::::++++::++::++++::::+++:::::::::::::::::::::::::++::::::++++++::::::++::++++:::::::::::::::::::+++:::+++++++++++++++++++++++++++++++++*++++++++*+
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++:+++::::++++++++++++::+++++++++++++++++++
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::++::::::::::++++::::::::::::+++++++++++++++++
++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:+++++++++++++++++++++++++++
::::::::::::::::::++++::+:::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++
::::::::++:::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,..................,:........,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,..................,:..........,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................,..................,:............,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................,:..............,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,......................,...................,:....................,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,............,,......................................,,......................,,..................,:..........................,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...........,,,,,.....................................,......................,...................,:.............................,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................,...........................................,...............................
,,,,,,,,.,:,....,,..,,:,....,,...,................................,,,,,,,,,,,,,,,,,,.......................,..................,:..........................,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,..................,,,,,,.....................,,,,,,
::::,,,,:::::::,,,,,,,:,,,,,:,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,..,,,,,,,,,:,,,,,,,,,,....,,,,,,,,,,,,:::::
::::::::::::::::,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::::::
:::::::::::::::::,::,,::,,,,,,,,,,,,::::::::::::::::,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,,,,,,,:,,,,+,,,::,,,::,,,,,,,,:,,,,,,,,,,,:::::::::::,,,:::::::
,,,,,,,,::::,,,,,,,,,,,,,,,,:,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,,::,,,::::::::+++++++++:::::::::::::::,,,,:::::::
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,::+,,:::::++::::++++::++++:::+,,,,,,,,:,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,:+++********++**********++++:,,+,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:+++++++++::++++++++++:+*+::::+**+,::,,,,,,::::,
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.,,:+++::,::**+::,.,::+++++++::::::::::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::+++++++++***++++*********+++++*#++::++++:::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++**************+**+++++**+::::::::::
++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++++++++++***:+****+*******+:::::::::::
++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++*********************+:++++++*::::::::::::
++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++***+++:::::::::::+***+:::+###*:::::::::::
::::+:::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,::::,:::,:::::::::::::::+
++++++++::::::::::::::::::::::::::::++++::::::::::::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
****+**++::::::::+++::::::::::::::::::::::::::::::,,,,,,::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::
+*******++*+++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::++::::::::::++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,::::++::::::::::::::::::++++:::::::::::
++++++++++++*++++++++++++++++:++++++****++++++++++++:::++:::::::,,,,,,,,,,,,,,,,::::::::,,::::::::::,:::::::::+++++++++++++*++++++++::::::::+++++++++:++++:::::
+++++++++++++*+***++++++++++++++++++++*+++++++++++++++++::::+:::::::::::,,::,,:::::::::::::::::::::::::::::+++**+++++++++++++++++++++++++++++++++:++*++*+++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++::::::::::::::++++++:::++:::++::++++++++++++++++++++++++******+*++++++*+***************
++::++++::+:::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::++++++++++++++++++++++++::++++++++**********++**********++++*+++++*+++***************
++++++:::::::::::::::::+++::++++++++::::++:::::::::::::::::::::::::::::::::::+++::::::::++::++++::::::::::::::::::++::::++++++++++++++++++++++++++++++++**++**+
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++:+++:::::++++++++++::++:++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++++::::++:::+++++++++::++::::+++++++++++
::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::+++++++++++++++++
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................,..................,:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................,.......,..........,:,,......,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................................,...................:,.........,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................................,...................:,.............,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................,.......................,...................:....................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,...........,,,,.....................................,.......................,...................:,.........................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,............,,,,.....................................,.......................,...................:,............................
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................,.......................,...................:.............................
,,,,,,,,,..,,,......,,,,,,.....,,.....,,............................,,,,,,,,,,,,,,,,,,.......................,...................:,.........,...............,,,
,,,,,,...,,,,:,,,,,,,,,,,,,,,,,,,,.,,,,,.................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................:,,,,,,....................,,,
::::::::,,,,::::::,,,,,,,:,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,....,,,,,:,,,,,,,,..,,,,,,,,,:,,,,,,,,,,....,,,,,,,,,,,,:::
::::::::::::::::::,,,,,,,:,,,,,,,,::,:::,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:,,,,,,,,,,,,,,,:::
::::::::::::::::::,,,::,::,,,,,,,,,,,,,,,,::::::::::::::,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,,:,,,::,,,::,,,+:,,,:,,:,,,::,:,,,::::::::::::::::::::::::::
,,,,,,,,,,,,::,,,,,,,::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::,,,+:,,:+,,:::::::+++++++:::::::,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::,,,::,,:+,:::::+++:::++++++++:+:::,,,,,:,,::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,:,,:*+**+*****+++++++++++++++:,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++:+++++++++++++++++++::+**+:::,,::,,:
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,...:+++::,::++++,...,,+++++:::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++++++++++++++*******++++*#++::+++
::::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++********************++++++**:::::::
++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++++++++++++++**+*****+++***::::::::
++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++*+++********************+,+++++::::::::
++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++*+++++:::+::::::+****+:+###*:::::::
+++:::++::::::::::,,::::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,:::::::::::::::::::::
++++++++*++:::::::::::::::::::::++::::++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::::::
++++**++++++:::::::::+::::::::,,,,,,::::::::::::::::,,,,,,,,::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
+++********+++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++:::::::::::::
+++:*++++++++++++++:::::::::::+++::::::::+++++:+++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::+::::::::::::::::::++++:::::::::
++++++++++++++*++++++++++++++++++++++++****+++++++++++::::+::::::,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::::,:::++++++++++++++++++++++++::::::++++++*+++++++::+
++++++++++++++++*+***+++++++++++++++++++**++++++++++++++++::::::::::::::::::::,,:::::::::::::::::::::::::::::+++**+++++++++++++++++++++++++++++++++++++++**++++
++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++::::::++::::::::::::::::+++++::+++:::++:++++++++++++++++++++++++*******+*+++++*+***********+*
++++::++::++::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++*++++*+++++++++++++***********++************++*+++++**++*************
++++++++::::::::::::::::::++::++::++++::::+++:::::::::::::::::::::::::::::::::++++::::::::::::++++:::::::::::::::::::++++:+++++++++++++++++++++++++++++++++*++*
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++:+++::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::++::::++++:+++++++::::+++++++++++++++
++::++++::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::+::::++:+++++++++++++++
+:::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::+::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................,..................,,:...,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................,..................,,:.....,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................,,:.......,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................,,:...........,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................:...................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.............,,.....................................,............................................:.........................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.............,,.................................................................................,:..........................
,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................,..........................
,,,,,,,,......,:........,,,,,....,,...................................,,,,,,,,,,,,,,,,,,,,......................,..................,:..........................
:,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,........,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...................,,,,,,,..,,................,
+::::::::,,,,,,:::::,,,,,,,,,,,,,,,.::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,::
:::::::::::::::::::::,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::,:::::::::::,,,,:,::,,,,,,,,,,,,,:::::,,::::,,,,,,,::,,,,,,,,,,,,,,,:,,,:,,,,,,,,:,,,,,,,,,,,,:,,,,:,,,,:,,,:+,,::,,::,,,,,::,,,,::::::::::::::::,:::::
::,,,,,,,,,,,,::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,,::,,,,+,,:::,:,+:::++++++:::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::,,::,,,:,,,::::::+++::::++::+++++++,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,:,,,,,,,,,,:::+*******++++++::++++++++:::,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++++++++++++++*+++::+**+::::,
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::....:+++:::::+++:,.,,:,+++:::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++****++++*****++++*::+
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++++********++****+****++++*:::
++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++++++++++++++#******+***++:::
++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++****++++*****************+:+++++:::
**++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++++++++++::::::+***+*###+:::
+++++::::+::::::::::,,::::::::::,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,:::::::,,,,::,,:::::::::::::::
+++++++++++++::::::::::::::::::::::::::::++++:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
:+::++**++++++::::::::::::::::::,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
+++++*********++++++::::::::::::::,,::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++:::::::::::::::::::::::::
++++++++++++++++++++++::::::::::++++::::::::++++:+++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,::::::::+:::::::::::::::::+++++::::::
+++++++++++++++++++++++++++++++++++++++++****+*+++++++::::::++::::::,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::++++++*+++++++*++++++++:::::::+++++++*+++++++
++++++++++++++++++*+***+++++++++++++++++++**++++++++++++++++++::::+:::::::::,,::,,:::::::::::::::::::::::::::::++++*++++++++++++++++++++++++++++++++:++++++****
+++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++:+++++::::::+++:::::::::::::::++++++::++:::+++:+++++++++++++++++++++++**********++++++++*********
++++:::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++++++++++++*+++++*+++++++++++++********++**+***********++**++++**++++*********
++++++++++++::::::::::::::::++::::::++++::::::::::::::::::::::::::::::::::::::::++++::::::::++::++++:::::::::::::::::::++++:+++++++++++++++++++++++++++++++++**
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++:+++::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::++::::++++:+++++++++::+++++++++++++
+++++:::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::+++:++++*++++++++++++++
::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::++::::::+:+++++++++++++
::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++:::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................,,...............,,,.:,.,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,.................,.:,..,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................................,.................,.:,....,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................,...................:,..........,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................,........................,...................:,..................,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,......................................,.......................,...................:,.......................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,..............................................................,...................:,.......................
,,,,......,,,,,,,,,,,,..,,,,,,,,,,,,,,....................................................,.......................,...................:,.......................
,,,,,,,,,,......,,,.........,,,,..,.,,..,,..............................,,,,,,,,,,,,,,,,.,,,......................,...................:,.,.....................
::::,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,.,,.,,,,,,.........,........,...,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,..............,...............,,..:,,,,,..,,.......,.......
::+:::::::::,,,,,::::::,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.....,,,,,,:,,
++::::::::::::::::::::,,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:,,
::::::::::,:::::::::::::,,::,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,:,,,,,,,,,,,:,,,:,,,:,,,,,,,,,,,,,:,,,:,,,,:,,,::,,,+:,,,:,,:,:,,,,:,,,::,,::::::::::::::::::::::
::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,+:,,,+:,,:+,,,:+,,,:::::::::::::::::::,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::,,,:,,:::,,,:+,,::::++++::+++::+++++::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,:,,,,,,,,,,::,,,.,+*****++++++::::++++++:+::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++++++::+++++*+++**+::+*+
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::. . ,++*::,:++**+,,,,,:*:::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++++++++++****++::++***+++
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::++++++++++******++++**++****+:+
++++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++++++++++******#*******+
++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++**+***************+++++
:+**++++++::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++:::::+****##*
++++++++::::::::::::::::::::::::,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::,,:::::::::::::::
++++++++++++++++::::::::::::::::::::::::::::++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
+::::::+***++++++::+::::::::::::::,,,,,,,,::::::::,,::::,,,,,,,,::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
++++++++********++++++::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::::::::::::++:::::::::
++++:+++++++++++++++++++::::::::::::++::::::::::++::+++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:,,::,:::::++:::::::::::::::::+++++:::
++++++++++++++++++++++++++++++++++++::+++++++**++*++++++::++::++::::::,,,,,,,,,,,,,,,,::::::::::,,:::::::::::::::::::+++++*+++++:+*+++++++++::::::::+++++*+++++
+++++++++++++++++++++*++*+++++++++++++++++*++*++++++++++++++++++::::+:::::,,::::,,::,,::::::::::::::::::::::::::::++++*+++++++++++++++++++++++++++++++++++++***
**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++:::::::::::::::++++++::+++:::++:+++++++**++++++++++++++********+*++++++++*******
++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++*+++++++++++++********++**++**********++**+++++**+++*******
++++++++++++++::::::::::::::::++::::++:+++::::::::::::::::::::::::::::::::::::::::::++::::::::++++++++::::::::::::::::::::+++++++++++++++++++++++++++++++++++++
++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::++::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::::++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::+++++++++++++++++++++++++++
+++++++:::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++++++++++++++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::+:::+:::::::++:::::::::++++++++++
++::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,............,,,,,,,:..,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................,,..............,,,,,:..,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................,..................,:...,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................,..................,:............,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,....................................................,,......................,,..................,:..................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,............,,......................................,,......................,,..................,:.....................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,............,,,,.....................................,......................,,..................,:.....................
,,,,,,,,....,,,,,,,,,,,,..,,,,,,,,,,..,,.....................................................,......................,...................,:.....................
,,,,,,,,,,,,.......,,,..........,,....,,..................................,,,,,,,,,,,,,,,,,,,,,,....................,,..................,,.....................
::::::,,,,,,,...,,,,,,,,,,,,,,,,,,..,,:,,,,,,,,,.................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,...............,,,::,,,,,,.........,.....
::::::::::::::,,,,:,::::::,,,,,,,,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,....,,,,,,:
:::::::::::::::::::::::::,,,,,,,:,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::,,,,::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:,,,:+,,,::,,:::,,,:::,:::,::::::::::::::::::::
,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:+,,,::,,,+:,,:+,,,,:::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,:+,,:+:,,,+,,,,,::::++++:++++::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,::,,,,,,:,,::,,,,:, ,+****+++++:::::::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:+++++++::::+++++++**#*
::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::, . .:+++::::+**+::::+,*
::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::++++++++*+++++****+:::++*
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::++++++++**********++**:**
++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,:::++*+++++++++++***********
++++++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++:++***************+**
::::+*++++++::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++++***
::++++++++::::::::::::::::::::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::
*+++++++++++++++++::::::::::::::::::::::::::::++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::,,,,:::::::::::::::::::::::::::
++++:::::++***+++++:::::::::::::::::,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
+++++++++++*******++++++::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::::::::++++::++:::::
++:::+++++:+*+++++++++++++::::::::::::++::::::::::+++:++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::,:,,::::::::::++:::::::::::::::::+++++:
+++++++++++++++++++++++++++++++++++++++:::+++++**+++++++++::++::++::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+++++++++++++**++++++++++:::::++++++++++
++++++++++++++++::++++++++++++++++++++++++++++++*++++++:++++++++:::::::+::::::::::,,::,,::::::::::::::::::::::::::::++****++*+++++++++++++++++++++++++++++++++*
++++++++++++++++::++++++++++++:++++++++:++:+++++++++++++++++++++++++++++++::::::::::::::::::::::++++++::+++:::++++++++++**++++++++**++**+*******+**+++++*+*****
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++**++++++++++++********++***************++**+++++*+++*****
++++++++++++::++:::::::::::::::::++:::++::::::::::::::::::::::::::::::::::::::::::::::++::::::::++++::++::::::::::::::::+:::++++::++++*+++*++++++++++++++++++++
++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::++::+++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::+++++++++++++++++::::++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++:++++::++++++++++++++++:++++++++
++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++::++++++++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::+:::::::++++::::++:++++++++
++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::+++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................,.......,,,,,,,,,,,.,:.,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................,.......,,,....,,,,.,:.,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................,...................,:.,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,.....................................................................................,:...,,..,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,...............................................................................................,,................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.....................................................,.......................,...................,,................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,.............,,,.............................................................,...................,,................
,,,,,,,,,,,,......,,,,,,,,,,....,,,,,,....,,.................................................................................................,,................
,,,,,,,,,,..,,,,........,:...........,.....,,...................................,,,,,,,,,,,,,,,,,,,,,,...................,...................,,.,,,,...........
::::::::,::,,,,,,....,,,.,,,,,,,.,,,,,,,..,,,,..,,,,.................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,................,,,,,,,,,,,,,,.......
::::::::::::::::::,,,,,,,:::::,,,,,,,:,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,....,,
:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
::,,,,,,::::::::,,,:::::::::::,,,::,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,:,,,,,,:,,,,,,,,,,,,:,,,:,,,:,,,,:,,,:+,,,::,,,+:,,,::::,,:::,::,:::::::::::::::
::::,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:+,,,::,,,++,,,+,,,,+,,,,:,,,::::::::::::::
::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::,::+:,,:+,,,,+:,,,:,,::::::++++:+++:
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,::,,,,,,,,,,:,,,,:,,,,,.,+**+++++++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:+:+++++:::++
::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,...,+++:+++++
::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++++++++++*
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,,,,,,,,,,:++++++++++*******
++++::++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::+*+*+::++++++***
::::::::++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++::+++********
++++:::::+**+++++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++++++*+++++
::::::+++++++++:::::::::::::::,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::
**++*+++**+++++++++++++:::::::::::::::::::::::::::+++++:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::,,:::::::::::::::::::::::
++++++++:::::::+**++++++::::::::::::::::,,,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::::+
++++++::++++++++*******++++++:::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++++:
::::++:::+++:++++++++++++++++++::::::::::::+::::::::::::++:+::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,:::::::::::++:::::::::::::::::+
++++++++++++++++++++++++++++++++++++++++++++::+++++*+*++++++++++::::::+::::::,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++++*+++++++*+++++++++::::::++++*
++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++:::::::::::,::::::::,,:::::::::::::::::::::::::::::++++**+++++**++++++*+++++++++*+++*++++
++++++++++++++++++++++++++::++++++++++++++++::::++++++++::++++++++++++++++++++::::::+++:::::::::::::::++++++:+++:::+++++++++***+++++++******************+++++*+
::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++***++++**+++++++++++**************************++**++++**++*
::::++++::++::++::++:::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::++++::::::::::++++++::::::::::::::::+++++++++++++++++++++++++++++++++
::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++++++++++++++++
++::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++::::+++++++++++++
++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++:+++::::++++:++++++++++++++
++++++++++::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,:::::,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::++++::++++**+++
++++++++::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,:::::::::::::::::::::::::::::::+::++::++::::::++++:::::++:+++
::::++++++::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::+:::::::+++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,..,,,,......................................,,...........,,........,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................,,...........,,,,,,.,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,........,,,,...........................................................................,:,..,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,........,,,,...........................................................................,:,..,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,....................................................,.......................,...................:..............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,.............,,.....................................,........................,...................:..............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,.............,,..............................................................,...................:..............
....,,,,,,,,,,.......,,,,,........,,,,,,,,..,,,.............................................................................,...................:..............
,,::,,,,,,,,,.,,,,........,,..........,,,....,,...................................,,,,,,,,,,,,,,,,,,,,,,...................,,..................,:,,,,,..,......
::::::::::,::,,,,,,,....,,.,,,,,.,..,,,,,,..,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,,,...............,,,,:,,,,,,,,,.....
::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,.::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,...
:::::::::::::::::::::::::::::::,:,,,,,,,,,,,,,,.::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
::::,,,,,,::::,,::,,,:::::::::::,,,,:,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:,,:,,,:,,,:,,,,,,,,:,,,:,,,,:,,,:,,,,:,,,:+,,,:+,,,::,::::,,,::,:::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::+,,,:+,,,:+,,,::,,,+:,,,::,,,,::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::,,:+,,:::,,,+:,,,::,,,::::::+++++
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:,,,,,:,,,,,,,.,+***++++++:
::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*+++++++++:
::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::+:,...,++*::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++++++++++
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,,,::,,,,,,,:++++++++++***
++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++**++++++++
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+**++::++++***
::++++:::::+**+++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++
:::::::::+++:++++:::::::::,,::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
*++*+++++++*+++++++++++++:::::::::::::::::::::::::::+++++::,::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::
+++++++++++:::::++**++++++::::::::::::::::,,,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++::::++++++****++*+++++++:::::::::::::,,,::::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++
++::::++::::++:+++:++++++++++++++:::::::::::++++::::::::::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::,,::::::::::::+::::::::::::::::
++*+++++++++++++++++++++++++++++:+++++++++++++::++++++***+++++++++::::::+:::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++*+++++++**++++*+++++::::+++
++++++++++++++++++++::::::+++++++++++++++++++++++++++++*++++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::+:++++**+++++**++++++++++++++++++++*++
++++++::++++++++++++++::::::::::::++:::+++++::::::++++++++::++++++++++++++++++++::::::+++:::::::::::::::++++++++++:::+++++++++**+++++++++***++**********+*++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++***+++**+++++++++++**************+***********++****++***
::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::++++++++::::::::::::::::++:++++++++++++++++++++++++++++
::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
++++::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++:+++::::+++++++++++
::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++::+++++++++++++++++
++++++++::::::+++:::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++:++++:+++++++
++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::++++++:::++:+
::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::+::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,........................................,,...........,,,........,,,,,,,,.,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................,.......,,,,,,,,,,.,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,......................................................................,..................,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,......................................................................,..................,:,..,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................,...................:,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,.............,,......................................,.......................,...................:,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,.............................................................................,...................:,...........
,,..,,..,,,,,,,,........,,,,........,,,,,,....,,,.............................................................................,...................:,...........
,,,,,,,,,,,,,,,,,,,,.........,,..........,,....,,,..................................,,,,,,,,,,,,,,,,.,,,,,....................,...................:,,,,,.......
,,,,::,,::::::::,,,,,,....,,,.,,,,.,..,,,,,,...,,,..,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,..........,,.,,...............,,,,:,,,,,,,,,...
,,,,::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,.
::::::::::,:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:
::::::,,,,,,::::,:,,::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:,:,,,:,,,:,,,,,,,,:,,,::,,,:,,,,:,,,::,,,+:,,:+:,::+::::,:::::,:::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,:,,,::,:,+:,,:+:,::+,,,:+,,,,:,:::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:+:,,,+:,::+,,,:+,,,,:,,,,,::::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,::,,,,,,,::::,,,,:,,,,:,,,.,******+
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,++++++++
::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++,...,+
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++++++
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::,,,,::::::,,,,,,,:+********
++++++++:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++***++++
++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+**+*::::+
::::::+++:::::+*++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++
::++:::::::::+++++++:::::::::,::::,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
++**+*++++++++++++++++::++++::,,:,:::::::::::::::::::::++++::,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,::::::,,:::::::::::::::::::
**+++++++++++::::::++*+++++++:::::::::::::::,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,::,,,,:::::::::::::::::::
++++++++++::::+++++++***++++++++::+::::::::::::::::::::,::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++
++++::::::::::++:+++++++++++++++++++:::::::::::+++::::::::::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::,,,:::::::::::++:::::::::::::
++++++++++++++++++++++++++++++++++++++++++++:+++::::+++++**+++++++++::::::++::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++*+++++++**++++++++++:::::
++++++++++++++++++++++::::::++++++++++++++++++++++++++*+++++++++::::++++++::::::+:::::,,::::,,::::::::::::::::::::::::::::::++++****++*+**+++++++++++++++++++++
::++++++++++++++++++++++::::::::::::++:::+++++::+::::+++++++::++++++++++++++::++++++:::::++:::::::::::::::+++++++++++::++++++++++***+++++++******************++
::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++*+++++++++++***************************++***+++
::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::++++++++::::::::::::::::++++++++++++++*++++++++++++++
::::::::::::++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,:::::::::::::::::::::::::::::+++++++++++++++++++
++++++::::::::::::::::::::::::::::::::::::::::,,,,,:::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++::+++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::+++++++++++++++++++++++++++++++++
++++:+++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::++++++:++:::::::+++++:+++
::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,........................................,,,,,,........,,......,,,,,,,,,,,,,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................,,............,,......,,,,,,,,,,,,,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................................,,...............,,,,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..........................................................................,...................,:..,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,....................................................,.......................,,..................,:.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,.............,......................................,.......................,,..................,:.........
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,....................................................,.......................,,..................,:.........
..,,,.....,,,,,,,,......................,,,,......,,....................................................,.......................,,..................,:.........
,,,,,,,,,,,,,,,,,,,,,,.........,,,.........,,,....,,..................................,,,,,,,,,,,,,,,,,,,,,,,,...................,.................,::,,,,,,...
,,,,,,::,,,,::::::,,,,,,....,,,,,,,,,,,,.,,,,,...,,,,,,,,,,,................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,..,,..............,,,,::,,,,,,,,,
,,,,,,::::::::::::::::::::,,,,:,,,:::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
::::::::::::,:::::::::::::::::::::,,:,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
::::::::,,,,,,::::::,:,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..,,,,,,:,,,,,,:,,,,,,,,,,,::,,,::,,::,,,:,,,:+,,,:+,,,:+,,:+:::,:::::::,::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:,:::+,,,:+,,,:+,,:+:,,:+,,,,::,,:::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,:::+,,::+,,:+:,,,+,,,,::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::,,,,:,,,,,,,,,,.:***
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::**++
::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:++:..
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::++*+++
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,::::,,:::::::::::::::+*****
++++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::++*****
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+*****:
++::::::++::::::+*++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::
++::::::::::::::::::::::,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
++++**+**+++++++++++++++::++++::::::::::::::::,,:::::::::+++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::::::
****+++++++++++::::::+++*++++++:::::::::::::::::,,,,,,,,,:::::,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,::,,,,,,,,::::,,,,,,::,,,,:::::::::::::::::
+++++++++++++:::++::+++*++++++++++++:::::,:::::::,,,::::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::+++++++++++
++++++::::::++:::+::++::++++++++++++++:::::::::::+++::::::::::++::++::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::,,::,,,,,,::::::::,:::::::::::++:::::::::::
:+++++++++++++++++++++++++++++++++++++++++++++++++::::++++++*+++++++++::::::++::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::++++++*++++++**++++++++++:::
++++++++++++++++++++++++::::::::++++++++++:+++++++++++++*+++++++++::::++++++::::::::::::,,::::,,::,,::::::::::::::::::::::++::++++****++*+**+*+++++++++++++++++
++::::++++::++:+++++++++++::::::::::::++::::++++::+::::+++++++++::+++++++++++++:++++:::::::+::::::::::::::::+++++++++++++++++++++++***+++++++*******+**********
::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::::::::::::::++++++++++++++++++++**++++++++++++*************************++***+
::::::::::::::::::++++++::::::::::::::::::::::++::::::::::::::++:::::::::::::::::::::::::::::::::+++++::::++++++++++::::::::::::::::++::++:+++++++*+++*++++++++
::++::::::::::++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+:::::::::::::::::::::::::::++++::+++++++++
+++++++++:::::::::::::::::::::::::::::::::::::::::,,::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++::+++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++++++++++++++++++
++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:++
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::++++++::+:::::::+++++::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++::::::::::::++:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,........................................,,,,..........,,......,,,,,,,,,,,,,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,....,,............,,......,,,,,,,,,,,,,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................,..................,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................,..................,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,....................................................,,.......................,...................:.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,....................................................,,......................,,...................:.......
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.........,.....................................................,.......................,...................:.......
....,,,.......,,,,........................,,,,......,,.....................................................,.......................,...................:.......
,,,,,,,,,,,,,,,,,,,,,,,,.........,,,..........,,....,,..................................,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,:,,,,,,,
::,,,,,,,,,,,,,,::::,,,,,,....,,,,,,,,,,,,..,,,,..,,,,,.,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,..,,..............,,,,,:,,,,,,,
,,,,,,,,,,,,::::::::::::::::,,,,,,,,:::,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,
::::::,,,,,,:::::::::::::::::,::::::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,
::::::,,,,,,,,,,,,:::,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..,,,,,,:,,:,,,:,,::,,,,,,,,:,,,::,,,:,,,:,,:,+:,,:+,,,:+:,,::::,::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,:::::+:,,:+,,,:+:,:::,,,::,,,,::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::+::::+:,:++,,,::,,,,:,,,,,::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,::,,,,,,,,:::,,,,,:,,,,,,,,,,..
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*
::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,:+
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++*
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::::,,::::::::,,::::::+**
++++++++::++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::***
++::::+:+:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+**
++++::::::++:::::::**+++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
::++::::::::::::++::::::::,::::::,,,::::,,::::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++++++++*+++++++++++++++::++++::,,,:,,::,,,,::::::::::::::++++:,::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::::
+**++**+++++++++::::::::++*++++++:::::::::::::::,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,:::::::::::::::::::
::++++++++++++::::::::+++**+++++++++::::::,,::::::::,,,,::::,:::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::++++++++
++++++++::::::::::::::::+:+++++++:++++++::::::::::::++::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::,::::::,::::++:::::::::
++::++++++++++++++++++++:+++++++++++++::+++++++++++++:::++++++*+++++++++:::::::+::::::,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::++++++*+++++++*++++++++++:
++++++++++++++++::++++++::::::::::::++++++++:++++++++++++++*+++++++++:::++++++:::::::+::::::::::::::::::::::::::::::::::::::++::++++****++*+****+++++++++++++++
:::::::::::::::::+++++++++++::::::::::::::::::++++::+::::+++++++::::+++++++++++++:++++++:::::+++::::::::::::::++++++++++++::+++++++++****+++++++***************
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::::::::::::::::+++++++++++++++*++**++++++++++****************************+**
::::::::::::::::::::::++::::::::::::::::::::::::+:::::::::::::::++::::::::::::::::::::::::::::::::::++++::::++++++++++::::::::::::::::++::++:++++*++++++**+++++
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++
+++++++++++:::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++++++++:::++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:+++:++++++++++++
+++++:++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:
++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::+++++++::++::::::+++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++::::::::::+++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,..,,,,,,,,,,,,....................................,,,,....,,,,,,,,,,,,.......,......,,,,,,,,,,,,,::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,......................................,,..,,,,,,...........,......,,,,,,,,,,,,.::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................,..............,,,,.::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.............................................................................,...................::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,................................................,,...,.......................,...................,,..
........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................,.......................,...................,,..
..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................,.......................,...................,,..
,,,,....,,,,..................................,,,,......,,.....................................................,.......................,...................,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,..........,,.....,..................................,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,:,,,
::::::,,,,,,,,,,,,,,::,::,,,,,......,,.,,,,.,,,,,,,,,,..,,,,.,,,,,.......,.........,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,............,,,,,,,:,,,
::::::,,,,,,,,,,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,
::::::::,,,,,,,,,:,,::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,
::,,::,,::,,,,,,,,,,,,::::,,,,,,,:::::::::,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,:..,,,,,,,:,:,,,:,,,:,,,,,,,,::,,::,,,:,,,::,,,:+,,::+,,:++,,,+:::,::::,::,:
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,:::::++,,:::,,:++,,:+,,,:+:,,,::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::,:++:::+::::+:,,,:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::,:,,,:::,,,,,,,
::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,:::::::::::
::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
++++++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::
++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
+++++++++::::::::::::::+*+++:+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++++++::++::::::::::++::::::::,,::::,,::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++*+++++++++++++++::++++:::,,:,,::,,,,,,::::::::::::++++:::::,::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::::::::::::::
+++++***++*+++++++++++:::::::+**++++++::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::::::::::::::::::::::::,,,,::::::::,,,,,,,,::,,,,:::::::::
++++::::++++++++++:::::::::+++*+++++++++++::::::::::::::,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::+++
++++++:+++++::::::++::::+::++::+:::+++++++++::::::::::::+++::,:::::::+++::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::,,,,,,::::::::::::::::::::++++++::+
++++:++:++:+++++++++++++++++++++++++++++++++++++++++++++++::::+++***+++++++++:::::::+:::::,,,,,,,,,,,,::::::,:::::::::::::::::+::::::::::++++***++++++++*+++++*
++++++++++++++++++++::++++++:::::::::::::++++++++++++++++++++++++++++++++:::++++++:::::::::::::::::::::::::::::::::::::::::::::::++++++++****++*++**++++++*++++
::::::::::::::::::::::++++++++++::::::::::::::::::++++::::::::++++++::::++++++++++++++++++++::::::++::::::::::::::++++++++:+++++++++++++++***+++++++***********
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++**++***++++++++++**************************
::::::::::::::,:::::::::::++::::::::::::::::::::::::+:::::::::::::::++::::::::::::::::::::::::::::::::::++++++::++::::++++++::::::::::::::++::++++++++++**+++*+
++++::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++++
++++++++::++++++::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++++++++++:
*+++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++:++++++++++++
++++++++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,:::::,,,::::::::::::::::::::::::::+:::::::::::::::::::::++::+++++
++++++::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::+++++++::++::::+++
::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++::+++:::+
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,......,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,........................,,,,,,,,,,,,,,,,,,,,,,.........,......,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,...........................................................................,..............,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,...........................................................................,..................,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...,................................................,,..,,.......................,...................,:
......,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,.....................................................,.......................,...................,:
............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,.............................................................................,...................,:
,,..........,,............................................,,.....................................................,.......................,...................,:
::,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,...........,.....,,.................................,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,,:
::::::::,,,,,,,,,,,,,,,,,::,,,,,.........,,,,.,,,,,,,,,,,,.,,,..,,,,.................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,............,,,,,,,::
::::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::
,,,,::,,::,,,,,,,,,,,,,:::::::::,,:::,::::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::
::,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,:,:,,,:,,,::,,,,,,,::,,,:,,,:,,,:::,,:+,,,:+,,:++:::+:::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,:,,,,:::::+,,,:+,,::+,,:+::::+:,,,::
,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::++:::+::::+:,,,:,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::,:,,,::,,,,,,
,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
+:::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,:::::::::
::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
++++++++++::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::,,,,,,,,,,,,,,,,:::::::::
::++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
+++++++++++::::::::::::::+*+++:++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,:::::::::::::
*+++++++::::::+:::::::::::::::::,,::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::,,,,::::::,,,,,,,,,,,,:::::::::::::::::
++++++++++++++*+*+++++++++++::++::++++:::,::,,::,,,,,,,,::::::::::++++::::,,::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::::
+++++++***++++++++++++:+:::::::+**++++++::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::::::::::::::::::::::,,::::::::,,,,,,,,::,,:::::::::
++++::::::++++++++++:::::::::+++*++++++++++:::::::::,,::::::,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+
::++++++:+++++::::::::::::+:::+::+:::+++::++++::::::::::::++::::::::::::++++::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::::::::::::++:+++:
++++++:+++++++++++++++++++++++++++++++::++++:::+++++++++++++::::+++***+++++++++:::::::+:::::,,,,,,,,,,,,::::::,::::::::::::::::::::::::::::++++++**+++++++*+++*
++++++++++++++++++::++::++++++++:::::::::::++++++++++++++++++++++++++++++++:::++++++::++:::::::::::::::::::::::::::::::::::::::::::++:++++*****+*+++**++++++*++
::::::::::::::::::::::::++++++++++::::::::::::::::::++::::::::::++++++++::++++:+++++++++:+++++::::::++:::::::::::::::+++++++++++++++++++++++****++++++*********
++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::++++++++++++****++***+++++++++++***********************
::::::::::::::::,:::::::::::::::::::::::::::::::::::::+:::::::::::::::++::::::::::::::::::::::::::::::::::++++++::++::++++++++::::::::::::::++::++++++++++**+++
::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++::::::::::+++++++++++++
++++++++++::++++::::::::::::::::::::::::::::::::::::::::::,,,,:::::,::::,,,:::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++*++++++
++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::+++++++++++++++++++++++
++++++++++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::,,,::::::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++++++++::++::::+
++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,......,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,...........,......,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,...,.........................................................................,..............,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,...,,,,,........,,..............................................................................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,................................................,,..,,.......................,...................
............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................,.......................,...................
................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................,...................
......,,......,,............................................,,.....................................................,.......................,...................
::::,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,...........,.....,..................................,,,,,,,,,,,,,,,,,,,,,,,,...................,..................,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,..,,,,,,..,,...,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,...........,,,,,,,
::::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,
::,,,,,,,,::,,,,,,,,,,,,,:::::::::::,,::::::::,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,,,,:::::::::,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,:,:,,,::,,::,,,,,,,::,,,:,,,:,,,:::,,:+,,,:+,,::+::,+:::::::::
,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,::::::+:,,:+,,:++,,,+::,:*:,,,
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::++:::+::::+:,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::,:,,,,:,,,,
::,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++:::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,:::::::
::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
++++++++++++::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::
::::++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
+++++++++++++:::::+::::::::+*+++:++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,:::::::::::
++*+++++++::::::::::::::::::::::::,,::::,,::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::,,,,::::::,,,,,,,,,,,,:::::::::::::::
++++++++++++++++*+++++++++++++::++::++++:::,:,,,::,,,,,,,,,,::::::::++++::::,,:::,::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::
++++++++++**++++++++++++:+:::::::+**+++++:::::::::::::::,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::::::::::::::::::::,,,,::::,,::,,,,,,::::,,:::::::
++++++::::::++++++++++:::::::::+++*++++++++++:::::::::::::::,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++::++++::::++++::::::::::::+:::+::+++:++:::++++::::::::::::+++::,:::::::+++:+::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,::::::::::::::::::::::+++++
::++++++:+++:::+++++++++++++++++::++++++:+++++:::+++++++++++::::::+++***+++++++++:::::::+:::::,,,,,,,,,,,,::::::,::::::::::::::::::::::::::::++++++**+++++++**+
++++++++++++++::++++::++::::++++:::::::::::::++:+++++++++++++++++++++++++++++:::++++++::++:::+:::::::::::::::::::::::::::::::::::::::+++++++*****+**++****+++++
::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::++++++::::++++:+++++++++:+++++::::::++::::::::::::::::+++++++++++++++++++++****+++++++*******
::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++****++****+++++++++**********************
::::::::::::::::::,:::::::::::::::::::::::::::::::::::::+:::::::::::::::++::::::::::::::::::::::::::::::::::++++++::++::++++++++::::::::::::::++::++++++++++**+
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++::::::::::++::+++++++
++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::,,,,:::::,::,,,,,:::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++*++++
++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++:++++++++
::++++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::,,,::::::::::::::::::::::::::::::::::::::::::::::::+++++
:+++++++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++++++++::++:::
++++::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,.....,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,......,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,...........................................................................,..............,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,..,,,,.....................................................................,.................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,................................................,,,,,,,......................,.................
................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,.....................................................,.......................,.................
.................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,.............................................................................,.................
,,,,............,,...................................,,,......,,.....................................................,.........................................
::::::,,,,,,,,,,,,,,,,,,,,,,,,..............,,...........,.....,,.................................,,,,,,,,,,,,,,,,,,,,,,,,...................,................,
::::::::::::,,,,,,,,,,,,,,,,,,:,,,,,......,,.,,,,,,,..,,,,,,,,,,....,,,,.................,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,..........,,,,,,
::::::::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
::::,,,,::,,::,,,,,,,,,,,,,:::,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,:,:,,,::,,::,,,:,,,::,,::,,::,,,:::,,:+,,,:+,,::+:::+:::::::
,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,:,,,,:::::+::::+,,:++,,,+::::+:,
,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,::,,::::::++:::+::::+:,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::,:,,,::,,
::::,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
+++++:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,::,,,,,,,,:::::::
::::::::::::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::
::::::++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
+++++++++++++++::::::::::::::+*+++:++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,,,,,:::::::::
++++*+++++++::++::+:::::::::::::::::,,::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,:::::::::::::
++*+++++++++++++++++++++++++++++++++::++++:::,::,,::,,,,,,,,::::::::::++++::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::::
++++++++++++**++++++++++++:+:::::::+*+++++++::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,::::::::,,,,:::::::::::
++++++++::::::::++++++++:::::::::+++*++++++++++::::::,::,,::::::,,::::,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::
::++::::++++++++:+::::::::::::+:::+::+++:++:::++++::::::::::::++::::::::::::::++::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,,,::::::::::::::::::::+++
++::::++++:+++++++++++++++++++++++++++++++:+++++:::+++++++::++::::::++++**+++++++++::::::++::::::,,,,,,,,,,,:::::::::::::::::::::::::::::::::::+++*++**+++++++*
++++++++++++++++::++++::++::++++++++:::::::::::++:++++::+++++++++++++++++++++++:::++++++::++:::+:::::::::::::::::::::::::::::::::::::::+++++++*****+**++****++*
::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::++++++++::++++:+++++++++:+++++::::::++::::::::::::::++++++++++++++++++++++++****++**++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::++++++++++++****++***+++++++++++*******************
++::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::++++++::++::++++++++::::::::::::::++::++++++++***
++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++::::::::+++++++++
++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++*++
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++:++++++
::::++++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::+++
:::+++++++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++++++++::++:
++++:+::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,....,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,..............,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,......,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,............,,...............................................................,............,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,...,,,.......................................................................,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,................................................,,..,,.......................,...............
..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................,.......................,...............
....................,,,,,,,,,,,,,,,,..,,,,,,,,,,.......................................................................,.......................,...............
,,,,,............................................................,.....................................................,.......................,...............
::::::::,,,,,,,,,,,,,,,,,,,,,,,,...............,...........,.....,..................................,,,,,,,,,,,,,,,,,,,,,,,,...................,...............
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,.,,,,,,,,,,,,,,...,,,...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,............,,,
::::::::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
:::::,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:,::,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,,,,,,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,:,:,,,:,,,:,,,:,,,,::,,::,,::,,,:::,::+,,:++,,:++:::+:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,,:,,,,:,:::+:,,++,,:++::,+::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::++:::+::::+
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,:::,,,,::::,:,,,::
,,::,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
++++++::::::::::::::::::::::::::::::::::::,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,::::,,,,,,,,,,,,:::::
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::
::::::::++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::++++++++++++++:::::::::::::::+*+++:+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,:::::::::
++++++*+++++++::::::::::::::::::::::::,,::::,,,,:,,,::,,::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,::,,::,,,,,,,,,,:::::::::::::
++++++++++:+++++++++++*++++++:++++++++::++++:,,,,,,,::,,,,,,,,,,::::::::++++::::,,:::,::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::
++++++++++++++*+++++++++++++:::::::::+*++++++:::::,,::::::::,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::::::::::::::::::::::,,,,::::::::,,:::::::::::
+++++++++::::::::+++++++:::::::::::+++*+++++++++::::::::::::::::,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::
++::++::::++::::++::::::::::::::::::::::++:++:::++++::::::::::::+++::,:::::::+:::+::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,::::::::::::::::::::+++
::::::+++++::+++:::+++++++++++++++++::++++++:+::++:::+::++++++++:::::::++***+++++++++::::::++:::::,,,,,,,,,,,,::::::::::::::::::::::::+::::::::::++++*+**+++*++
::++++++++++++++++::++++::+:::::++++:::::::::::::++:++++::++++++++++++++++++:++++:::++++++::++:::::::::::::::::::::::::::::::::::::::::::+++++++*****++*++****+
::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::::::::::+++++::::++++:++++++++:++++++:::::+++::::::::::::::+++++++++++++++++++++++****+++*******
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++****++****++++++++*******************
::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::+:::::::::::::::++::::::::::::::::::::::::::::::::::++::::::++++++++++++::::::::::::::++::++++++++*
++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++::::::::++++::::::::+++++++
++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++*
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++++++++
::::::::::::++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,::::::::::::::::::::::::::::+:::::::::++:::::::::++
:::::+++++++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::+:::::::::::+++++++++++
++++++++::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,......,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,....,,,,........,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,......,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,..................................................,,,,.......................,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,...,.........................................................................,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,................................................,,.,,,.......................,...........
......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,.....................................................,.......................,...........
,,,,....................,,,,,,,,,,,,,,....,,,,,,,,...................,.....................................................,.......................,...........
,,,,,,,,............................................................,,...........................................,.........,.......................,...........
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,.............,,..........,,.....,..................................,,,,,,,,,,,,,,,,,,,,,,,,..................,,...........
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,.,,,,..,,,,,,,,,,..,,,.,,,,.........,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,..........,
::::::::::::::::,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,
:::::::::,,,,,,,,,,,,,,,,,,,,,,,::::,:,,,,,,,,::::::,:,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,::::::::,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,::::,,::.,,,,,,,:,,:,,,:,,::,,,:,,,:::::::,,::,,,::,,:+::::+::::*::::+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,,:,,::::::+::::+::::*::::+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,:::::+::::+::::+:
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::::::
::::,,::,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::+++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,,,,,::,,,,:
::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
++++++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,:::::::
::::::::::::++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
+++:::++++++++++++++::::::::::::::++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,:::::::
::++++++++++++:::::::::::::::::::::::::::,::::::,,,,,,,,,:::::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::,,,,::::::,,,,,,,,:::::::::::
++++*+++++++++:+++++++++++++++++::++::++++:::+++:,,,,,,,::,,,,,,::::::::::::++++::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::
+++++++++++++++++**+++++++++++++::::::::++*++++++:::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,::::::::,,,,:::::::
::::+++++++++:::::::::+++:+++:::::::::++++++++++++++::::::,,,,::::::,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++++::::::::++:::+++::::::::::::::::::::::::++::::++++::::::::::::++:::,:::::::+::+:::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::
++::::::::++++:::+::++++++++++++++++++::::::::+:++::+::::+++++++++++::::+++++**+++:+++++:::::::+::::::::,,,,,,,,,,::::::::::::::::::::::::+:::::::::++++*++*+*+
::::::++++++++++++++++::++::::::::::++++:::::::::::::+:+++:::+++++++++++++++++++++++::::++++++:::::::+::::::::::::::::::::::::::::::::::::::++++++++****+*+****
::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::+++++::::+++++++++*+++:++++++::::++++:::::::::::::+++++++++++++++++++**+++****+*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,:::::::::::::::::::::::::::::::::+::++++++++++++++**++++**++++++++++***************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::++::::++++++++++++++::::::::::::+++++++++++
++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::+:::::::++++++::::::+++++
++++++++++++++++++++::++::+:::::::::::::::::::::::::::::::::::::::,,,,::::::,,::,,,,::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::+++++++++++++++
++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++:
++++::::::::::::++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::+++:::::::::++++:::::
++++++:::++:++++:::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::+:::::::::::+++++++
+++++++++:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
$.........................................................................................:....,,...............................................................
.........................................................................................:....,,...............................................................
......................,,....................................................,,,,......,,,:....,,...............................................................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,....,,,,,,,,,,,,,,,,.........
::::::::++++++::::::::::++::::::::::::::::::::++::+:::::::::::::::::::++::::::++++::::::::::::::::++::::::::::::::::::::::::::::::::::+*+*++++**++***+::+:::::,
::::::::::::::++:++++++:::::++++++++::+++:+:++++++++::::++++++++::+:::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::++++++++++:::::+::.....,:
::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,::::,,::,,,,::,,::::::::::::::::::::::,,:::::::::::::::::,.:.+::+::
,,,,::::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,::::,,,,,,,,,:,,:::::::::,+.:::,:,:,,:++:
,,:::+++**+***++,..,.,.,,,,,,:::,+#:,*###:::::::,,:::,:,,,,,,,,,,,,,,,,,::,,,,::,,::,,,,:***+**:++:::::::,,::,,,,,:,:::::::+++++++++++++:::+++++++++::+:::::::+
+,:::.+*#+##*+,..... .,,,:................,,,,,+++++*##**:::,,,,,,,,,,::++++:+*+:::::::+****+**+#*+*+:::,:::::++:+++++++++++++++++++++++++++::+++++++++++++++++
,******,.+, .:#+,....... ,  ...,..,*####,,,,,,.:,,,,*****++++:,,,,,,,,:::++*#**+::++::::::+:++:++++:++*+++++*+++:::::+*****+++++++++++::++++::::::::+++:+++++++
,,,,,,:,..,,****. .. ,...., .::::,,,:::,,,,,,,.+:****++++:++:+::::::::++++:::::++++++++++++++++*++++++*++++++++++++:++++:++++:++++++::+:++++++**++++**+*++++**+
++,...,,..,*###**, .      ........,,.,:+++++::++++***+++++++::::::::++++++++++++++++++++::++****:::+::::+++***++::*+++++++++:::++:*+++++++++::::++++++*+::++*++
:*::+:::.++*##***,,..:++...,.....,,..:,:.,....,,,,.:::::++++++++++++++++++++++++++++++++++:::::++*+,,:++++::++++::::::::::++:::+++,,,:::::,,::::::::::::::::+::
+**:++:+,*+*####*+:::+++:::*+*+*:,****:,*+##+,,,:,::**:*##**##::::::::::::::::::++++++::::::::::::::::+::,,.,,..,,,,.....,::::::+++*+:++::::+:::+::::::::+**+::
****:,*****+#####*:+#####**#*****####*######***++::+#####*****:+::::::++:+.,,,,,,,,..,,,.,:++++:::::::+++:+***++*++++++++:**++::++**:,++::+*+*::::::::::##*+*+:
#**#:,*+##+#####**.*******#*####+*,,#######*,*##########++:+*+**::+++++::,*#####*****.++:::,.++++,,+:,,...+*###***#####**.,.,.+**+::,###::####**::::::,+###*+*#
*###**#*##**####**,:#*++*+**####++:,**####*+:*##*#######+::++:::::::,,,,:.******######:.......,.,..,:,,:,..,,.........  *+:,::+***.*##+*++#####:,,,,,:++#######
####**:*#*+*#****+++,,,,,::,,,,,,,,,,,,,:,,,,,::,,,:,,::::,,:,,,::::::,,,,::::,,,,,,:::::,::::::,:,::::::::::::::::+:+****########****+++++::+*,,,,,,,,,,,,,,,,
###*+::*#*******+:**:::::::::::+++*,:::::::::::::::::::::+::::,,,:::::,,,,:,+:,,,,,,,,,,,,,,,,:,:+::::::::::::::::++*************************###+,,,,,,,,,,,,,,
###****##*##**+*::::::,,::,,,,,,,,::::,,,,,,,,::::::::::,+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::::::::::::**:+******************++++++*+###*,:,,,,,,,,,,,
**##*****,+*+#**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,::**+:+*********++****+++++++++++*####*:::,.,,,,,,,
####**##*::+*###+:,,,,,,,,,,,,.:,,,:+:,,::,,,,,,,,,,,,,::*::,,,,,,::,,**,,,,::,,:::+#:::::::,,,,:*++::::::+:,:::::::::::::::++++::++++++++:::++***+::::**+::::*
++++++:+::++++++++++++::+++++++++:++++::++:+++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++::::::::::++++::+++++++++++++++++++++++++*+::::::::::
::++::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::.:.,::,:::,,,,:::::::::::::::::::::::,+******************************++**+*+++++*****::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.,:.,,::::::::::::::::::::::::::::++##################**#*##*********+**+**++++++*,,:::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.*:,.,::::::::::::::::::::::::::::+:###############*******###########**++*+,****#** ,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..*...::::::::::::::::::::::::::::+#*###:*#*##:*************+###########**, .:**#*#* .:::::::
::::::::::::::::::::::++++::::++++++++++++++++++++:::::::::::::::: ,,..,::::::::::::::::::::::::++++:**#######*#++********++++**####**##**#:  . :+###* :+++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,.:...::::::::::++++++++++++++++++**###################################***:,..######++++++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++,,:,..,::::::::::::::::::++++++++*****#####################################*+**++++:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..,::..::::::::::::::::::::::::::::::::::::::::::::++++++++**************++++::::::,,,,,,,,,,,
::::::::::::++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,.,,,,,,,,,,,,,,,,,,,::::::::,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::+++++::::::::::::+:::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.....,.,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,::,:+++*:+++++::::::::+++++++++
::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:.......,,,,,::::,,::,,:::,,,,,,,::::::++::::,,::,,,,::++++++****++*++:+++***++++++++:+++*+*++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+:++++:::::::+*:++++++++++::+*::+*+:+*++++:+:++**+++:+***+++++++:*+**:+::++:+:+*++
::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:::::::::::+::++::+++:,:::::+*+++:++++++:++***+*+++*+++::+++++++++++:+++++++++:+:+++++++++*
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,:::::::::+::::::::::::+:+++++****+::***+:**+:+++**++++*+++****++**++*+*:*+++*+:++
$........................................................................................,,....,,...............................................................
........................................................................................,,.....,...............................................................
..,,................,,....,,......................................,,........,,..........,,.....,...............................................................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,,,,,,,,,,,,,,,.........
::::::++:+++++::::::::++++::::::::::::::::::::++::::::::::::::::::::::::::::::::++::::::::::::::::++::::::::::::::::::::::::::::::::+++*+++++*+++++**+:+:::::::
::::::::::::::++++++::::::::++++++++::+++:::++++++::::::++++++::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::++++++++:::::::::,....,::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,::::::::::::::::::::,,:::::::::::::::::::,.,+,++::,
,,::::::,,,,,,::::::::::,,::::,,::,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::::,,,,,,,,,,::,,:::::::::+,:::,,:::,,:++:
,:::++++**++*+*,,...,,,,.,,,,::::**,:#**:::::::.,,::,,,,,,,,,,,,,,,,,,,,+,,,,::::,::,,::******:::::,::,:::,,,,,,,:,,::::::::++++++++++++::::++::++++::++::::::+
,::,,,##:*#*+:,........,:,..............,,,,,,:+++:******:::,,,,,,,,,::+++:+++++:::::,:+***********+::::,:::::+:++:::+:+++++++++++++++++++++::+++++++++++++++++
******:..+,.,*#,........,,...,,,,.,***#,,,,,,,,:,,,******++*:,,,,,,,,:+++++#*#*+::++::::::+++++:::++++++++++++::++:::+*****+++++++++++++++::::::::++++:++++++++
....::,..,.:**+:.  .,...... ,:,:,,:,:::,,,,,,,:*+***++++::+::::::::::+++++++++++++++++++++++++**++++++++++++*+++++::++++++*+::++++++:::+++++++**+++***+++++***+
+: .....  *##*#*,.        ..   ...,,:::+:+++++++**+*++++++++::::::+++++++++++++++++++++:::****+++:+::::::+****++:+++++++++::+:+*++++++++++++::::+++++***+++**++
+:+:::::,,##**##+,. :+::..,,.:,.....::,:,..........,,,::::::++++++++++++++++++++++++++++++::::::++++:,::::::+++:::::::::::++:+:,,:::::::::,::::::::::::::::+:::
+*+*+:++#:*#####+::::+:+:+******,+**+:.++*##,,,,:,:+*:*###****::::::::::::::::::++++++::::::::::::++::::,,..,,..,,,,,,..,::+:::::,**::++::++::::::::::::::*#:::
+**+,*****######*+:*####***##**+####*######*+*+++::*####****:*++::::::+++,.:::::,...,,,,,,++++::+:::++++*,+******+++++*+:**+::+*++:*.:*+:::+:+::::::+::+##*#*,:
***++*+*#**##*##*:+****+***######,,:######++:*#########*+::++#+++++++++:..######****+++::::,:++:+.,:,,,.::+*##****###*+*.,.,.#**:+++*##*:*#####:::::,,**##*****
###+*#*##**######:,*#*+****#####*+,:*#####,::*#*########::::+:::::,,,,,,,:*********###,,,.....,..,,,,,.,.,.,,.,...  ...+::,:+:***::##**+,######,,,,,,,**#######
###+#++##++*#***+++:,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,:,,,::+:,,::,,::::::,,:,:++:,,::,,::,,:::::::,+.,:::::++,:++************++++::::::*::#:,,,:+++,,,,,,,,,,,,,,,
##*+*:**#*******:+*+:::::::::::*+,,,:::::::::::::::::::,+:::,,,,,::,::,,,,::,:,,,,,,,,,,,,,,,::,:::::::::***********++**************###::,,,:::+,,,,,,,,,,,,,,,
*##**+*####***+*:::,::,,,,,,,,::,,::::,,,,,,::::::::::::+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::,::+++********************+++++++###+:,,,,,,,,,,,,,,,,,,,,,
*##*****+,******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,:**:+*****************++++++++++**###:::,,,,,,,,,,,,,,,,,,,
#*#**+##+:++*##*::,,,,,,,,,,,,,,,,:+::::::,,,,,,,,,,::::**::,,,,,,,,,,*+,,,,::,,:::#:,::::,,:,,,+*++::::::::++::::::++++++++++++::::+++**+:::+++:::::#***+:::++
++:+++:+::+++++:++++++::++++++::::++++::++++++++++++++++++++::++++++::+++++++++++++++++++++++++++:::::::::::++++::::++++++++++++++++:+++++++:++::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::,,,,.,.,,:::,,,,::::::::::::::::+*******+*************+********+++++:+++***+*:::,::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,,,::,,:::::::::::::::::::,:**##***#****************##*********+**+#+**++*:,:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:..*,.,::::::::::::::::::::+**#########*************###########***+::++****.,:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,+..:::::::::::::::::::::**###*######+**************#*#########*+ :,+*##* .::::::::::++++++:
::::::::::::::::::::::++::++++++++++::++++++++++:::::::::::::::::,, ,...::::::::::::::::::++**########*#+************+:******+###*#+.. ,+*#* ,++:+++::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.,,..,.::::::::::++++++++***###################************#####**:., :####++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++: ,+:.:.::::::::::++++++++****######################################+.:*++++++:::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,,,,.,.::::::::::::::::::::::::::::++++++********###################*::::::::::,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,...... .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::::::::::::++:::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.......,,,,,,,,,::::::::,,,,,,,,:::,::::::::::::::::,,::,,,,,,,,:::+*+++++++++::::::::+++++++++
::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,.,......,.,,::::,,,,,,,,::,,,,,,,:::::::+:::,,,,,,::,,:+*+++++****++++::+++**++++++++::+++*++++++
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++*:::::+::++++*+++++:++++:+:+#++::*+++++++++++++++:***++++++::+++:+:+++++:+++++
::::::::::,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++::++++++::::::::+*++::++++::+++**+*+++*+:+:++++++++++++++++++++++++::+++++++:++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++::::::::::::++++++**++*+:+**++++*++*++*+++++++++****++**++*++:*++++:++*
$........................................................................................,,....,,...............................................................
........................................................................................,,.....,...............................................................
..,,................,,....,,......................................,,........,,..........,,.....,...............................................................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,,,,,,,,,,,,,,,.........
::::::++:++++++:::::::++++::::::::::::::::::::++::::::::::::::::::::::::++::::++++::::::::::::::::++:::::::::::::::::::::::::::::::::++*+++++*+++++*+::+:::::::
::++::::::::::++++++::::::::++++++++::+++:::++++++::::::++++++::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::++++++++:::::::::,....,::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,:,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::,,.,*:++++:
,,,,::::,,,,,,::::::::::,,::::::::,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::::,,,,,,,,,,::::,,:::::::+,:::,,:::,,:++:
:,::++++**:+++*,,...,,,,.,,,,::::**,,***::::::,,,,:,,,,,,,,,,,,,,,,,,,,:+::,::,,,,::,,,:**++++:+++::::,:::,,,,,,,:,:::::::::++++++++++++::::++::++++::::::::::+
,:::,,*#:*#**:,........,:,..............,,,,,,:+++:*##***:::,,,,,,,,,::+++++++*++:::,,:+***********+::::,:::::+:::++:+:+++++++++++++++++++++::+++++++++++++++++
+*****+..*..,*#,.. ,....,,...,,,,.,*##*:,,,,,,:,.,,******++*:,,,,,,,,:+::++###*+::++::::::::+++::::+++++++++++::++:::+*****+++++++++++++++::::::::++++:++++++++
..,,:::, ,,:#*++.   .,..... ,:,:,,,,::,,,,,,,,:*+***++++,:+::+:::::::+++++++++++++++++++++++++**++++++++++++*+++++::::++++*+::++++++:::+++++++**+++***+++++***+
+:....... *##*#*:.        ..   ...,:::+:++++++++****++++++++++::::++++++++++++++++++**+:::****++++*+:::::+****++:++++++++++:+:++**++++++++++::::++++***+:+**++:
+:::::,:.:##**##+,..:++:.....:...,..::,+,,..,,,,,,,:+:::+++:++++++++++++++++++++++++++++++::::::++++++:,::::+++:::::::::::+*.,+++:::::::::,,:::::::::::::::+:::
**++*+++#:*#####+:,::++++:*+*+*+,:***:,+**##,,,,:,++*+*#*****#::::::::::::::::::++++++:::::::::::::+::::,,..............,::+,+,:++**::++:::::::::::::::::+##:::
+**+,+*****#####*+,*#####**#***+###########*+**++::*###*****:#++::::::+++:.,,,..,...,,,,,,+++++:::::::+++,+******+++++*++*+++**++::*,:*+:::*+*:::::::::+####*,:
+***:++##**##*###::****+#########:+,######:*:*#########*+::*+#*+:+++:*::,,######*****++::::::++:+..+,,..,:+*#*******#*+:....:#**+::*+##*:*#####::::::,**###**#*
###+##*##**######:,*#*+****#####*::,*#####,::##**#######:::++:::::,,,,,,,,*********###,,.........,,:,,,,,,,,,,,.......,::::.::**++:#****:######,,,,,:,**#######
##*+#*+##*+*#***+++::,,,::,,,,,,,,,.,,,,,:,,,,::,,,:,,,:+:,,:,,,::::::,,,,::+:,,,,,,::,,::::::,:+.,:++***+++****++++::::::,:+::::::::::*:,,,::::,,,,,,,,,,,,,,,
###**,*##*******:+*+:+:::::::::*+:,,::::::::::::::::::::+,::,,,,:::,::,,,,+::+,,,,,,,,,,,,,,::,::*************++++++********##:::::::::+:,,,:::+,,,,,,,,,,,,,,,
###**+###*#*****:::,::,,,,,,,,::,,::,,,,,,,,::::::::::::*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,***********************++*++*:##*,::::::::,,,,,,,,,,,,,,,,,,,,,,
*##*****+,+*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**:********************++:+++++**##*:,,,,,,#+,,,,,,,,,,,,,,,,,,,,,
#*#***##+::**###+:,,,,,,,,,,,,,:,,,:::::::,,,,,,,,,,,,::+*::,,,,,,,,,,*+,,,,::,,:::*+:::,:++::::::::::::::::::::::::+:++++***+::+:,:++:+**::++:::::::###*+::++*
+++:+++:::++++++++++++::+++++:++++++++::++++++++++++++++++++::++++++++++++++++++++++++++++::::::::::++++++++++++++++++++::::++++++:+::::::::++::++++:::::::::::
::++::::::::::::::+:::::::::::::::::::::::::::++:::::::::::::::::,,,,.:,,:::,,,,::::::::+***++++*********++++++++++++++++++++:+++***::::,,:::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:+.,:::::::::::::*:#########*************************+++*++++++,::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..*:,,:::::::::::::#+*##########**##**#*****############**+:++***,,::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ,+..:::::::::::::*#*##########*#######****#*#********##**+ :+#**.,:::::::::::::::::::++++++:
::::::::::::::::::::::++::++++++++++::++++++++++:::::::::::::::::,..,,.,::::::::::++#**#####***#+:**********++*,#*::::*#*#**,...*## :+++::::::::::+++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..,...:+++++++++++*#*###******************###**#******##*++ ..###+++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:..*:.,.:+++++++++++**######################################+. +++++++++:::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,:,:,,::::++++::++++++********##############################+:::::::::,,,,,,::,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++::::::::+:+++::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.......,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::::::::::,,::,,,,,,,,::::*+++++++++::::::::+++++++++
::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,::,,,,,,,,::,,,,,,,:::::::++::::,,::,,,,::+*++++****++++::+++***++++*+++:+++*++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++*+:::::::**++++++++:++:::*+*++++,*+++++++++**++:+****++++++::*+++++:++++:++*++
::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::::::++::+++++++:::::::+*++::+++++:+++**+*+++++::+:++++++++++++:+++++++++++,+++++++:++
::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::++::::::::::::+:+++:+****+::**+*++*+:+++*+++++*+++***+++**+++++:*+++++++*
$.........................................................................................:....,,...............................................................
.........................................................................................:.....,...............................................................
............................,,...........................................,,,,,........,,.:.....,............................,,,,...............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,,,,,,,,,,,.........
::::::++:+++++::::::::::++::::::::::::::::::::++::+:::::::::::::::::::::::::::++++::::::::::::::::++:::::::::::::::::::::::::::::::::++*+***++++++***+:++:+:::,
::++::::::::::+++++++:::::::+++++++++++++:+:++++++++::::++++++::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::++++++++::::::+::,....,::
::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,::::,,,,,,,,,,,,::,,,,,,,,,:,,::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::,,:+++:+::
,,,,::::,,,,,,::::::::::::::::::::::::....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,::::::,,,,,,,,::::,,:::::::,,::::,::,,,:++:
,:+:++++***+*+*:,....,,,:,,,::::,*#,.*##+:::::,,,,,:,,,,,,,,,,,,,,,,,,,:::,,,,:::,::,,,,:*****:+++:::::::,,,:,,,,,,,::::::::++++++++++++::::++++++++::::::::::+
:,::,,*#**##*+,..... .,,::................,,,,,:++:+#*#*#::::,,,,,,,,:::++:+++*+::,,:::+*******+#*+*::::::::::+:::++++++++++++++++++++++++++::+++++++++++++++++
+******. *: ,+#:.. ......, ..,,,...####*,,,,,,.,,,.+*****+++:,,,,,,,,,+::+:*#**+::++::::::+:+++:++::++++++++*+++:::::+*****+++++++++++:++++:::::::::+++:+++++++
..,,:::....,****, .. ,......,::::,,,:::,,,,,,,,*+***++++::+++::::::::+++++++:::+++++++++++++++**++++++++++++++++++::++++++*+::++++++:::+++++++**+++***+*++++**+
::...,,...:*#***+,        .........:+:::++++++++*****+++++++++::::++++++++++++++++++++++::++**++++++++*:::+***++:++++++++++:::++++*+++++++++::::+++++**++++*+++
:+::+:,:.:*##****,...+:+ ,.,.. ..,.,,::+....,,,,.,,:::::::++++:+++++++++++++++++++++++++++++::::++++++:+:.::+++::::::::::*.,:::++:::::::::,::::::::::::::::+:::
**+:*+:++*+*####*::::+++::**++**::***+,,+*##,,:,,,+:*+:###***#::::::::::::::::::++++++::::::::::::::+++::,..,,..,,.......+,+.:::+++*:::+:::+::::+::::::::+*#:::
+***,:******#####*:*##*##**#***+**###*#####****++::+#####***+*++::::::++:+.,,,,,,.....,,.,:++++:+::::::++:+******+++++++*+++++:::::*:,++:::*+*::::::::::###+*::
****+:+*##*#**##*+.****+*#######+::,######**:*###*######+:,+***+:+++:++:+.######****#.+::::,,*+::,.+,,, .,+*###*******#:....,#***:+*,###::*####+::::,,+*###****
*##*+#*##**######+.+#*+*****####++:,+#####:+:*#**#######:::++:::::::,,,,:,******##*###,,,.........,::,,,,,,,.,,...... *,:,:,,:***+.#+#+*:*#####:,,,,,,**#######
###***+*#***#***+++*::,::::,,,,,,.,.,,,,,,,,:,::::,,,,::+::,:,,,::::::,,,,::+:,,,,,,,,,,::::::++++++++++++::::::::,::+++:::::::::::::::++,,,,:++:,,,,,,,,,,,,,,
###*+++*##*******:*+:+:,:::::::+*:+,::::::::::::::::::::+:::,,,,,::,+:,,,,+:++,,,,,,,,,,+**************************+#*::::::::::::::::::+:,,,::+,,,,,,,,,,,,,,,
###*#**##*##**+*::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+::,,,,,,,,,,,,,,,,,,,,,,,,:::*********************+++++++*+#*:::::,,,,:::::::,*,,,,,,,,,,,,,,,,,,,,,,
**#****#*,*#****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*:,,,,,,,,,,,,,,,,,,,,,,,,,,***********************++++++++#*##+:,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,
#*#***##*::+*###:,,,,,,,,,,,,,,,,,,:::::,:,,,,,,,,,,,,::+*::,,,,,,,,,:**,,,,::,,,:**::::::::::::::::::::++++*+++++***+::::+##:++++::++::**++++::::::+*##*+::::*
++++++:+::++++++++++++::+++++++:+:++++::++++++++++++++++++++::+++++:++++++++++++:+::::::::++++++++++++++++++++++++++:+++++:+++::++::::::::::++::++++:::::::::::
::++::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,..,,,:::,,,,:+++++++++++++**++++++++++++++++++::+++++++::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,:+ ,:::,,:++#######*#***************#######**+*++#+++*::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.*+..:::::**:*#######**#***####******#***######***++*:*:,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..*..,::::+#+*##************************########*#**+,*#,.::::::::::::::::::::::::::::++++:::
::::::::::::::::::::::++::::++++++++::++++++++++::::::::::::::::::.,,..,::::*#######:::*#,*************+:##*+*#####*+. ,,# ,::::::::::::::::::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:,,.,,..:+++*#**##+*####*################*#########*+.. ,*::++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:,.+:,..++**+*######################################*., +*++++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.,:::..:+++******####################################**::::::::::::,,::,,,,::,,,,,,,,,,,,,,,,,
::::::::::::++::::::::::::::::::::::::::::::::::::::::::,,,,:,,,.....,..,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,.....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::++++++:::::::::::+::::,
::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,.,,,,,,,,,::,,::::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,::::*+++:+++++::::::::+++++++++
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,.....,.,,,,,::,,,,,,,,:::,,,,,,,::::::++::::,,::,,,,::+++++++***++*++:++++**++++++++::++*+*++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+:++++:::::::+*:++++++++++::+*::+*+:+++++++++++**+++:+***+++++++:*+++:+::++:+:+*++
::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::::::++::++::+++:,:::::+*+++:++++++:++***+*+++*:++::+++++++++++:+++++++++:+:+++++++++*
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::+::::::::::::+:+++++****+::***+:*++:+++**++++*+++****++**++*++:*+++*+:++
$..........................................................................................:....,:,.............................................................
..........................................................................................:.....,..............................................................
..........,,..........,,....,,..........................................................,.:,....,...............................,,.............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,..........,,,,,,,,,,,,.......
::::::::++++++::::::::::++++::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::++**+++++*+++++*++++:::::
::::::::::::::::++:+++:::::::+++++++++::::::::++++++::::++++++++::::::::::::::::::::::::::++++++++++++:::::::::::::::::::::::::::::::::+++++++++::::++:::... .:
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,::,,,,::,,,,::,,::::::::::::::::::::::::::,,::::::::::::::::::,,::::++:
,,,,::::::,,,,:::::::::::::::::::::::::,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,,,,,,::::,,,,,,,,,,::::::::::::,:.+::,,::,,::+
,,,::++++*****++:,,.,.,.,,,,,:::::*#,.##**::::,,:,,,,,,:,,,,,,,,,,,,,,,,,:+::,,:::,,,,,,,,*****++:+:::::::,:,,,,,,,,,:::::::++++++++++++++,:++:::+++++::::::::+
,,:::,,+***##*+,.... ..,,,,,..............,,,,,,++++**###*::,,,,,,,,,,,:+++:++++*+::::::+***++*++**+++,,:::::::+::++::++++++++++++++++++++++++:++++++++++++++++
,.*+****..*+.,+#,.... ...., .,,,...,****#,,,,,.,,,,.:*****+:++:,,,,,,,,+:++:*##**:++::::::::++::::::++++++++++++::+:::+***+*++++++++++++++++::::::++++++++:++++
,...,,::...,,****.  . : .  ...::::,,,,::,,,,,,.,******++*::+:::+:::::::+:++++:::+++++++++++++++*++++++++++++++++++++::::+:+*::++++++::::++*+++++*++++*****+++*+
*++, ....  ,+###**. ..    ......  .,,:,:++++++++++**++:+++++++++::::++++++++++++++**+++++::++*++++++:+::::+****++:++++::++++::::++++++++++++++:::+++++**::++:*+
::*+:::::,++*#***#..,.+:+.,.,.. ,,:...::+.,,,,,,,,..+*++++++++++++++++++++++++++++++++++++++::::::++++::++++::.+:::::*,,::::::::++::::::::,,,:::::::::::::::++:
++**,*+++,*+######+::,+++:::*+++*+:****:,+:##*::,::::**:##****#::::::::::::::::::+++++++:::::::::::::+::::,...,,..........:::::::+++*+::+:::++::::::::::::**#+:
****+,,*****+#####*:*#####+*##******##*#######**++::+#####***+*:::::::::++:,.,...........,::++++::,,:::::+:+*******+++++**+:*++++++:*:,*+:+:*+*::::::::::**#+#:
##***+:*+##+##*###*,**,*+*#**####+*::*######*,*#*########*+:****::++++++++.+#####***+*.++:::,,*+:::.,::,.,,++****+****#+....#.###*,,+,###::#####+:::+::,*###++*
#*###*#**##+######*,+**++*+**####+++,+*####*:+*##*#######+:,++::::,,,,,,,,.*****#######+........,,,,.:..,,,,,,..,.....+.:,::*++:***.*+#+*++#####:.,,.,,+**#####
#####*#+*#*+*#**#**++:,,::::,,,,,,,,,,,,,,,,,,::::::::::,::::::,::::::::,,::::::::::::::::::,,,,,,,,::::::::++:::::::+++::::::::::::::::+*,,:::+++,,,,,,,,,,,,,
####*++,*#********+++:++::,,,:,++*++:,,,::::::::::::::::::+::::,,,:::::,::**************************:*:::::::::::::+++++:::::::::::::::::*:,,,::::,,,,,,,,,,,,,
#####****#*##+***:::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::+::,,,,,,,,,:,************++++++++++++++++*+#,::::::::::::::::::::::,,:::::::::*,,,,,,,,,,,,,,,,,,,,,
***##***##,+*+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*:,,,,,,,,.,***********************+:+++++***#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*,,,,,,,,,,,,,,,,,,,,
##**#***#*::+*###*,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,:*:::,,,,::**##**********************++++++++*:+:++:::+#*::++::::++*#::++++++++:+*+::++::::::*##*+::::
++++:+++++:+++++:+++++++::++++:+:+:+++++++++++++++++++++++:+++::+++::++++++:++++++++++++++++++++++++:::+::++++++++::::::::::++::++::++::++++++++++++++++:::::::
++::::::::::::::::::+:::::::::::::::::::::::::::++::::::::::::::::+,,,,::,+:+++++++++++++++++:::++::::++++::::::::::::::::::::::::::::::::,,:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::+,::+::**********************++++++++:+*::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#*++.,*,.:#*##############************++**+::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#+*#,.:,,.:##**#############*########**+++:+:::::::::::::::::::::::::::::::::::::::::::::::++:::
::::::::::::::::::::::::++::::++++++++::++++++++++::::::::::::####*.,...,:##:+*************+##########**.,:+::::::::::::::::::::::::::::::::::::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++#*#*:..:,..:*#**********++++:*#******###*:. .+++++++++++:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++***###:.,:,.,+############################+:...+++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++::::::::++::::::::::::::::++++++**##,,,,: ,+#############################*::+:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,.......,::::::::++++++************++::::::,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,
::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::++++::::::::::+:+::::
::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.......,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,:::+*+++++++::+:::::::+++++++
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,::,,,,,,,,,,::,,,,,,::::::::::::,,,,:,,,,,:+**++****++*+:+::++***++++++++::++++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+:++++:::::+::*+++++++++++++:+:::**+:++++++++++++++++++**+**++++:++*++::+:+:+:+++
::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:::::::::::++::+++++:::::::::**:::::+++::+****+++++++:+++++++++++++++::++++++++::,+*+++:++
::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++::::::::::::::+++++**+*+:+**+:++*+++++++*+++*+*****++***+++++:+++*+:+
$...........................................................................................:....,,.............................................................
...........................................................................................:.....,.............................................................
..............................,,...........................................................,.....,.............................................................
:+::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,,,............,,..,,,,,,,,.......
::::::::++:+++++::::::::++++::::::::::::::::::::++::::::::::::::::::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*++++++++++++*+:::::::
::::::::::::::::+++++++:++::::++++++++::+++:+:++++++++::::::++++::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::++++++++::::+++::,.....
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::,,,:+:+::
,,,,,,::,,,,,,,,::,,:::,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::,,::::::,,,,::::::,,,,,,,,::::::,,::::::,,::,,,,,,,::
,,,,::++++***+***:,........,,:,,,,,*#,.#**+::::::::::,,,,:,,,,,,,,,,,,,,,:::::,::::,,,,,,::*****:+++::::::::,,:,,,,,,,::::::::++++++++++++::::++:+++++:::::::::
::,::::,****#**+,.. ....,,,:................,,..,+++:+###*#:,,,,,,,,,,,::+++:+++:*+:::::+****+***+#*+*:,,,::::::+:::++:+++++++++++++++++++++++::+++++++++++++++
:,:*+****. *: .+*:.. ......,.........#**#*,,,,,,.,...******+:++:,,,,,,,,:+:+:*###*::++::::::::+++:::::++++++++*+:::::::+*****+++++++++++++++::::::::::+++:+++++
,,....,:,..,.,****, . .,.... .::+:,,:.:::.,,,,,,,*+****+++::+:::::::::::+:++++:::+++++++++++++++**++++++++++++++++++::::++++*+::++++++::++**++++**+++***+++++**
*+::,.......:*#*##:. .     .. ..  ..,:::::++++++++++**++++++++++::::+++++++++++++++*++**++::+***+++++:+::::+***+++:+++++++++++::++***+++++++++::::+++++**++++*+
::+++++:::,+**#****,...+++.,.,., . ,.,,+:: ,,,,,,,,,.:++++++****++++++++++++++++++++++++++++::::::+++++:++++++:::::*.,::::::++::+++:::::::::,::::::::::::::::+:
**+*+:+++++++#####*:,,:++*:,+*++++::****:,*+##::+:::::**:******#::::::::::::::::::++++++::++:::::::::::::::,....,,..,,.....:+:::::++**:::+:::+::::+::::::::+##:
**++**,:******#####*:+##*##*+#*+*+**###*#####***+++:++######**+*++::++::++:+....,,......,,,:+++++:+:,,,,::::*******++++++*+:,+++++++:*:,*+:::*+*::::::++::**#*#
##****+:+*##*##*###+,****+##*#####++:,*#####**,**#########*+:****+++++:++:*.######****#.+:::,,,*:::,.::::..:++**********....:#,#**+::+.#*#,,####*+::::::+*##***
##*##**#**#**##*###*,+#*:+****####+++,+#####+*:*##*#######::::*:,,,,:::,,,,,****########,.,.........,,:.:,,,.,,,:,....*.:,:,:#:+****,++#**:+#####:..,,,,***####
#####*#*+*#***#*#***:+::.::::::,:,,,,.,,,,,,,,,,,,::::::::+:::::,,::,,:,,,::,,,,,,,,,,,,,,,::::::,,,,:::::::::::::::::++:::::::::::::::::++,,,,:++:,,,,,,,,,,,,
*####**::*#*****+**:++:++::,,,::+**:*::,::::::::::::::::::+:::,,,,:***********************#*++:::::+::::::::::::::::++++::::::::::::::::::+:,,,:+::,,,,,,,,,,,,
+*###****#####**+*::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::,::***********+++++++++++++++++**:,,:+::::::::::::::::::::::::::,,::::::::,:*,,,,,,,,,,,,,,,,,,,,
######****#:******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*:,,*********************++++++++++**:,,+:,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,+*,,,,,,,,,,,,,.,,,,,
*##*##***#*::+**##+:,,,,,,,,,,,,.,,,,::::,,:,,,,,,,,,,,,:::+:+*##*++****************+++++++++++**,:*+:::::::::::+#+::+:::::::*#+::++++++::**:::::::::::*##*+:::
+:::+::+:+:+::++++++++++::::++++::+:++++++++:+++++++++++++++*:::++++++++++++++++++++::+++++++++:+*++++++++++++++++::::::::::::++++++++++++++++++++++++++++++++:
::++++::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,:.,,:.+++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::+*******:,,.:,,*********++++++++*++++:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::#++*######*:.:*,.:***++*****##*********++*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,:#*+*########,.:,.,:*********###########*++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++++::::++++::::++++++++++++::+*#+####*:###*..,..,+**********########*##*::,*:::::::::::::::::::::::::::::::::::::::::::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::++++::+++##**########:..:,.,+*++++++++:*#*+++:##***: .::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++++++++++++**##########*:.:,...:*++++++++**+*+++++*#*+:. +:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::::++++*+*#########*.,,:: .#######################: :::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,.......********################+:,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,
::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++*+:::::::::::+,::
::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,......,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::,,,,,,,,::++++:+++++::::::::++*++++
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,::,,,,,,,,::::,,,,,,::+:,:++::::,,::,,,,,:+*++++*******+++++++**++++++++::+++++++
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::++:++:::::::+++:++++:+++++::*+,:*+::+++*++++:+++++++++++++++++++++*+++,*++:+:+:
::::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::::::::+++:+++++++:,:::::+*++::++++++:+****+*++++:+++:+++++++++++:+++++++++::,::++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::++::::::::::::::*++++***++:***+:++*++++**++++++++++**++*+++++*++*++*+:
$............................................................................................:.....:,...........................................................
............................................................................................:,....,,...........................................................
........................,,....,,......................................,,....................:,....,,...........................................................
:+::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,,,................,,,,,,,,,,.....
::::::::::++:+++::::::::::++::::::::::::::::::++::++::,,::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+++++*++++++*+:::::
::::::::::::::::::++++++::++:::+++++:+++::::::::++++++::::::++++++::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::++++++++++:::::+::,....
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,::,,,,,,,,,,,,::::,,::,,::::::::::::::::::::::::::,,::::::::::::::::::,,,,+:+
::,,,,::::,,,,,,,,::::::::::,,::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::,,::::::,,,,::::,,,,,,,,,,:::::::::::::+.+,:,,:,,,,
,,,,:,::++++**:++++,,.,,,,,,:,,,,,,,:#*.:#**:::::,,:::,:,,,,,,,,,,,,,,,,,,,,+:::::::,,,,,,:,****+*:+::::::,::::,,,,,,,,:::::::++++++++++++++::++:+++++++:::::::
,,,,,:::.:##+*#**:,..... ,,,:,................,,,.:++++*##**+:::,,,,,,,,,,:+*::+++:*::::::+****+**+**+**,,,,,:::::+:++++++:+++++++++++++++++++::+++++++++++++++
:::.+*+***:..*..,**,.. .....,..,......,*###:,,,,,,:....***#**+++:,,,,,,,,:,+:++*****:+++::::::::+++:::::++++++++++:::::::+****++++++++++++:+++::::::++::+++++++
...,..,,,:,....:**+:. ..,.... ..::::,,,,,,,,,,,,,,+*****++++::+:++:::::::::+++++::++++++++++++++++**++++++++++++*+++++::::++++*:::++++++:::+**++++*++++*****++*
::++::, ..,...**#*#*,         . .....,:::::+:+++++++****++++++++++::::+++++++++++++++**+++::::**++++++++:::::+***+*+:+++++++++++::++++++++++++++::+++++++*+:++*
:+:++:++::::,:###*#*+,.,:+++,,,...,..,..::,+..,,,,,,,,,***********++++++++++++++++++++++++++++::::++++++::++::::++*..:::::::::++::++::::::::,,,,:::::::::::::::
*+++:*+++++*#+**####*+:::++++:++++++:+***+,:**##::+:::+**+*#**##*#+:::::::::::::::::++++++++++::::::::::::::,,............,.::::::::++**::++::::::::::::::::::#
##**+**+:******#####**,+#####**#***+**#########****+:::*#*******:#++::++::++::..,,..........,:++++:::...,,:::.+******+++++**::+++++++++*::*+::,*:*:::::::::+###
##*#****+++*#**##*###:,****+#**#####*::,*#####:+:*#***#####**++*+#*+:++++++::,######***#+++:::,,+++:+..:,,,.,:+*#******+*.,...,+:#**+:++:##*::###*#+:::::,**##*
###**##+*#*##**######+.*#*+****#####*:+,*#####,+,###*#######::::+,,,,,,:,,,:,:**##########,......... ,,,,,,,,..,,,,....,:,,:,+*#:+***+,*****:*#####,,,,,:,**###
#######+#**##*+******+:++:,:+:,:,,,:,,,,,,,,,,,,,,,,,,,,,,::*:::::,,,...,,,,,,,,,,,,::,,,,,,,,,,,:,,+.,:::::::::::::::::++:::::::::::::::::*:,,,::+:,,,,,,,,,,,
*+*####*+:+***+*****++*+:+:::::::::*+:,,::::::::::::::::::::*#*********************##*+:,,,,,,,,,:,::+:::::::::::::::+:*++:::::::::::::::::+:,,,,::+,,,,,,,,,,,
***####**+###*##**+*::::::::,,,,,,,,,,,,,,,,,,,,::::::::::+***********+++++++++++++++++**,,,,,,,,,:,,+::::::::::::::::::::::::::,,::::::::::+,,,,,,,,,,,,,,,,,,
******#***+**:******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*********************++++++++++**,,,,,,,,,,:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,*+,,,,,,,,,,,,,,,,,
#####*#***##*::+*###+,,,,,,,,,,,,,.,,,,::,,,,:,,,,,,,,::*#********************++*++++++++*+:,,,,,,,,:*+:::::::::::*#:::+:::::::*#:::::::++::**:::::::::::*##*+:
++:++++::+++::++++::++++++::::++++::::+++++++++++++++++::+++::::::::::::+++++:::++++++++:::**++:::++::++++++++++++++::::::::::::++::++++++++++++++++++++++++++:
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++,,:::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::,:++******++******+,::*.+++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::,*#++#####*****#****,,:*..+***#*********++:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::##++*#########******.,:..,***###########*+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::++++::++++::::++++++++##**###############+.,,,.,*#######********,,,:::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++++
::::::::::::::::::::::::::::::::::::::::::::::::++#*#######*++**:+***,,.+..,+*+:*#+:,,+##***,..:::++::::::++::::++++++:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++++##*####******+*****,,+:. .#####*##*****#*+,. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++::++++++++++***#################+.,::+.,###############*,.+:::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::++::::::++::::::::::::::::::::::::::::::::++++******#######*,.......#################*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,::,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++::::::::::::+:
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,:,:+*++++++++:::::::::++++
::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,.....,..,,,,,,,,,,,,,,:::,,,,,,,::::,:::::,,,,::,,,,,:+*++++****++*+++++++++++++*+*+::+++++
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,::::::+:::::::::+++++++:++++:::*+:+*:++++++++++:+++++++**++++++++++++*+++:::+:++
::::::::::::::,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++:::::::::::+++:++++++::,:::::+*+++:+:++++:+****+*+++*:::+:+++++++++++:+++++++++::,,:+::+
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::++++++***+::**++:++*:+++++***+++++++**+++*++++*+++++*
$...............................................................................................:....,,.........................................................
...............................................................................................:.....,.........................................................
..................................,,......................................,,...................:.....,.........................................................
++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:.....,..,,,,............,,,,..............................,,...
++::::::::::++:+++++::::::::++++:::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::,,::::::::::::::::::::::+**+++++*+++++++::+
::::::::::::::::::::++++++++::::++++++::+:+:+++:::++++++++:::::::::+::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::+++++++++++++++::,.
::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,,,,,,,,,::::,,,,::::::,,,,::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::.,,,
,,::,,,,::::,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::,,::::::,,,,::::::,,,,,,,,:::::::::::::,+.::,,,,,
,,,,,,,,,,:+++***+*++:,,...,,,,,,,,,,,,:#*,*##*:::::::,,,,:,,,,,,,,,,,,,,,,,,,,:++::::,,,,,,::,+****+::+:::::::,:,,,,,,,,,,,:::::+++++++*+:+++::::++++::++:::::
,,,,,,::+++,+*#*#***,,......,,,:....................,+++++*##**::,,,,,,,,,,,,:+++:++++*::::::+******+:**+**:,,::::::++:++:++++++++++++++++++++++++::+++++++++++
,,,,::.++****,.:*,,,*:.... ....,........,+###*..,,,,,,...,****#*+++:,,,,,,,,+:++:+*****:++:::::,::::++:::::+++++++*++:::::::*****+++++++++++++++++::::+++++++++
,....,,.,,.,,,,.,.:***.,.  ,.... .,:+::,,.,,....,,,,.++******+::+::::::::::::::+++:::++++++:+++++++++*++++++*+++++++++++++::+:++++::++++++::+:**++++**++++**+++
++++*++:+, ......+###*#.          .....,::,,::++++++++++++++++++++++++:::+++++++++++++++**+++:::+**++++++++:::::+****++*+++++++++++++*++++++++++++++::**+++*++:
:++:*::+*++::::::*##**#+,:::++::.,...:....,:,: ,,,,,,,,,,,##****###*++++++++++++++++++++++:::+::::::::++++++:+++::*,:+,:+:::::::++:::++:::,,,,,,:::::::::::::::
++*+++:+*+++++*#+*####*+:+*:++:,:*+:::+,+***:,*:*#*+*****+**+*******+:::::::::::++++++++++++++++++++++::::::+::,........,,..,..::::::::::*+::::::::::::::::::::
***##+#+**+.++****#####**:*#####**#****+#*#########**++:::*#**##***+*+::::::::::,.............,,:+++++::....,,,::***+***++*+**++:+++++++:+*:*++::++:+:::::::::+
,:####**##++*:##**#####*::*****#**#####*::,*#####+:+*#****####**+**+*+*:+++++++:.#####**##*,++::,,,*++::.,:,:,,,++****++++*.....*+:+#*#:,+*###*:*####*++::++:+#
**####**##:+####**#####*,,**:+++**#####*::,*#####+,+##**#######::::+,,,,,,::::+,##########*#*.,,,...  , ,,,,,::,..,,.,....+,:,::+**:****+,*#++++######,,,,,,,+*
*:*#######:#+*##+*******::*+:::+++++::+:,,,:::,,:,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,:.:.,::::::::::++::::++::::::::::::::::::#:,,,,:*::,,,,,,,
*++*+*####++,****+*****:+++:+::,,,,:::++:::,,:::::::::*+**#######*****######****+::::,,,,,,,,,,,,,,,,:::::::::::::::+:::+:++*:::::::::::::::::*+,,,,+++:,,,,,,,
++****####+*+#######***,::::::,,,,,,,,,,,,,,,,,,,,:,:*************++++++++++++++++*+,,,,,,,,,,,,,,,,,:,:::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,
*,+#######**:+**,***##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*************++**+++++++++++++*:,,,,,,,,,,,,,,,,,.:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*:,,,,,,,,,,,,,,
*,:#######***##+:+**###*,,,,,,,,,,,,,,,,,,,,,,::::+*#*********************++++:+++++*:,,,,::,,,,,,,,,,,+*:::::::::::,+*::::::::::+#*::::::::::+*+:::::::::::##*
+::++:++:+:+++::::+++:++::::++::::::++++++++++++**+:++++++++++++++++++::+++*+++:::::::*+++++++++++++++::::++++++++::::::::::::::++++++++++::++++++++::++++++::+
::::::++::::::::::::::++::::::::::::::::::::::::::::++++::::+++++++++++++,:,,:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::
::::::::::::::::::::::::::::::::::,,::::::::::::+:++++++++++++********+++:,:+* ++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::#++*##########***********+,.++..+**#***++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::#*+*############******#***+..,,.:*#*##*#*+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::++:::::::##**###***+************++**:.,...,:+++++#**:,+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++
:::::::::::::::::::::::::::::::::::::::::::::##*######+,,+*#:*++++++*+*+,.,+...::+*####*.,,:::::::::::::::::::++::::++++:::::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::::::::::::::::+++++++++##**##########*###########*..#*.,,#######*:. .::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++++++******#########################:,,,::,.########*. ::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
::::::::::::++::::::::++::::::::::::::::++++***########################........###*#####**::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++:+:::::::::::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,:+++++:::::::::+::+++
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.......,,,,,,,,,,,,,,,,::,,,,,,::::,,::::,,::::,,,,,,::++++*****++++*:++++++***+*+*+:+++
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++:::::::+,:::+:::+:,:::::::++++++++++++:+:+,::+++++:++:++++++*+++:**+****:+:++++*:+*+::+
::::::::::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+::::::::+++++*+:++++++:::::::+***+:::++++++*****+++++*:+++:+++++++++++++++++:+++,:,++:
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::+::,,:::::+++::+++++:++*++:+++:++++**+++++:++***++++:+++*+++
$.................................................................................................,....,,.......................................................
.................................................................................................,.....,.......................................................
............................................................................,,................,,,,.....,.......................................................
::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.....,........,,,,......,,..........................,,.......
++++::::::::::++++++++::::::::::++::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::++:::++++++++++++++*:
::::::::::::::::::,:::::::::+:::::::+++++:::::::::,:++++++++::::::++++::::::::::::::::::::::::::++:::::++::::+::::::::::::::::::::::::::::::::++++++++++++++++:
,,,,::::++++++::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,::::::,,::::::,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::,.
,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,::,,,,,,::::,,,,::,,,,::::::::::::+,:::::
,,,,,,,,,,,::+:++#*+:+++.,,.,.,,,,,,,,,,,,*#::###+:::::,,,,,:,,,,,,,,,,,,,,,,,,,::++++:::,,,,,,,::*****,:+:::::::::::,,,,,,,,:::::::++++++++++::::::++++:::::::
,,,,,,,,,:****:**##*#*+:.... .,.,:,...................,,+*+**###**::,,,,,,,,,,,,+++:++++++::,,,:******+:***+*:,,:::::::+:+++::++++++++++++++++++++++++:++++++++
,,,,,:::,,*****+..*+.,*+........., ..,,,,..,####+,,,,,.,....******::++,,,,,,,,,:**+:***+*++++:::::,:,::::::::+++++**++++::::::++**+*++++++++++++++++::::+++++++
,,......,.....,,,: ,.*#**..  .,. ...,:::,,.,,,,,..,,,,,,++++****++++:::,::::::::::++::::++++::::++***+***+++++++++++++++++++:+:::+**::++++++::::+++*+++********
,,::***+::::,......,*#*#*+.   ...  ......,:::::+++++++++++++++++++++++++:::+++++++++:++++:**++*++++**+**++++++::::+***+++++*++:+++++::++++++++::++++++::+*++++*
,,::+++:::::++:::::*##****+:+,+++,:,,,.,..,...::+.......,,,,:**#****#**+++++++++++++++++++++++::+:::::::++++++:+++*,,***++,::::::::+::::::::,,::,,:::::::::::::
*++++**,:::*:++:::***####*+++:+++,:+*+:,:+:+***+,++*#***##*#*#**##****#+::::++++++++++++++++++++++++++++::::::::::,.......,,,,,..,::::::::+++:,::::::::::::::::
*+**###*:****::****++####**++*####**#*++:*+*########****+:+::****#****#+:::::::::::,....  ....,,,:::++++:+.......,,*****++++++**+++:+*++++++*+:+::::#+*::::::::
**++:*#*#****+:+*##+#####*+,**+*****#####**:,*######*,*#*+**#####+++*+#*++++++::+*,*#####****+++::::,:++::.,::::,,:*******++*.....*,# ****:,,.##*,.#####++:::+:
:,*+*####+###+##*##+######*,***++++**####++:,+#####+*,##***######::::+,,,,,,:::+*:,#########***.:+:,......,,,.,,,.,,,,..,,.,*,:,::::#:#****,:*#++:*#####*:,,,:,
*:**+#######**#+##*+*#****+::*:::+**+***+::::+++:::,,,,:::::,,,,::,:::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:..::::::::::++:::::++:+:::::::::::::::*+::,,:++:,,,,,
***+:+*#####*+:**#+++****+:+::++:,,,::::**:+::,,,+:+******########******+**+::+,,,::,+:,,,,,,,,,,,,,,,::,:::::::::::::+::::+*++::::::::::::::::::*:,,,:++:,,,,,
#*+**+**#####***######***+::::::,,,,,,,,,,,,,::+************++++++++++++++++**:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,:::::::::*,,,,,,,,,,,,,
***,,******##**::*:+**###:,,,,,,,,,,,,,,,,,,,,*+**************++++++++++++++++*:,,,,,,,,,,,,,,,,,,,,,,,,,,*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++.,,,,,,,,,,,
#*#+:*#*#####*#*#*::+*####,,,,,,,,,,,,,,,,,,,#**********************++++::+++++*:,,,,,,,,,,,,:,,,,,,,,,,,:*+::::,,::::::*:::::::::::+*:::::::::::+*+::::,,:::::
+++:,+++++:++++:+::+++::++++++++::++::::+++:*+++++::::::::::::::::::::+++:+++++++++++++++++++:++++++++++++++++++++++++::::::::::::++::::::::+++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::++:::::::+++++:::::::::::::::,,,,,.::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::
::::::::::::::::::::::::::::,,::::::::::,:++:++++++++++++++++++++++++++++++++:+*,,:,:,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::*+++*##########***************##*+.,+,.::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::*#***############************+###*:..,..:++*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::+#**############+**************+**+.....,:**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
::::::::::::::::::::::::::::::::::::::::*#*######,+*####,*++***********:##: .*,.,+*+..,:::::::::::::::::::::::++++++++:::::::::::::::::::::::::::::::::::::::::
::++++::::::::::::::::::::::::::++++++++*#*###########*#*################*:.,+:.,:+:. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::
::::::::::::::::::::::::::::::++++++*****#################################,,,,+..+#+  ::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::++++++::::++++++**###############################+.......*##*+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++,.......,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::,,,,,:::,,::,,,,,:++++:::::::::++:+
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.......,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,::,,,,,,::+++:++++**+++**++++++***+*+*+++
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::****+*++::+::::::::::::::::+:+:+++++++++:::::::++++++:++::++++**++*+**+*+++++::+**+++::
::::::::::::::::::,,,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++**::++++++::::::++#*::::++++**+****+*+::+*++++++++++++++++*+:++::+++::,
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::+++*:++++++:++**+++++++++**+*++:+:+++*+++++++*+*
$........................................................................................................,,.....,...............................................
........................................................................................................,,.....,...............................................
........................................................................................................,,.....,...............................................
::::::::::++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,..,,,,....,.................................,,.............
+:*+++++++++::::++++::::+++++++:::::::++++::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::+++::+++++++::::::::::::++::+:::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::::::::+*+++++*+
::::::::::::::::++++++++::::::++++++++++::++++++:+:::::::::::::::::::::::::::::::::::,::::::::::::::::,,,,::::::::::,,::::::::::::::::::::::::::::::::::::,,:::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::::::::,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,::::::,,:::::::::::::::::::
,,,,::::,,,,,,,,,,,,:+*+#*+:+::,,,:.,,,,,,,,,,,,,::++*+++:::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:::+:,,,,,,,,::,:::::,:+:::::::::::,,,,,,,,::,,:::+::++++++:::,:::::::
,,,,,,,,,,,,,,,,:+*****#*#++**:,.....,.,,+.....................+::+**#*++,,,,,,,,,,,:,::++::+++++,::,,,+*****+,+**:+::++,::::,:::++::+::+++:+++++++++++++++++++
+:+:,,,,,,,,,,,,:.+***+..:+,.::,........,...,,,,,..+++*:....,,,....+**#**++++,,,,,,,,,.:*+,::::+*+++++:::,::::::,:::+++++++++++::::::+****++++++++++++++++++:::
:++*:+,,,,.....,..,,...,,.,,+***....   ....:+:,,..........,,,,,+:::*******+++:,,,,,,,::::::+::::+++++:::+***++**+++++++++++++++*+++::++:++++:+++++++::+++***++*
++++*:,,.,,*#*#,,::+, ....,*#**+#,  .... . .  ..::,:::++++++++++++++++++++++++++::++++++++++:::+**+**+:+++**++++++++++::++****++++++++::+++++++*+++++++++++++++
,,,,**,,,,::+:,.,,:::+::+++*##***++++::::++:::,,,:,,.::: ............,+******+*+++++++++++++++:+++::::++::::++++++++*,.+++:+****++++::::::::::+:::::,,:::::::::
**,+#*:*:+++:+:,,+,*.::: ##*####*.  ,:::.+:**,:+::,::++:***########+#*******##:+++++++++++++++++******++++++**++++::::+,::,,,,......,,,,:::::::::+++:::::::::::
*+,#****+*****#:*+:*+:##***+*####+::+**####*+**+*:*#####**#*#**+:+:::*++******::::::::::::::,,,,,,::::::::++++++:,......:,:***++*++*+*++++:+#+++++:*+:*++::+++:
::::+::::,::::::::+++:+,*#*#*#****::*+***#*#####**:,**#****++*******####*******++:+++++++,.*####****+++:::,,:+++:,,::+:,+:+*****++++..,.***#:***#:,,.###,,+***#
*:,*+*.:*:**####**##+,**##+*####**,:****:***####+*:,*#####**,##***######::,:+:,,,,::::**+,######****:*.+****++,:,,,..,,,:,.,,,,,.,,::,:,.#:++*###*:,##*:+:#####
#+*#*+:*:+#:########+#+*##+*#*##**+,****:***####+++:*#####,,,,******##***,***+***#***,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,:::,,:::::::::::::::::::::::::::,+*::,,,,
#***##****#,+#*#####+,****++*###*:++,:::,,,,::::::::::::::::::::::::::::::::::,,,::::::::::,*::,,,,,,,,,,,,,,,:::+:::::::+*+:++:::+++++:::::::::::::::::*:,,,::
###*###**+:+,*######+*+#####++*,*:::::::#*******************++********:::+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::+:,,,,:
***********.******##**+:**+#####*,,,::+#:***********++++++++**+++++++++*:+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,
****######*,***#####+#**#+,+*####+,,:*#***********************++++++++++*+:,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:*+:::,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,:::*+,,,,
+++*******+:,*******+***+:::++***:::,:*##**************************++++++*:::+++++++++::+++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++
::::::::++::::++++::::::::+:::::::+::+::++++::::+++++++++:::++++++++::::::,:::::,::,.,,.,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::
++::::::::::::::::::::::::::::::::++++:+::++++++++++++++++++++++++++++::+:::::::::,.:,::,,:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,:+*+:+++**************************+++++:++++:::::,. ,:.,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,:+##+**#**********################*****##***++::::..,,.:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::,##**++###########*+*************##########**:+:::.,*..,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
::::::::++++++++++++++:::::::::::,##**############*#*************+##########**,,:,,.,:. .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::::::::::::::::::::::::,##*#######**+*+*,*********++++::+#**+++##**:. ::..**...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
::::::::::::::::::::::++++++++****##**##****+****+****++********++**+*****##*:..:,,*:*:,.,::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,::::,,:::::
::::::::::::::::::++++++++++*******##################################**+*#####+.,,.,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,
::::::::::::::::::::::::::::::+++++***#################################**######+,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,:,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,.,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,:::::::,,,,,:::::,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,,,:::++++++++++::**+***+++*+
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::**#******+++::::::::,:::::++:::+++++:::::::+,,:+:+:+++:++++++++*+++****++++++++:
::::::::::::::::::::::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::+++++++:+++:::::::::++++++::::+++**:+*++++:++*:++++:+:+:+++:::++:::+
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++*++::++++++*+:*++*++++++++++++:++++*+*
$............................................................................................................,,.....,...........................................
............................................................................................................,,.....,...........................................
............................................................................................................,,.....,...........................................
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,......,,,,.....,................................,,.........
++++++*+++++++++++::++++++::+++++++:::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::+:++++++++::::::::::::++::::::::::++::++++::::+++:::++++++::++::::::::::::::::::::::::::::::::+*+++
++++::::++++++::::++++++++++::::::++++**++++++++++++++++::::::::::::::::+++++++++:::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::,,,,::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::,,:::::::::::::::
,,,,,,,,,,::,,,,,,,,,,,,:+++**+::,::,,:..,,:,,,,,,,,,:::::++:,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,,,::::,,,,,:::::::::::::,,,,:,,,,,,,,,,:::+++++::::,:::
::,,,,,,,,,,,,,,,,,,.,:+++***#+:**:,.. .,,.,:+.....................:,,,:***::,,,,,,,,,,,,,,:++::++++::,,,,,++****+++**:::,++::::::,:+++::+++++::+++++++++++++++
*::,::+:,,,,,,,,,,,,:,:::::..,,,.,:,........,..........,::,,....,,,,..,:**#**+::::,,,,,,,,,,::::::::*+++++++:,:+++::::::++:+++++++++:::::+++***++++++++++++++++
+**++:+*,+,,,,......,..........,:**+.   ..  ...::::,..,,::::,,,,,,,++++*********++,,,,,,,,:+::::::++++++::::+**+*+**+++++++++++++++**++::+++++*+:++++++++++++**
#****+++*:::+,,**##,,,:::. ...,*#***#....... ...   .:,,::++++++++++++++++++++++++++++:+++++++++++::+*****+:+++***+:+++++++++++****+++++++::+,:+++++*+++++++++++
.,,,,,,,::,,,,,,+:,,.,:::::::::**#**#+::::::::,,::,:::,,,,,:..............:+++++++++++++++++++++++:+++::++++::::++++++:.,:++++:+****+::++:::::::::::::::,,:::::
+*,,**,,#*+*:++++:+:,:,:.:::,*##*##**. . ,,,,:,**.,::,:,,+++**+********:#*********:*++++++++**++********++**********++++:,++::::::,,,,,,,,:::::::::::+++:::::::
:+,,++.#**++++****#:*+++++##****+####*+:+**####***++*:**##*#**#****+++++:+++******::::::::::::::::::::::::::::::::++::,,,...,::*++++++++**++:+:+#*++++:*+:++*::
*#:+:+::**:+*:,,+*++++::::+:*#****+++:.:*+:++**********::*#*+++***++++*+#####+++*+++:+++++::+,.#####****:+++::,,+*,:::::::+,+:+***+**+:*...,++###**+*+,,,:##,,:
:***+::+*#.:*:*+####*+##+,**##**#####*,:****:***####**:::*####*+,*##+*######::,:::,,.:::::***,######****.:,:****++,+,.,. .,,,,,,,,,,,:.:,,:,:#*,*:###**,+#*+::#
*####**##*:+::#,########+#*+##****###*:,***+:**#####**+:+*####+,,,******####*:***+#######:,,,,,,,,,,,,,,,,,,.+++++++,:,,,,,,,:,:::,+,,,:::,:,,::,,::::::::,+#,,
###*+#**##*****::#+#####*:****++*####::,,::::::,::::::::::::,,,,,,:::::::::::,::::,,,:::++::::::*:+:,,,,,,,,,,,,::::,::::::::+*+:++:::++++*:::::::::::::::::+:,
#*###########*+#:*######**:*#####**,,*#****************************:::::::::,*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::*,
###************.+*****##***+:*+####+#*************++++++++**++++++++*:,,,,,,,+,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,*,
##*******#####*:+*####*#*#*+#+ +***#**********************+++++++++++*,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++:,,,,,,,,,,:,,,,,,,,,,,,,:,,,,,::,,:::**
****+++*******+:,+********#*+:::+::+##*************************+++++++*+::+++++:+++++++++++++:+++++++++::+++++::++++++++::+++++++++++++++++++++++:+++++++++++++
::::::::::+++++++::::::::::::++:::#+++++++::++++++++:::::::::::::::::::::::::::::::::::,,...,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::
++++++:::::::::::::::::::::::::++++:++::++++++++++++++++++++++++++++:::::::::::::::::::,,,.:,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::,*+++:++++***********************++++++****+++::::::::::::,......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::,*:+#*+**######********************#**********+:::::::::::,,:,.,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::,+###++*#############*************############+:+:::::::::..#,.,:::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::+
::::::::::::::++++++::++++++::+###**###*++++************##****#*######**#*#*,,+:::::::,.,*,..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
:::::::::::::::::::::::::::::,+###*######*,,:***:*************++,**+,,:*###*. ::::::+,,.*+,..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
::::::::::::::::::::+++++++++*####**###########*######################*#*#**, ,:::::+,,+,+:,.,:,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::++++++++++******###################################****#####,.,::::::..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::++++++++***###################################**+*#####*::,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,.,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,::,,::::,,,,,:::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,......,,,.,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,:::,,,,::,,:::+++::++++::*+++**+
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:***#*****++::::::::,,:::::+::::++++++:::::::,,:,::++::+::++:++++*++++*++++++
::::::::::::::::::::::::::::::,,,,,,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:+::::++++++++++:++::::::::+++:+:::++++***:+++++,***+++++++++:++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::::::::::::*+++*+++:+++++++++++*+*:++++:+++++:**
$................................................................................................................,,.....,.......................................
.................................................................................................................,.....,.......................................
................................................................................................................,,.....,.......................................
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,..,,,:.....,................................,,.....
++++++++++:*+++++++++++:++++++++::++++:::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::
:::::::::::::::::+++++::::::::::::::::::::::::::::::::::::::::::::+++++:+++:::::::::::++::::::::::++::::++::::::++::::++++::::+::::::::::::::::::::::::::::::::
++::++++::::+++++:::::::++++++++::++::++++++*++++:++++++++++++::::::::::::::::::++++++::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::
:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::::::::::::::::::
+,:,,,,,::,,,,::::,,,,,,,,::::+++**+,+::,,:,.:,,,,::,,,,,::::::+::,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,::,,:::,:+::::::::::,,,,,,,,,,,,,,,:::+++++++::
:*++:::,:,,,,,,,,,,,,,,,,,,:+++*###*++*+.... .,.:::....................,,,,,+***++::,,,,,,,,,,,,+++:::+++:,,,,:,++****+:+**:+:::::::::::::++::+++++++++++++++++
*****+++:::::,,,,,,,,,,,:+.:++++..:,.,,:..........,..,,,,...:::::...........+**#**::++,,,,,,,,:.+++::::::*+++++++::,++:::,,,:+*+++++++++::+::::+****+++++++++++
#:******+::**,::,,,..................:#*+ ....  ....:,:,.,,,,,..,.,,,,,,++::********++:,,,,,,,::::::++:::++++:::++***+***+++++++++++++++**+:::++:++*+:++++++++:
*,*::#****++++::::,,**##,,::+:  ... *#**+#.     . .......,::::++++++++++++++++++++++++++++::++++++++::::+**+**+::++**+++:+*+++++++****++:++*++::++::::++**+++++
,.,,..,,,,,,::*.,,,,::::,.::::::::,+*##**#+:::,::::::::,,,,,:.:,: ............,:****++++*+++++++++++++::++:::++++:::::+++,::+++:++::++***+++++::::::+::::::::,,
,*::#*#,,**,,#*:*++++++*:,*,*,+::.*#*###**    ::,.+,**,::::::,:++****######*+#**##*****:++++++++++++++**********++++**++**+++:::::::,,,,....,,,,,::::::::::+:::
:*#:+++:,++,#**++++*#**#::++*:,*##***+####++:+**#####*+:+*:+*####****#***++:+:+++#*****:::::::::::::::,,,,::::::::::::::::.,.....,:,**+++++++**++++:**++++++**+
*+::,+*+*:::,*+:++,:,:++::+:++:+:***##***+*,:********#**##*+:+*#*****+*******####*+++*+*:+++++++++..######***+::+::,,,+++,:,+:::,::+******++:,,,++*##**+*#:,,.,
:*##::#***+,***.:#**+####**##+.**##**#####*,:*#**+***####*+:::*#####+:*##**######+:::::,,,,:::,+#*.*######***,+,****++*::,,,,.,,,,:,,,,,.,,,:,,,:.#*:*:###*+,+#
**##**####**##*:+:,#:########+#*+*#*****##*+,*#*++***####*++:+*####+,,,+**#**###**:***+#####**,,,,,,,,,,,,,,,,,,,,+:::++:,:.,,:::,:,,::,+::::::::::::,:::::::+:
**######**#**##*#***::#+#####*:***#+::,,,,,,::,,::,,,,,:,,,:,,,,::::::::::::::::::,+::::,:::::+:,,:::+,:,,,,,,,,,,,,::::,,::::::::+++:++:::+:*+*:::::::::::::::
*###*#**##*#*##***++*:*######**+*#:##+**************************+*:::,:::::::::::,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::::::::::::::::::::::::::::::
,:##*###*#**********,:*****##*#+*+##************++++++++**++++++++*:,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,**####******##*##*::*#*####*#:###*********************+++++++++++++,,,,,,,,,,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*,,,,,,,,,,,,,:,,,,,,,,,,,::,,,,,,,:
,,+******+++*******+,:+******+:+*+*#*****+****************++++::+++++*::++++++++::++++++++++++:::++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::++++::::::+++:**#*:+++++++++++++++++:::::::::++++:::::::+:::::::::::::::::::.,,,,.,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++:::::::::::::::::::++++::+++++++++++++++++++++++++++++::::::::::::::::::::::::::::,,,,:.,:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::*++++++++***********************++++++++++**+::::::::::::::::::,...,..,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,:*+*+#++*+*##******#*****************#****#****:+::::::::::::::,,.,.,.,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::,**+##***########**####******##*****##*########*+::::::::::::::::..*:,:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++::++:::::::+:,#####**####***++**++************************+##::::::::::::::::,..*..,,:::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+
:::::::::::::::::::::::::::.#####**#####+,:+**#:++++++++++*****:*#*:,:*###*,,::::::::::::::,,:+,.,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::++++++++++####*#*###########+##################*########*..:,,::::::::::,.+:*+ .,,::,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::++++++++*******####################################*+:#####+ ,,:::::::,,,,,.,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::++++++++++******##################################**++######*,,:,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::,:::,,,,,,,,,,,.,......,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::,,,,,,,,,::::::,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,:::+++++++++++:+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*#********++::::+:,,,:::::+++::++++++::::,:::,,::+::+::::::+++++*++*+*+
::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::++++++++::++:+:::::::+*++::::++++*++:*+**+:++++:+:+:++:+++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::+++**:+++++++++++++++*:+++++++++
$.,..+,................................................................................................................,,.....,.................................
.,..+,................................................................................................................,,.....,.................................
.,,,:,................................................................................................................,,.....,................................,
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,.....,................................,
++++++++++++++++*+++++++++++::++++::::++++++::::::::++++::::::::::::::::::::::::::::::::::::::::::::++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::
++++++:::::::+::::++::::::::::::::::::::::::::::::::::::++++::::::::::+:::++++++++::+:::::++::+:::::::::::::::::::::::++::::++::++++:::::::::::::::::::::::::::
++:+++++++:+::::::::::::::::++++++++++::::::++++++++::::::::::::::::,,,,,,::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,::,,:::::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,::::,,,,::::::,,:::::
,,,,,:.,,,,,::,,,,::,,,,,,,,,,,,:::++***::*:::,,:,,,,,,,,,,,,,,+**+***+:,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,.::+:+::,,,,,,:::+*+**:+++::::::::::,,,,,,,,:::::::++++++
,::*+:*++:::,,,,,,,,,,,,,,,,,,:+***+***#****,,.... ..,,:....................,+++****#**,,,,,,,,,,,:,:+++::+++++:,,,,,+******,,**:++,:::::::::::++:+++++++++++++
,.+********:*,:+++,,,,,,,,,,::,.*****,.:*:,:*:........,,.,,,.....*****,,....,... :*****+:++,,,,,,,,,,+**::+++++*++:::::,,:::::::::++++++***++:::::::*****++++++
+::+**++******+++*:::,,,......,.,,,,,,,.,.:***..   ... ...::::....,,.,,,,,..,+::+******+++:+:,::::::::++::::::+++:::::++*+*++*++**++++++++++++*++:::+::+**::+++
++++*:,:,:#*++*++++:...,.+**#+:+,:.......*#****.  ....    .....,:,,:::++++++++++++++++++++++++::++++++++++::+++++++++:++**+**+++++++:::+****++++*+++:++++++:+++
,,,,,,,,,,++,,,,,,+#::,,,:+::,,:::+:::::+*****#*++:+++++:::,,:,,...:::  ..........:********++*++++++++++++++:+++++::++++::::,::+++++:++++++++++++::::::::+:::+:
,*+,,,*+:+*#,,**++##++:+:+++*:,:,#,:,::#*#####*:,+++::++:**+::+::+++*:+:*########+#***######:+++::+++++++++++++++++++++++++++**+::::::::,,............,::::::::
**+,,+**+:++:,:*:#***+++****#++++**,*******####+*+***###****++*:**#####*#*#**+*+::+*+:##****::::::::::::,,........,,,,:++:+*+:. .......::***++**:+**++++:+**+++
::++:+,:++++:+:::,:++:++++++*+*****+*+##**#####*,+****+***#####*:::*#####+:**#****####+:****+:++::+++++,.#####**#**,++:::,,***:,,:+:,,,,++****+++...:+**#,#:#*#
::::#+:##++*****:+#:,,*:*+####**##+:**##**####**,,**+*++**#####*::,*#####+,*##**######*:,:::,,,,,,+++*+.########****+:++::,,..,.,, ,,,,,..,,,.:.::,:,,,*+:#,#*#
::+:#++###*###*+*##*,+*,*+*#######*#*###*+*#*##*:,**++++*+****#*::+***++:,,,::++::::::*:++:,:::::::,,,,,,,,,,,,,,,,,,,:,,,,,,,,:,,::::::::::::::::::+:::++:::::
*****+#*###*#**#**######*+:*:#####+:,,,,,,,:::,,::::::::,:::::+:::::,:::::::::::::::::::::::,,,:::::,,,,:::::,,,,,,,,,,,,,::,:,::::::::::::++:::::*+*::::::::::
*###**###########*##**#++*+:#*##:##+**************************+*:+::,,,,,,,,,,::::::::,+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::::::::::::::::::::::,,:
#####:.:##*####*********#,:***++##+*************++++++**++*++++++*::,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*####+,*######***#**#####::*#:*##+**********************++++++++++++,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,+*:::,,,,,,::,:+:::::::::::+*:::
*****:,:***++*+++***+++++:,:,***+*#******+******++++****+++++++++++:*::+++++++++++++++:+++::++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
++++:+::::::::::::::::::::::+**#++++++++++++++++++++:::::++++:::::::::,+:::::::::::::::::::::::::,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::++::++++++++++:::::::::::+++++:+:+++++::++++++++++++++++++++::::::::::::::::::::::::::::::::::,,,:+*.,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,:::::::::::::::::*+*+++++++++*****++++**************+++*++++++*++:::::::::::::::::::::::,,.::..,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,:*****#++***###*******#**************+#****##****:+:::::::::::::::::::::.....,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,.#*++##***#######**###*#+**************##########:+:::::::::::::::::::::.,,..,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::++++++:::::.###*##**######****++*+++**********++**********+#*::::::::::::::::::::,:.,*,..,::::::::::::::::::::::::::++::::::::::::::::::::::++:::
:::::::::::::::::::::::::.##*###*######+.,***#*:********+++++*++##:,:+##***.,::::::::::::::::::,,.++...,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::++++++::######*################################*#######**.,:::::::,,,,:::::,:,,,,+* .,,,::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,:
::::::::::++::++++++++******######################################:::######,::::::::,,,,::,,,,,,....,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::++++++++*******##################################**+++#####*,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::::::::,,,,,,,,,,,,,,,,.,......,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,......,.,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,::::,,,,,,::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::***+++:::++:::+::::::::::::+:::++++++++++:+:,::++::*+:++::++++**+
::::::::::::::::::::::::::::::::::::::::,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++:+**::++++++::::::++**++:::+++*+++*****++++*::++:++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::++++:+++++++++*+++*++:+++*
$......,.,::................................................................................................................,,....,,............................
......,.,::,...............................................................................................................,:....,,............................
,,,,,,,,,,+.............................................,,....,,..............................,,......,,..................,.:,...,,,...........................
:::::::::++::::::::::+::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++:+++::++++++:+++++++++++::::::::::++++++::::::::::::++::::::::::::::::::++::::::::::::::::::::::++:::::::::::::::::::::::++:::::::::::,::::::::::::::::
++++++++++++++++++++++:+::::::::::::::::::::::::::++++++::++:::+++++++++++++::::++++++::::+++++++:::::::::::::::::::::::::::++++++**++:::::::::::::::::::::::::
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
::::,,,,:,::,,::,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,::::::::,,::::::,,::,,:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::,,,,,
,,,,,,,,,.+,..,:::,,::::,,,,,,,,,,,,,:::+++*+++***:.....,.,,,,::::::+#,,****::::::,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,:::,,,,,:,:******:+::::::::,:,:,,,,,,,:++::::+
++::::,:**+*+++::,,,+:,,,,,,,,,,,,,,,:::,:*#+*#*+,.......,.,:....................,++++******::::,,,,,,,,,:+++:++++++*:,,::++**++**+**++*:::::::::++:++++:+:++++
+*:,,,::*******++*::*+:+,,,,,,:::::.**+***:.,+.,:**..... ...,..,,,,,,,*****,......,,,,:*****+:++:.,,,,,,,+:+:+*##*+:+:+::::::+++++++++++++++++++++++++:::++++**
,,,,,,*+:**+:++*****+,++:,,,,,....,...,,::,...,:#*+,    ,.. .  .:,,:,,:,::,,,,,,,.*+****++++::+++:::::::++++::::++++++++++++++++++**++++**++++++*+++++++++++++*
::+:::++::::::::::::::::::::::::,:++++.  .....*##***,.        ..    ...:,:+++++++++++++*++++++++++::::++++++++++++:++++++++::*..+++++++::::::++***++:+++++++++:
,**,,,,,,,,:*,,#*,,,,,,:#+.,::+++*::++::+:::.:*##*##:,..,:+:..,..,..,...+:,.,.....,,..::,,::+::,::++++++++++**++++++++++++++:::+:,++++++++++::::++::::::+:::::+
**:*,,**,,,,*+,+*+,:*+*##++#++++*++***+:*+:+*:*#####:,:,:+:+::*+****,:***:.+:*#+,,,,,,,+*,*#*****+::::::::::::::::::++++:::::+++*:+:::::::::,,,,,,,,::,,,,,,,:+
##*#**+**,**++::**,:+::**:.+****###*+***,:*****#####**++#####**#***+####**#####*+**+:::#####****:*++::::::::+,.::::::,,.,,,,,:+*:**++:++++*++,+***++*+**++++++:
**#:::::+#+:#*#:**#+::,**:,#*.:,####****:++*##*##*##*::*#****#*######::,*#####+:+*#########++::*:*+:+++++++:.,######****+:::::::,*+:+.,:,,..,:*###**+,....++*#,
#*#::+++:#+,##***#*#*+***,#+,**#####*##**#*##**######+.**++****#####*+:,*#####::+*#**#######:::++:::::::,,,,.:++++******##,,.....,,. ,,:,,,,,,,,...,+,:,:,, +++
+***+:+::#+*###*##***####+,*:,***######***:*#*+*****++*+,,,,,,,,,,::,.,.,,::,,,,:,::::::::::+:::::,,::::::,,,:::+:,,:,,,::,,,,,,,::,:.,:::::::::++::::::++:::::
:::::***#*+####**+###***********:,,,,,::::,,::::::::++++:::::::::::++,,,,:::::::::::::::::::*:::,,,,:::,::,,:,++::,,,,,,,,,,,,,,,::,:+::::::::::::::::++:+:::::
,,,,:###**:***#######*********:*##+*****************************,:,,::,,::,,,,,,,,::::::::::*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::::::::::::::::::::
,,,,,**###+,.+####**####****+,###+******************++++++++++++*+,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*:,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,*####+,:###**#*++*****:+###+#********************++++++++++++*:::::+:::::,,,,::,,,,::::+*::,,,,:::::,#*:::::::::::*#:::::,::::,:*+:::++++::+++#*++++++++++
::::+::::::++:++++++++++:+,,*+:+##***************************++++++*:::+::++::++++++++++++::::++::::::::++::::::++++++::++::::++++++++++++++++++++++++:::::::::
++++::::++++++::::::::::::::+**+++++++++++++++++++::::::++::::::::::::::::::::::::::::::::::::,,:,::::,:...,,:::,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++*++++++++:++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::,,::.,,:::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,:::::::::::::::*+*+++++++++**********+**************+++*++***++++::::::::::::::::::::::::::::::.*,. ,::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,:#+****##****########*******************#**********::::::::::::::::::::::::::::..*...:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::.******##***#######****###***************########**:+::::::::::::::::::::::::,:..,,.,,::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++:::::::::.###***###*####********#*******##**##***###########*:::::::::::::::::::::::::,,.,.,.,,:::::::::::::::::::::::++:::::::::::::::::::::::::
:::::::::::::::::::::::.*#*#**#*#######*,,:*#*+:+*****##******+:*#*:::*##*+,:::::::::::::::::::::::::, :...,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++:,#######*#*###############################*#####*#**.,:::::::::::,,::::::::::,,,.., ,,,,,,,::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,
::::::::::::++++++++*******#####################################++:::######.,:::,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
::::::::::::::::::::++++******##################################**++++#####*::::,,,,,,,,,,,,,,,,,,:,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::,:::::,,,,,,,,,,,,,,,,,,,.,........,,,,,,,,,::::::,,,,,,,,::::,,::::++:::::::::,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,...,,,,::::,,,,,,,,::,,,,,,::::::++::::,,,,:,,,,::+**+
::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::,,,,::::::::++++::::+::++++++::+++:+:+:+:++++:,+:**++++
::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++:::+++::::::::,:::*++:::++++::++***+++++*+:
++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,:::::::::++::::++::::::,+++++***+++:+**+:++*
$....:,..........,....+.................................................................................................................:.....,.................
,,..:,..........,,,,.+............................................................................................,,................,,,,.....,.................
::::::::::::++++:::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,.....,,,,,..,,.........
::::::::::::++++++::++++:::::::::*++++::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++:+++++++++:::::::::::::::::::::::::::::::+::::++::::::++++++::::::::::,:++++++++::+++++++++++++:::::::::::::::::::::::++++++++++++:::::::::::
++++++++++++:::::+::+:::::::::::::::::::,,::::::++++::::::::::+++++:::::::::::::::::::,,,,::::::::::::::::::::,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,:::::::::::
++::::::,,::::::::::,::,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,::::::::::::::::::,,:,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::::,,,,,,::,,,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++*++:+::,,,,,,,,,,,,,,,,,:+*+****:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,:+++++,:+::::::::::,,,,,
+::::++:::::::::,:::**+*++:::,,,,,,,,,,,,,,,,,,:**#*+**#****+.......:.,:,,,..................:++++**#*#*,,,,,,,,,,,,::++::+++++++:::,:******+:+*#:*+,,,,:::::+:
+++::+**+++++,,,,..+*+******++,:,+:.:,,,,,,,,,:.:+***+..++.,:+,.......,. ..,,....,***#,,,,...,....******+:::,,,,,,,,,,***:+++++::++:::::,:::::::::++++++++++++:
****+++++:++:::::+::***:****#**++*#:::,,,......,...,..,, ..+**+. . ..  ...:::,,,,.,.,.......,:+::+****++++:::,::::::::::::++::+*+++++++++++++*++++++++++++++*++
*####*+**,:::,,,.,*++*+,+::*#+*+++++,,,,,.***#,::+:...,. .*#****. .. ..........,::,:++++:++++++++++++++++++++++::+++++++:+++::++****+,:++***+++++++++++++****++
#,,,,,,,,,,,+*+,.:.,,,,,,,.+:,,,.,,*#,,,,,:+,:,.,::::::,:*##***#+++++++:::,,.,... .,:::.........,.,+##*****+++++++++++++**+++++++++:,++,::::++++++++::++++:++++
**,,,,,,,,,:#**,.:++,,,*+,**#,,**.*#*:*+++++:+,.++*,+:+.##*####*,:::::*:++**:::+:++**+.:*##*########*********+++++++::++++++++++++++**+*+:::++++::::+++:,,.....
###,##:,,,,*#*#*#**::,****::+,,+*.#*#*++****##:*++++,*#*****####+*:***###***++:*:**#########*++++::*+:******#+::::::::::+.  ..........,,+*++++++...... .+,****+
**##+++:,,,*+**+:+++++++:::++:+:++,:*+:+++::+++****++++***#*###**:**+*****#####**::*##**##*:*******####:++****++++++++++.:#####*#**+:++:::,:++::,,::::,,,+*****
*##+*##+#,.***+:+:::+*++##:+##***:#**..*:#+*###*###:***##**#*##*+,+*++++***####++:,+#####++,##***######:+:++,,,,,,::++*:,#######****#:,,,,.... , ,:,,,,,..,,,.:
+#######*+++*+*+,+:::#++##*####*++##*,*+,#,*#######+#+*##+******+:,*++*:*******+::,+****+,,,,::::::::::+,+::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:.:::::::::::::
::,,,,,,,,,,,,,:+***#**####**#**#**#*##***,,*+++++*+:****++*****::::++::::::::*+::::,,::::::::::::::::,:::::,,,,:::+:,,,::,+:,,,,,,,,,,,,,,,,,:,:::::::::::::::
,,,,,,,,,,,,,,:,+*###**###*##+,+*#**######*******************#*+:::::::::,,,::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::::::::
,,,,*,,,,,,,,,,,:###*#:,:##+,*###:****************++++++++:+++:+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..++,,,,,,,,,,,,,
,,.,*,.,,,,,,,,,,+####+.#*,,####*+**************++**+++++++++++++*:,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,:*:,,,,,,,,,,::,,,,,,,,,,,,,:,,,,,,,,,,,,**::::::::::::+
##**:::::::::::::+**+*:,:::#####*#********************++++++++++:::*:::+::::+:+:++::::++++::++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++:+::#+::*###**++::::++++++++++++++++++::::::::+::+:::::::::::::::::::::::::::::::::::::::::::,,,,,,:::,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::++++++:+++++++++++:::::::::::::::::::::::::::::::::,:,,:::::::::::::::::::::::::::::::::::,,,::*+,,::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,,*++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::,,..*:.:,::::::::::::::::::::::::::::::::::::::
::,,,,::::::::::::::::***********+*****###**#####***********++++++#*+:++****::::::::::::::::::::::::::::::::::::,:.....,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,*+++++**+##*****##*#****************++*****##***######+:::::::::::::::::::::::::::::::::::::.,:..,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::, *#*******##***#############*##########################*:,:::::::::::::::::::::::::::::::::,,.,:...::::::::::::::::::::::::::++++:::::::::
::::::::::::::::::::,.*#*#****###*#*####++#######:********++*****:##*#######*:::::::::::::::::::::::::::::::::::,..*+...:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,.*##**+***##*#*#########*###:**********++++*+##*##**#*#:,,::,::::::::::,,,,,,,,::::::::,,,,,.,,++,,,::::::::::::::::::::::::::::::::::::::
::::::::::::+++++++++*########*##***####**********************###***##*####*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.....,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::++++++++++++*********################################**++++::::#####*+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::++++++******##########################****#####:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,..,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,::,,,,,,:::,,,,,,,::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*++++++::+:::::::::::::::::++:+++++*:+++:::::,::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+::::::+:++::+**+++++**::,:::+++**++:::++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::+:::,:::::++++:++++
::::::++++::::++++++::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::+++*+::+++
$..........:...........,,...+.................................................................................................................:.....,...........
::::::::::::,,,,,,,,..,,..,+..............,,,,,,,,....................,,,,,,....,,,,,,,,,,..,,..........,,,,..,,,,,,..,,,,,,,,,,,,,,,,,,..,,.:.....,...........
::::::::::::++::::::::::::++:::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,
::::::::::::::::::++++:::::++++++++++++:++++++++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++
++++++++++:++++++++++++++++++++++++++++:++::++::::::+:::::::::::+++++++++:::++++++++++++++++++::++++++::::++++++++++::::::::::::::::::::::::++++++++++++:::::::
++++++++++++++++:::::::::::+::,,::::::::::,,,,,,::::::,,::::::::::,,::::::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
::::::::::,,,,,,:::::,,,,,,:,,::,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::,,::::,,,,,,,,,,,,,,,,:,,:...,,,,,,,,,,,,,,,,,,,,,,,:::+++***+*++:,..,..,,,,,,,,,,,+*,.****:::::,,..,,,,,,,,,,,,,,,,,,,,,,::...,:,,,,,,,,,:**+++*:++:::::::::
++++:+:++,**+:::::+::,::++*++*++:,,,:+::,,,,,,,,,,,,,::::,:**+##*+,.......,,::...,,,..,...,........+++++****#,::,,,,,,,,,:+:++::++++++*,,,::::+*++*+***:+::::::
**+**+++++::****++*:.,,,:*******++*:,+::+,,,,,,,,,:,.+++**+:.,+.,,*+.. . .,.., ........*###*..,,,,,:,,,:##****+++:,,,,,,.,++*++*##*+::++::::++++++++:++++++++++
****+*********::,,,,,,.*+,***:++*****+,*+:::,,.....,..,,,,:,..,.+***..   ,.  ...,::,,,,,:::,....,,.+:+**++++::++::++::::::++++++++++**++++:+++++*+++++++++**+++
***********+:+:::::::::::::::::::++:+::+::::::::::::+++. .,,,  *#****,.................,:::++++++++++++++++++++++++:::::+++++++*+++:++*:,.++:::+**++++++:+::::+
::::*#:,,,,,,,,,,,+*,,.,.,,,,+,,##,,,,,,,#:,,,::++*.,:+::+:,:,,###**#+...,::,..,...,.,..,:::...........,,,::::::::,+++++++++++++++***+++*++++:+:++::++++++++::+
*++*#*##,,+*,,,,:**:*,,**,,,.*+,**+,+++**#+:*+++**++*+*+++::+*+*#####+::,:+++::***+**::**+,,*+*#,,,,.,,,+*,*##****::::::::::::::::::::::*,:.:::::::::::+++::::,
***#####*+**,,,,:***#+*++*.**++::*+,++::**:.++###*#***+**,+*****#####+*+**#*##**#*#+**###*#####**+*+++::*#####***:++::::::::::..++++::,..,:::,,:++++:+++++**+++
+++++++++*+*+*++****++++++#++***+**#+:::**+:**,,,###***#*+*+*#**##+##*::********####**,,,######+:+##**#*####++::*+*+:+++++*+::.######****+:+:::,:,+++:..:,,,,::
######*#**###+*,*#*#+:+++:*+:##*+##+#*+##*+*+:***####*##*#**##*+*#*##*:.**++****#####+::,+#####,::****#*####*:,+++::::::,,,,,,::++++****##*.,.,.,,,, ...,:..,,:
#####++*#####***++#***::+:#***##*###+**###+.*:,**#######***+##++*#***+++::,,,,,,,,,,:,,,,,,,::,,,,,,,,:::::::+::::,,::::::::::,::+:::,,,,,,,,,,,,,::,:,.::::::+
,,,,,,,,,,,,,,,,,,,,::**##**####**+*+::,,,,,,,,,,,,,,:::::+:*##*****+*::::::::::::::++,:::,,::::::::::::::::,+::,,,,,,::,:,,,,,:+::,,,,,,,,,,,,,,,,,:,:::::::::
,,,,,,,,,,,,,,,,,,,,::**#***+,*++**#**************************#+*+*++::::::::,,,,,,,::::::::::,,:::::::::::::*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+::::::::
,,,,,,,,,::,,,,,,,,,,,:*##:,*####:**************++++++++++:+++:+++***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*:,,,,,,,
,,,,,,,,,**,,,,,,,,,,,+#+,,*#####+**************++++++++++++++:+++*+*+,,,,,,,,,,,,,,::::++:::::,,:::::,,,,:::+*:::::::::,,:#*,::::::::::##::::::::::::#*++::+++
:::+::+++:::++++:::::::::,*#####+#********************+++++++:++::+++::+::::::::::::::::::::::::::++++++::::++++::::::::::::::::::::::::::::::::++++::::++++:::
++::::+++++++++++++++:+++*#*+++*+*++++::++::++++++::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::,,,.,..,:,,,,,,,,::::::::::::::::::::,,,
,,,,,:::::::::::::::++++++++++++++++++++++::::::++++++++::::::::::::::::::,::,,,::::::::::::::::::::::::::::::::::::::,,,,,,.::::::::::::::::::::::::::::::::::
,,,,,,::::::,,,,::,:#*+++++++++++++++*++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::,,+,..,:::::::::::::::::::::::::::::::::
::,,,,::::::::::,,:::************#******##********#*************++************::::::::::::::::::::::::::::::::::::::::,.,+...,:::::::::::::::::::::::::::::::::
::::::::::::::::::::,:****++****##*****#*****#**##**#**************#*#**####*#:::::::::::::::::::::::::::::::::::::::::..,,.,,:::::::::::::::::::::::::::::::::
:::::::::::::::::::,.:#*#******###***#############**########**************##*#+:::::::::::::::::::::::::::::::::::::,::...,,,,::::::::::::::::::++::++:::::::::
:::::::::::::::::::,.,##*##****###*#*#####::######+*************+++*##########::,::::::::::::::::::::::::::::::::::::,:,:,,.,,:::::::::::::::::::::::::::::::::
:::::::::::::::::::, +####*++**###*#*############*++++++**++********#*#######*:,:,,,::::,,::,,,,,,,,,,,,,,,,::,,,,,,,,.,,.,..,:::::::::::::::::::::::::::::::::
::::::::::++++++++++*#######**######*##############*#################***#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::++++++++++++********##############################***++++:::::######+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,........,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:
::::::::::::::::::::::::::::::::::::++++******########################***####*::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,........,,,,,,,,::::::::,,,,,,,,::,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,..,,,,,,::,,,,,,,,::,,::,,,:::::::++:
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::,,,,,:+:::::++++::::::::+++:++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::::+++:::::::++++::,:::++++::+++
++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+::::::::*+
::::::::::::::::::++::++++++::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::::::::++:
$...,+,..,,,,..,.:,..........,,..::.................................................................................................................,.....,.....
::::+:::::::::::::++::::::::::::+:,,,,,,,,,,,,..,,,,......................,,,,,,,,,,,,,,,,,,................,,,,,,..,,,,....,,,,,,..............,,,:.....,.....
::::+:::::::::::::::::::++++::::++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::
::::+:::::::::::::::::::++++::++++++++++++++++++++++++::::::::::::++++::+:::::::::::::::::::::::::::::::::++::::::::::::::::::::++++++::++++++++++++::+++++:::+
++++:+++++++++++:+++++++++++:+++++::++:+::++:+::++::::++++::++++::::::::++:+++++::::::::++++::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::,
+++:::::++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,,,::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+:,,::::::,,,,,,,,,,,,,,,,,,...... .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::
.,,:::::::::::,,,,,,,,,,,,,,,,:,,:...,::,,,,,,,,,,,,,,,,,,,,:::+++*****++,,...,,,,,,......,,,..,::,,,,,,,,....,,,,,,,,,,,,,,,,,,:,.,...,,,,,,,,,,:+******+*+,,:
:::,++::+::*:++**:::,::*::::,:++*+++::,+:,,*,,,,,,,,,,,,::,++:,,,+:,**,,,.  .  .,.,,,,......,.,,,.......:*++*+***:*::::,,,,,,,,:....:*++++++++++:::,:+*+****:::
++::*******++++++:**++++*+++++:*******+*#:+,:+:.,,,,,,..,.+******,.,. ,++:.... ....,, .......*##*+....,,,***:*******:*++,,,,,,,,****++++++**++::::++*++++*+++++
+++*****************,,,,,,,,,++:*++:,+***+*+++*:,:,,,,++,.,,,,,:,. ..:##**, ..   ......,::,,::++++::,,,,,*++++:++++++++++++::::+++++++++:+****++:+++++*++++++++
+++:++++:::+:::::::::,::*+,,:,::::::::::::::,,,,,,,,:,,,+++,,....  .,*##**#,................ ..,:::+++++++++++++++++++++++++::+++++++++++:*.:.++++:::+++++++++:
::++*+:::,**.,,,,,,,,,,,++,,,,,,,,#*,.++,.,,,,*#*,:::++::..+,..+:+:.,#****#, ..:::...,,, ..:,. ::+,:.,,,...,,,:++:++++,::+++++++++****++**+***+**++++++++++++++
::+##**++##+##,:+:,,,,*#*+*,,**,,,:*:,:+:,::,#:#*********:**#*+*+++#+**###*+++***####*+***+,+*****++:*+::+#*:::*+###****::::::::::::::::::::+:.:::::::::+++:+++
+**####*+##+##+**:,,,,*##**#*+#*:*+:::+*+,*+:,**:,*+::+****++:+,+***+:+:+*#:*:+,:##*+####**##*#+,+###+++*+++:*######*****+++++++::::.*####****.++++:,:+++::+:++
**#******#******##+*,,****:::,:+#:,***+***+++,##,,**,,*####*#**:++##**#####*,:****++**####+*:,+#####**,*#***######++:+*+*+:*:::+**:,+#####****,::++:::,,,:,,. .
+*#*###########*###*::**#*+++:+:#++##+###***+#**::,:#+########+#####+***##**:.**+:+***####+++::*####,,,:##**#*####*::::********,,,,,..,,......,,....:+***+,:,..
**#*#######*********,,,:****++:+#+**####**:**###++*::++#+####*::*+##++*###*::::::::,::::::+,+,,,::::::::::::::::::+:::::,,,:::::,,,,:::++,,,,,,,,,,,,,::::,:,,:
::,,,,,,,,,,,,,,,,,,,,,,,:::*#*:,,,,,,,::+::::::::::::::::::+**+::*###**###:::::::::::,,,:::::::,,::,,::::::::::::,+::,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,:+::
,:,,,,,,,,,,,,,:,,,,,,,,,:,::,*###+**************************++++**#*##****:::::::::,,,,,,,,,,,,,,::,,:::::::::::::+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::
,++,,,,,,,,,,,,+:.,,,,,,.,+:*#####**************++++++++++++++:::+*+,******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,.+*:,
,*+.,,,,,,,,...*+...,,,,:,,*#####*#*****************+++++++++++++++++******::::::::::::::*********+++:::++::::::::**++:::::::::::#*:::::::::::**::::++**+++:**+
++:+++++++++**++++++++:::,####*+*+#*********************++++++++:::::*::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,,::::::::::::::::::::::::::::::
::::::::::::::++++++:::::+*****#*+++++++::++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::+:+++++*+++++++++++++++++++:::++++++++++++:+++++++++++::::,::,,:::::::::::::::::::::::::::::::::::::::::::,,::,,..:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,:*#*************++******++****++++********++++++++++++++++*+:::::::::::::::::::::::::::::::::::::::::::::::..*:.,,:::::::::::::::::::::::::::
:::::::::::::::::::+:*#***********##******##*********#**************************::::::::::::::::::::::::::::::::::::::::::::,..*,.,,:::::::::::::::::::::::::::
:::::::::::::::::::,.+********+++###***#######********#**************#**#*######:::::::::::::::::::::::::::::::::::::::::::::.,*,.,,:::::::::::::::::::::::::::
:::::::::::::::::::,.+#*#********###***#######**++*+++++::::++::+++++++++++++++#+::::::::::::::::::::::::::::::::::::::::::,:.:,...,:::::::::::::::::::::::::::
:::::::::::::::::::..*##*##******###*#######*,+**###:+++*************+###***####:,,,:::::::::::::::::::::::::::::::::::::,:,:.,., ,,:::::::::::::::::::::::::::
:::::::::::::::::::. *##***+++++*###*#*##############***##***********#########**,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,...,. .,::::::::,,,,,,,,,,:::::::::
::::::::::++++++++++########*****######################################*+*#####+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,...,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::++++++*******###############################**+::::::::+######::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,......,.,,,,,,,,,,:,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::++::++++******######################**#####*::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,.,,,,,,,,,,,,,,,,::,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:+#*::::::,,:,::,:::::::::,,,,:,,,::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++:++++:::::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::++:::::::::::
::::::::::::::++::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+::+++:::
::::::::::::::::::::::::::::::++++++::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,::::::::+:::::
$.........::..........:.............,..+,..................................................................................,,..........................,,:,....,
::::::::::+:::::::::::::::::::::::::::+:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,....,,,,,,,,,,....,,,,....................,,,,,,,,..,,,,....,,,,,,,,,
::::::::::+::::::::::::::::::+++++::++++:+++::::::*+++::++++:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::+::+::::::::::::::::::::::++++:+++++++::::++++++++::::::::::::++++::::::::::::::::::::::::::::::++++++++::::::::::::::::::+++++++++++++++++++++++++++
+++++++++:++++++++++++++++++++++++::+++:::::::++**++++++++++++::++++++:::::::::::+++++++++++++++++++::::::::::::::::::++::++::::::,,,,,,::::::::::,,,,,,::,,:::
+++++++++:::+++++++++:++::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::,,::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++***++::::,,,,,,,,,,,,,,,,,,::::::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:
+***+:++.,,,,,::::::::::,,,,,,,,,,,,,+::++::,,,,,,,,,,,,,,,,,,,,,,,,::+***+:*+:.....,.,,,............,........+,...,++::,,,,,,,,,,,,,,:::+:::::::,::,,:++*****+
###*:+::::++++++*:++**+++:::+:,,..,,**+*****:::,:*,:,,,,,,,,,,:,* ..,... .. .::. ......,.,,....... ...,.,,,,..+,,..*##**+::::,,,,,,,,, :,:,:::::++++++++,,++++:
**+***+*+++*+*******++:+++**++*+++*++*********::*.*+:,,,,,.....,+:::,,,., .,+*+,.. .   ...:.,..,,,,++++.,,,,..*+++:***#*++**+:,,,,,,:::::::::::+++++::+++*++++*
##****++*+*****#**##******,,,,,,,,,*:+*:,:::***:++:*+,:,,,.*##+,,:::+. .,.,*****,...  .  ,....,,:::::++++++++++*++++++++++++++++::++++++*+++++:+*****+:+++***++
::::::::::::::::+*,,,,,,,,,,,:+:,,,,,,,,:,,,.,,,,,,,::,,,,,,:+:,...,,,,,.,*##***:,,,,,,,,...,,,......,:,,,,,,,,,,,,,,:++++++++++++++++++++++++.+.:++++++::::+++
+:++++::+:*::+,:*+,,,,,.,,,,,**+,..#:,,,*+,#,*,,*+:,#**,+++:++,,,:.,++:: **##***+,,. ,,, .++..,. ,.,+::+#*+*++++:**#***#****#*++++++++++++**********+***++++**+
:+:+::::#**##+######.**:,,,,*#+#****,,,,**:::*,,+::#+*+*+******:*+*++:++**+:####**+,**#####**:*+::*****#+****+**+++::*+#******+:::::::::+:+:::::,,++++::::::+++
**,,,::*#####*+#*+##**+:,,,,**###***##+*::::***+:::+#+,**.,,+###*+:,+:*##***+*++::::,,:+:++#****##+:+**+++*:+::::::*#####::++*++++++++::+,:#####****,+++::,:++:
,,..,:+*#*****##**##*+##+*::***+:::::**,###++***+:,***.+*:+:###*+****,+*##*##*##*:.*#*#****#####*::,*#####+:+##***#####*::,,+,,,:::::+*#,,######***+.+,:***+++,
,,,**,**#+#######*#######+...#,,:+::*:*+*##*##*#***#*:::++#:#######**#+*#***#*###+,:**++***#####+:::*####*,,,+*****#####::#+:*######*,,,,,:,,,,,,,,,..,,.+*****
::,:,:,,+,::::,,,,,,,,,,,,,,,,,,:+++*+****##***+***##****+*,:##*###*+:++#*+*####::+:::::::::::::+::,::::::::::::::::::::::::::,,,:::+:,,,,::*:,,,,,,,,,,,,,,,,,
++::,++::,,,,,,,,,,,,,,,,,,,::::+++::+++++**************++::::,+###*+++*###*##++:,::::::,,,,,,::,,::,,::::,,::::::::::,:*:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:,,:,,,,,,,,,,,,,+,,,,,::,*####+**************++++++++++*++++**#**++****####::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,*:.,,,,,,,,,,,*,.,::,*######*+*************++++++++++++++::+*:*++*,:**#**+,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,:*,,,,,,,,,,,,:,,,,,,,,,,,,,.,,,,,,,.,,
:,,,,.,**..,,,,,,,,,*+:::::*######+#******************++++++++++::++:*+*+::+****::::::::::::::+*:+++++++++::++++++++++++++++++++++::::::++++++::::++++::::+++++
::::++::::::++++++++::::::###*::+**##***************************::::::++::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,.:::::::::::::::::::::::
::::::::::::::::::::++::::,::+**#*++++++++++++++++++++++:::::::::::::::::::,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::,...,,,,:::::::::::::::::::::
::::,,::::::::::::++++****++++++**+++++++++++:::::::+++++++++++++++++:::::::::::::,,,::::::::::::::::::::::::::::::::::::::::::::,:.,...,:::,::::::::::::::::::
,,,,,,,,,,,,,,,,::+##**************+:+*********+++++**++******++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::.,+,.,::::::::::::::::::::::
::::::::::::::::,++::#*+***********##*******#***********************+*************::::::::::::::::::::::::::::::::::::::::::::::::,.+:..,::::::::::::::::::::::
:::::::::::::::::+:.,*#************###****############*****************#**########+:::::::::::::::::::::::::::::::::::::::::::::::..:,..,::::::::::::::::::::::
::::::::::::::::::,..*####******#*####*######*******#*#*####################******+:::::::::::::::::::::::::::::::::::::::::::::::..**,,,++::::::::::::::::::::
:::::::::::::::::+,..###*###******###**#######*+.,**#*:*++++++++++++++*:*##+,+###*:,,,,,::::::::,,,,,,::::::::::::::::::,,,,,,,,,:::.+.,,::::::::::::::::::::::
::::::::::::::::::, ,#####**++**++###**#*#############+###################*#####**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:,,...,:,::,,,,,,,,,,,,:::::
::::::::++++++****+*###########***############**+*###############*++++**+::######,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,......,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::++++********############################**++++:::::::*#####*,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,......,.,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::++::++++++******########################*:::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,...,,......,.,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*+*********++:::::::::::::::::::::
::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,::::::++:+++++++::::::::::+
::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++:::,:
::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::+::::::::::
::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,:,,,:::::::,
$::::::::,,,,,,,+,,,,......,:,,,,........,,.:,...................................................,,....,,................................,,..................,.:
:::::::::::::::+:::::::::::::::::::::::::::++:::::::::+:::::::::::::::++::++::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
:::::::::::::::+::::::::::::::::::++++++:::+++::++++::+++++++++++++:::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++::++++++++++++::++++++++++:::+++::::::::::::::::++::::::::::::::::++::::::::::++++++++::::::::::::++++++++++++++++++++++++::::::::::::::++::+++++
+++++++++++++++:+++++++++++:++++++++:::++::+::::++::::::::::::::::::::++++++::::::::++++::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,,,::::,,::::,,,,,
::::::::::::::::::::++++::::::::::::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::,,:,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++:::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++**+::::,,:.,,,,,,,,,,,,,,+******:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:,,,,,,,,::+
,+:,.***##,::,,:::::*::::::::,::::,,,,,,::**++++::,,,,,,,,,,,,,,,,,,,,****+**#*****,......,,,:,,,.,,,,,..,..,.,,,,.:+++*******,,,,,,,,,,,,,,:+::++++++:::,,:***
#**,***#***:,::,+*+++*++::::+*:+++::,.,,.+********:*:::+:,,,,,,,::,,:,,++**+ .**..:+............,.....,,##**,...,,,,....**#***+:+:,:,,,,,,,:***:+++*+::++::::::
+**:***+*#****:+*++*******+++++:::++*++++:+*#:*#**#**+:+*:::,,,.............,. .,+**+.... .  ...:::,,,....,..,..,,.:+:++****++:::::::::::::::++++++++*++++++++*
#+:*###*###***+*********##**+**,:::,.,.,++:*::+,:*#*+*++*+,,,,,,***#,:::+,  ...,*#***+  .....  ......,::::++++++++++++++++++++**++*++::++++++++++:++++**++++:++
#####:::::::::::::+:,#*:,,,,,,,,,,,*:,,,,,,,,,,,,:,,,,,,,+*,,,,,++:+,,::::::,,+*##****::::+++::,,,,,,,.. ,:,+...........:+##******++++++++++++++::+.:+++::::+:+
#####++:+:::++::+++::###,,,,,,,,,:+*+:,:**,,.++:**#.,**,+*+:+:::++*+,,+:*.:::.##*###**,:::*+*:::**:::+:++**+,+:#####*###*##*##*****:++++::::++++*++#+*,:+++++++
###*#+*++:::+*****#*##*##:***.,,,***#*+*#:,,+*#*:::,:+*,#***++**#**#:*:+*::****+**###*+*:++*###****+,+:*########*****++:,**+*##***#:::::++:::::,........,...:,:
####**++..::###+*##*##*###*++*,,,***#*:++++++:,:::+:::+:,:+,:+::::+++++***+++*#*###*#**,****#***#####**+:**#**##+:***+***###*+******++++++++**,,######**#*.++::
##**,,,:**.+************#++##+#,:**#+:+::::#+,##+:#****:***,,+:*+####**##+:**##+#####**,+**+*+***####+++,+#####+::##***######::,:+,,.,,.:::+*+,*######******,::
###**:,.,+.**#*#######**######*+++++#+:::+,#*+###*###***##+,*+,*,*#######+#+*##*+*****+::*+++++****#***+:+****+,,,::::::::::::::::::::,,::,::,,,,,,,,,,,,,,,,,,
**::,,,:,,:,,,::,,,,,,,,,,,,,:,,::::::+******###**##**#**#####**::*+**##*+,+***++***#+:+::::::::::::*+:+::,,::::::::::::::::::::::,,,,::::::,,:,:::+,,,,,,,,,,,
*:::,:::::::,,,,,,,,,,,,,,,,:,:++*****######************#######*+,**#####**+*####*+#++::::::,,,,,,,,,,,,::,,::,,,,::::::::::,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*:::,,,,,,,,:,,,,,,,,,,,,,::,:######+**+************++++++++++:::++****##**+:+++**###*,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+*:,,,,,,,,,*+.,,,,,,,.,::::######***+************++++++++++++++::::++**#****#:,+*##*#:,,,,,,,,,,,:,,,,,,,,,,,:,,,,,,,,,,,,,,:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++:,,,,,,,,*+,,+++*++:+:::*#######+##***+**************+++++::::::::+**+:::+:::++::+:::::::::::::::::::++::::+++++++++++++++++++++++++++:+++++++++++++++++++++
::::::::::::::::+++:++::::*###*,:+**##******++**++++::::::::::++++:+++++*::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:::::::::::::
:::::::::::::::::::+++++++++++:++***++++++++++++::++++++:::::::::::::::::::,,:::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::,::++.,:::::::,,:::::::
,,,,,,,,,,,,,,,,,+++++************++*+******++++++++++++++++++++++++++++::++++::::,,::::::::::::::::::::::::::::::::::::::::::::::::::,,..::.,,::::::::::::::::
,,,,,,,,,,,,,,,,,++*##**************++++******####******+*******++++++++**++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,:...,.,,::::::::::::::::
::::::::::::::::+++,,#*+************###*******##**********################********#*+:::::::::::::::::::::::::::::::::::::::::::::::::::,.:,.,:::::::::::::::::
::::::::::::::::,:,. *#*#***********###*******##############**************##########*:::::::::::::::::::::::::::::::::::::::::::::::::::..*,.,:::::::::::::::::
::::::::::::::::::,.,*##*###*******####**###########################################*:::::::::::::::::::,,::::::::::::::::::::::::::::,.,**...:::::::::::::::::
::::::::::::::::::..,###*##*#*******###**########*+:+:*#+:***************,*#:*,:*#*#:,,,,,,,,,::::::,,,,,,,,::::::,,::::,,,,,,,,,,,,,:,.,:**..,::::::::::::::::
::::::::::::::::::, +######******+**###****#############*###################*#####**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........:,,,,,,,,,,,,,,,
::::::::::::++++****##############**###########********########+*#*:::,,,,,,:#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,......,.,,,,,,,,,,,,,,,,
::::::::::::::::::::::::++++++******############################**++:::::::::######*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::++++++******######################*+::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,.,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*******++++:::+++::::::::+
++::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::+++++**+:++++++
::::::::::::::::++::++::::++::::++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::
::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,:::::+,:,::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::::::::::::+:::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................
::::::::::::::::::::::::::+:::::::::::::::::++++::::++++::::::::+:*+++::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++::++++++++++++::+:::++::::::::::::::::++::::++::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::+++++++::::::::::++++::::++++::::++:
+++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++::+::::::+++++**++++++++++++:::::::::::::::::++++++++::::::::::::::::::
+++++++++++++++++++++++++:::++++++++::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,:::::::::+::::,,,:::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*+**:+,,,:,,,,,,,,,,,,,,,,,:::::++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,
::,,,,,,..,,,,..+****:++,,:::,,,,,::::::,,,,,,,,,,,,,+::++:::,,,,,,,,,,,,,,,,,,,,,::+:****::*+:... .,,,,:,....................:,,,,+**++:,,,,,,,,,,,,,::++::+++
+++::,..,.,,*#.:*##*+*:::,+*++*:++**::*++:::::,,...:+*++****:+,,++,,,,,,,,,,,,,:+..,,,.... .,:,..... ..,,,,,,.....,,,,:,......:....***#**+++,,,,,,,,,,.:++,::::
***:++,,,#*++#::*#***#+*++:*********::::++**:+**++*::*****#***+:+,*+:::,,,.. .......,.. . .,**+:,...    ..,,:,.,..,,,,,,.....,*++::*****++*++:,,,,::::::::++:::
:*++*+*+:###::*###**#*:+*+**#*##**####****,,,,,,,,:+++*:,+::***+*+:++,::,,.*##+.,,:::. .,.:*****,    ....,  ...,::,:::+++++++++++++++++++++++++++:++++++++++++:
####*+*+:#######::,,::::::::,++:#*,,,,,,,,,,,,+:,,,,,,,,,,,. .,,,,,,:,,,,,,,:::..,,,:,,,,,*##*#*:,:,,,,,,,,,,,,,:::,,,:,......,,.....,++++**+++++++++*:..++++++
##*#*::::#######+:++::::++*+::,,**:,,,,,,,,,,+**,,+#,,,.*+,#+*,,*+,,#**::+++++.,,:::++::.##*****:....,,:..++,:::.,:,:::+***********#**##******+*++++++:++:+*++*
##*+*+:::*##*#*#:+:+::::#***########:+**,,,,*#******,,,.+*:,++,,*+:#**+*******+:+++:+:**+**:####**+:**####+**++:::*######*****++:++:++:******#+::::::::+,+,:,,,
##**##**########**:,+::*##*#**:#*+##**::,,,,**###***##+*+:++***+++::*+,+*,,,+****::::,+*#*****++:::::::++++*****##::+*#+++++*+*++++*#####+::***++:++++++*,,####
###*#########**+,..,:,+*#**+#*#****#*:##+#,,#**+:::::**,**#::****:,+*+ +*:*+####+***+:**#**######:.*********####+::,*#####+:+##***######,,,:+,.,,::::+*#+,#####
#######**###****:,,++.**#*#######*#######*,..#:::++:+:*+*##***###**#*::+,+*:#######**#+*#*+*#*##*+,+**+++***####+:::*#####,,,:******###*+:#***######*,,,:,::,,,
+#####*#**+*#:,,::,,:,,,,,,,,,::,,,,,,:::::::::::+++**+*****#**+*#********+,+##*###*+:+*#*++####,:+::::,::::,::++,:::,::::::::::::::::::,:::::,,,:::+:,,,,,:+:,
,#######*##*::,,:+::::::,,,,:::+:***###+****##################***+:,####*+*++*##*##**++*####**:::::::::::,,,,,,,::::::::::::::::::::::::+:::,,,,,,,,,,,,,,,,,,,
:***#####*+*::,,,,,,,,,:,,,,:+:+#######+**************++++++++++++++**+***+,******##**++*+**####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,
,+*******+,++,,,,,,,.,,*+:+::+########********++++++++++++++++++++::::+****,****#*##**++*,+*#*##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*:,,,,,,,,,,,,,,,,,,,,
*+*******:,:++,,,,,,:+:,++++:#########*##*************++++++++++::+::::::+,,:+******++++::,:++**::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::++::*+++++#####*,,+**###**************************:::::::*,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,.,,:::::
:::::::::::::::::::+++++++++++++++**#**+**++++++++::::::::::::::::::::::::::::,,::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::,::...,,,,:::::
,,,,,,,,::::::::::++++*******+******************++++++++++++++++++++::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::,,.,,,.:,:::::
,,,,,,,,,,,,,,,,,+*####*****************+++***************++++******++++++++*+++++++++*++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..,,.,::::::
::::,,::::::::::+++::+*#****************####******##***********#****+++++++++++*+*********:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,*..,::::::
:::::::::::::::::*:,..*#**************+*####****########********#**************##***######:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,.,:,..::::::
:::::::::::::::::+:...*##*##################*##*######******++:++++++++++++++++*****##****::::::::::::::::::::::::::::::::::::::::::::::::::::::::..*+..,::::::
:::::::::::::::::+,.:,*##**#######******####*########*,.######:+************+*:###**###*#+,,,,::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,:::::::::+:*+..,:::::
:::::::::::::::::::. ,####***+++********####*##*#############*+*++++********+*+#####**##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...,,,,,,
::::::::::::::++::++########****++++++**##########**##############****************#******:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,....,..,,,,,,
::::::::::::::::::++++++++****################################**+++++:::::,,::,,:*#####+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,...,.,,,,,,,
::::::::::::::::::::::::++++::++++++++++++**##############################***+++++######::,,::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,.,,,.,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*#****#**++:::::
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::+:::+++++
::::::::++::::::::::::::::::::++:::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,
::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
::::::,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,
$::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::+:+:::+++::+*++::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::++++++++++++*++++++++::::::::::::::++++::::::::::++::::::::::::::::::::::::+::::::::::::::::::::::::
++++++++++++++++++++++++++++++::++++++++++++++++++++++++::++++++++++::::++++::::::::::::::::::,:::++++++::::::::++++++++::++::::++++++::::::++++++:::::::::::::
+++++++++++++++++++++++++++++++:++++++++++++++++++++:::+::::::::::::::,:,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,:,,,::,,::::,,,,,,::::,:::::,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++**++:::,:.+++:+++:::++++:::,:::,,,,,,,::::,,,,,,,,,,,,,,,,:..,,,,,,,,,,,,,,,,,,,,,,,,,:++++**++*++,,..,.,,,,,,,:,,::*+.:##*+:::::,...,,,,,,,,,,,,,,,,,,,,,::.
++::::,+,::+++...**..*##**+:::,:+++++:+*:::+::::::+:::,::+*+:+++,,:,,,,,,,,,,,,,,,,,:,:::,,****#**:,.... .,.::.....................:++++******:::,,,,,,,,,:,,,,
**+++***+:::,,,+****+**#***+:::,:*****++++:::**+++++,,,,,+*+********,:+:::,,,,,,,,,,,,*+***+. *,.,**,.  ..,.... ..,,,.,,####,,,,,,,:::+,******++++,,,,,,,,,****
++****#**:+++:###**:##**#*:***++**+**+*********,,,,,,,,:*:**+:+:+*****.+++,,,,,,...,,,...:,:..,,:***:. . .    ....:,.,,:++++:,..,,.,+:**+++++++++++++:::::++++:
,,,,:+#*##***:###++*##********+***#*+*+****+:++::::,::,:+:::::+,,:::::::::::::::::::++:,  .,...:****#:   .    ... .....,:,::++::++++++++++++++++++++:::::++++++
,::,######,++:#######::::::::::::::,,**,,,,,,,,,,,,**,,,,,,,,++.*#:,,,,,,#*,,,::+++,::::,:::+.:*##****...,+::..,..,,..,,,,::+.........,,:,++**++::,:++++*.,,+**
::,,:##*+*:++:####**#+::+::::+*++++:##*#*,,*,,,,,*#+*+,,#*,,,+*,:*#,.+*,#*++#++++*+:::**:++:+:++#####*:,.:+++++******:,*++::+::#::,,:*,:,:++####**#::::::+*+*::
**,,,*#*:#*   ####*##,*:::::**###**+##*##:#*:.,,,**#******::*+::,*#+:+:,***,*+********+*:::#****#*###*:+:+**##**###*:#####**####,,**++:+*#####******:::::++:,.+
*+++:*+++++++++++++++::++::++++*++*+**+********:+***+:++::**:*#++****,:,+**:+*,,,###*****+:+*##+##*###+,*******######*+:,*#####**:*#**#*#####++:****+:*++*++++.
#**#############*#***+,:*:,*##*#*########**##**:+###*:*+:++*+*##+*#***+***++::***####*##**#*###+*#*###+,**++++***####+++,+#####:::*##########+::++++++++::,,.,,
**#*+*##*+####**###**+:,:*+**#*#######+*##*###*+++****+:::*##*##**##*+**##*,*+,***#######+*:*#*+*#*#*+:++,,,,,::,,::++::::,,:::::::,,,::,,,,,+::,,:,::::,,::::,
:::::,*******+++*+::::::::::::::::,:::,,,::::::::::::::::::::::+***###**************#####+:::###******::::::,,,,,,::::::::::::::::::::::::::::+:::,,,,,,,,,,,,,
::::::****#**+#**:::,,,,,,:::::::*######******************++++++**++*********++++++*##*##****#*##****:::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::,:+::,,,,,,,,,,,,,,
,:,:,,+*######*,+:,,,,,,,,::+:++########+*+*****++++++++++++++++++::::++#+*****+:+#****##+****,:*****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*+,,,,,,,,,,,,,,,
,,,,,:,####*:++,++:,,,,,:++::+*#########*+******++++++++++++++++++++:::+++******,+**##**#++*#*::+****+::,,,,,,,,,,,:++++**+++++:::::::::,,::::#+::::::::::::#+:
++::::++++++++::++++::++:++++*########**+#**************++**++++++::,,:::::+*++:::::::::::++::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::,:::::+
:::::::::::::::::+:+++++++***#******+*#*++*+++++++++++++++++::::::::::::::++++::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::..,,,,,
::::::::::::::::::++++++****+*******++********++++++::::::++++:::::::::::::::::::::::,::::,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,::.,:::.,
,,,,,,,,,,:::::::++*##********************************++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,..+..,,
,,,,,,,,:::::::::+**::*#*******************##+********##********#++*++++++++++++*+++++++**++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..+..,,
:::::::::::::::::**:,.+#******************####**#***##************#################*********+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,:,.,,
::::::::::::::::::+...,*#**#*#***********#####******+*############****************##########*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,..,, .:
::::::::::::::::::+...:*##*#############*#####*########**#################################**::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::,.,:....:
:::::::::::::::::::. ::###*##*****######**####**#########*+:+.##++***************:*#,#,:#*#*,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,.:,,,,.,
:::::::::::::::::::: ,*######::+**********####**#*##############*###################+#####*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,......,,
::::::::::::::++++***###############################+****########*****##**++::::++:*######::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,
::::::::++::::::::++++++++++++++++****############################****++::::::::::,:######::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,.,,
::::::::::::::::::::::::::::::::::::::::::::++++++++******###############################*::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,+:,,::,,::::,
::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::
::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:
,,,,::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,
::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::
$::::::::::::::::::::::::::::::::::::+:::::::::::::::++++::++::++++::+++++++:++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::
+++++++++++++++++++++++++++++++++++:++++++++++::++:::+++++++++::::::::::::::::::::::::::::::::::::::::::::+:::::+++++++++:::++::::::::++++++++++++++++++++++:::
+++++++++++++++++++++++++++++++++++:++++++++++++++++++++::::*+:++:::++::::::::::::::::::::++++::::::::::++::::::::::::::::::::::,,,,,,::::::::::,,::,,,,::::,,,
++++++++++++++++::::+++++++++++++++:::++++++++::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::++::::::,... ..,:++++:+::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,:,,:++*+*+++++:,,.:,,:,,,,,,,,,,:#*:*#*#,,::::,,,,:,,,,,,,,,,,,,,,,,,
::::+++,,,:+:::.++.,,.++..**###:,,::::+++*:+::++::::::::::::,::*++*++:::,,,,,,,,,,,,,,,,,,+***+++**#***+......,,.:+,....................++++**##*#*:::::,,,,,,,
::******++***+,.,,,..*+#,***#***,,,,:++****+::::++*:+++:,,,,,.+*******:*:,+:+:,,,,,,,,,,,,.+****,.,*:,,+:.......... ........+###*,..,,,.:....*##***+:+:,,,,,,,,
..,,,+::::*##:++:,,##+**:***+******:+*::****+***++++::+++:+:*:,***,*****+*:*+*::,,,,......,.,,,.,,, ,:***,.. .,.  ...::,:,.,,,,,......,.+*****++++:::::::::::::
:++,..,,,::#:+#***:###+:*###**##***+*******+*###++#+::::,,..++++*+,:++**++++++:...,,:***+:::+. .... *##*#*, ..............,::,::::++++++++++++*+++++++++++::+++
*++::::,.#####*:*::#######::::::::::,:::,,##,,,,,,,,,,,:*+,,,,,,,,,,,:+:,,,,,,#*,,,,:+++:,,:::::::++*#*****::+:++:,,,,,,:,.. ,:::,,,,,,,,,,,,*#*********++*+,++
**#::::.,*##+:*::::####*##::::::+++:,+:+,**##,,.,,,,,,+#**,,+:,,,,*::#**,:*+,*#+:*++:+++:,::#:+:++*#######*++::+++,:+*::::::***+,::**+***++**#*+*#####*#::::++.
:###,,,,.,*#*+#*:::#####*#:*::::::#****###**##,#*+,,,,*#**+#**,,,***:::*,,+:,#**:****###*:++*+,+******####+*::*####+****+++**#########***++::+#*******+#++**++#
#:*+**+*,,##******##******+::..::****:#****+***+::+,::++++,:::::++:+++++++++*+:+:*++:+********+++*#*+#**##*:*+****+**#####*+:,*#####+*+*#****#####*++**#+:,::::
****#***#*###*####*##*##*::,.**.+**+#***###**#+*##+#,,*+*::+::+**,##*:*****+:*+::,:++*###**##*:**##**#####*:,+*+++***#####*+:,+#####+:+##***######::::+:,,,,,::
#***++###:###**#####*###**+,.,+.**#+#######+***###**+*+*+*+:+:,**+*######*+**#*+:*:++:###*###*#####*+*#****+::++::++++:+::,,,,::,,:,,,,:,,,,,,::,:+:::,:,,,,:::
::::::::::,#####*#**:+*:::::,,,,::::,,,,::::,,,,,,,,,,,,,,:::+**+#####**#*#*****#***::+***###*+:+*#*++****::+::+:::::::::*+:::::::::::::::::::::::::::::,,,::::
:::::::,::,**###**:***:,,:,,:::,+:+*#*****+#****************++******###+##**+*#***++*+***####****#####****::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::++:,,,,,,,,,,
,,,,:,,,:,,*#######*+*:,,,,::+:::#########******+++++++++++++++++:++::++:***********::******#***++*:******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,
,,,,,,,,,,,::+##****:+*::::+++++###########*+*****++++++++++++++++++++::::+*********:,****#*#*+*##+,:+*###+,,,,,,,,,,,,,,,,,,,:,,,::,,,,,,,,,,,,,::*::,,,,,,::,
*******:.,+++***+++:,:+++++++++#############************++++++++++::::::::+++*+++++++:::::++::::++:::+::::++::::::::::::+++:::++++++++++::++::++++++++++++::+++
::::::::::::::::::::::**++++*+######*:,+*####*****+++*****++::::::::++++++++::+*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...
::::::::::::::::::++++++******++++++++********++++++++++::::++++++::::::::::::::::::,::::::,,:,,,,::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,.,
::,,,,::::::,,,,:+++++++*****************************+++++::++++++++++++::::++++:::::::::::::,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::..
,,,,,,,,,,,,,,,,,+*+#**#********************+++***********++************++++++++++++**++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,
::::::::::::::::+***::,*#*******************####****#**##*************+*************+#*********:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..
:::::::::::::::::++:...:##*##*************+######***####***###***********************##**#####*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..:
:::::::::::::::::++,,,.,##**####################*#***#######****+++:++++++++++++++******###**#*:::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::,..*
:::::::::::::::::++. ,.+###*############***######*########*:,*####*:**********++***++###*###***:::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,::::::::::,::
:::::::::::::::::::: ..#####*************+**####**##*#############*+++++++++*****+++###+##*#**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...
::::::::++++++++++++*########*******++++++++########*#+*#########**********+******************:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...
::::::::::++++++++++++:+++++******##############################**++++::::::::::,,,,:,######:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,...
++++::::::::::::::++::::::::::::++++++++++***###############################****++++:+######*:::,,,,,,,,,,,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,
::::::::::::::++::::::::::::::::::::::::::::::++::::::::::::::::++::::::++::::::::++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,
::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::
++++++++++++++++++::::::::::::::::::::::::::,,::,,,,::::::,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$++++++++++++++++++++++++++++++++++++++++::::++++++++::::::::::::++::++::::::::++::::::::::++::::::::::,:::::::::::::::::::::::::::::::::::+++++++:::::::++:::::
++++++++++++++++++++++++++++++++++++++++::++++++++++:+++++++++++++++++::::::++++*+++++++++::++++::::++:::::::::+++++**++++++++++++:::::::::::::::::::+:::::::::
,,++++++++++++++++++++++++++++++++++++++::::++++++++::++::::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,
++:+::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++*+::,:,::::,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,
::,:,,+:::::..,:,,,,,..,..,,,.,***+*:++,:,:,,::,::::::::,:,,::,:,,,,*:+*+:,::::,,,,,,,,,,,,,,,,,,::::*#**:++:,,....,.,,+.....................:,,,,****+,,,,,,,,
,,.,:,,+++++++++++:,......:##.***#**::::**+*:+:**+::++++,::::,,..,++*+****+:+,:+,,,,,,,,,,,,::::..... .. .,,:,. ......,,,,,,.....,,,,,..,,,,.,....***#**:++:,,,
... .,::+*:::::*#*:+#:,:#+#:*:+**+***+*:++********+:+++:**++**+++*++*********:::+*::,,,,..   .::,,,,,.,. .:**:..     ....:,,,,..,:::::.......+::++*****++*++,,,
..........,,+*:***+*:*:*###::###****:++*+***#*#***#*****:,,,,,,,,:+,*:+:,+***+**:++:::,,,:##*,,,:::, .,,,+**#** ...... .. ...,,,,::::++++++++++:+++++++++++++++
+++++:,*+++++*#####+**::#######:::::::::::::+,,:+:,,,,,,,,,,*:,,,,,,,,,,,,..,,,,,,:,,,,,,,,::,,,,,,:,,,,+*##**#+,,:,,::,,,:,,,,,::,,:: ............,::**++++***
****#**+***:,,#####+:::+#######++++::::++*:::,+*+,,,,,,,,,.,+*,,.*+,,,**:+*+,,++,.*#**:::++:+.,+,:,:::.+****#**, . ,,. ,,*+.,:,..,.:++********#**:*#**##***#*+,
++######,,,,.,.##***:::+####***:+:+::::#****+#####*:+*,,,,:**+*:***.,.:*+,,:+,:+,##:+++++****:+*++::**+***+###*++,+++###*+**:**,**####*******++++::+++##****#+:
:++#*:,,:+**:::##***######*###**+,::::*####*#*#**###*:,,,,:*##*#*****++:::+**+:+:,**:,*:,,+****++:+:***#**++*++:,::::::::*****###:++#*+**+**+++++:#####*::++***
#*#*****##:##*####*#########**+.....:+##*+***#**+##**#+*::***+++::,:#+:##+:+***+::##,:*++:####*+##+,++##+*#####*.:*#******####*+:::*#####+:*##**######*,:::+,,,
#*#**+*+**+###########*###*****,,,*+:**#*######**##*###*,..:::::::*:#+*##***#*#*****::::#:########+#*+##+***###*:,**++:***####*+::+*####,,,,**###*#####,+#**###
::::::::+:,::::*##*#*###*#*#::::,::,,,,:,:,,::,,,,,,::,,,,:,,,,:++++*+#*******+***#****++:,#+#####+:*+**++####*:::::+::,,,::+:::+,:::::::::::::::::::::,::::,,:
,,,,:::::::::::.##########*:,,,++:++**#####*++******###########****+++::+****##*#*#####*+*+*######++:**###***:+:::,:::::,,,,,,,,,,::,,::,,:::::::::::::*::,,,,,
,:,,,,,,,,,,::::*######*:*:::,,*::**#######*******+++++++++++++++++++::++**#*************,:******#***+:*+#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,
:*,,,,,,,,,,,,,:********::+:+++++*#########*#*+***+++++++++++++++++++:,::::+*+***********::*#*##*#***+#+,+**##*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,
++::++******:,+*+*+****++:*:++++###########+*#********+++++++++++++++:::::::::*++*******+,,+******+***+:::++**+:::::::::::::::++++++++++++:++++++++++++++++++++
+++:++::::::::::::+::+:+*++++++#######+:,+**##******************+++++++:::::::::*:++:::::++::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::+++++++++++++++***#####******++++++::++++++++::::::::::::::::::,,,,::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::,
::,,,,,,,,,,:::::+++*+++******##**********************+++:::::::::::++:::::::::::::::::::::::::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,:++**####***********************************++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,++++*:,+##********************####********###***+++++:#*++++++++++++++++*********+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::+*+:, :##*******************######***##*###*#**********#+******************##****::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::*:. ..*##*########*********######*****#########################################*::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::+:.. ,*##**###############*######**########*##################*******#######*##*,,::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::+,  :.#####*#*******#####***#####**#########***+**#*:*++++****++++++++**+*:::##+,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,::
::::::::::::::::++::*.,#######++++::+**#******#####****#*#**##########*###################*###***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::++++++++***#################################**########++:::::+*#++,,,,,,,,::#######::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
::::::::::++::::::++++++++++++++++*******#############################***+++::::::::::::#######:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,.
::::::::::::::::::::::::::::::::::::::::::::::::++++++******############################*#####*:::::::::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
::::::::::::::::::::::::::::::::::::::::::::++:::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
::,,::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
,,,,::,,,,,,::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::
++::++++++********++++++++++++++++++++::::::::++::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++:+++++:++:::::::::+:::::::::::::++++:+::::::::::++++::::::::+:::++::::::+++++++
+++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++::::::::::::::::::::,,::,:::,,::::::,,::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,,,:::
..,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,::,,,,::,,,:,,:,,,,,,:::,,,,,,,,,:::,,,,,,......,,,,,,,,,,,,,,,
:,..:,,,,:::::++++*+:::,:,+++::++::::+++,,::::::::,,::,,,,,,,,,,,,,,,,,,,.:...,,,,,,,,,,,,,,,,,,,,,,,:::*++******+,,..,.,,,,,,,,,,,,+*,,**+:::,,,,....,,,,,,,,,
....,::::::::::+::::::,::+.....*#,,**##*+:,,,++++++*+::::+++:,::+:::,,::**:+++:,:,,:+,,,,,,,,,,,,,,,,::,:+*+**+*,........,.:,.......,,,,,,.,..,,,,+++++##*:+::,
........,:+*****+++*#*:+::,,,:#*+*:****#*+:::::++***++++:::**+++++,,,,,+********+*+:*,::,,,,:,,,,:.,****+*..+,.,+*,........., ,,,.,.,.##**+.....,,***:+**###*+*
.............,,:++*+#*#+***:###**,##***#+***++*****+*********:,,,,,,:,*:+**++:+*****,+*+::,,,.....,,,,,,,:. .,:****. ....  ... .,,,,::::++::,,..,,*:**+++++++++
.........+**:,,..,,+#**##**:###+++###****+**:+*+**+*+***+++:+::::::::::+::::::::::::::::::::,:::,:+++,  .....:*#***+..     .....   ...,,:::+++++++++**+++++++++
::::::::::++:::::.+#####,:::#######+++::++::::::+:,**,,,,,,,,,,,,*+,.,,,,,,*+,+*:,,,.,,**..,:+++:,,,+,::::: :*##****,,.::::...,,: ..,.,.,,+...,,......:+*******
+**+***###*#*,,,,,,##*+*::::####+*#+:::+::+:**+++:##*#*,,*:,,,,+*+++,,#*,,.+*,,+#,.*+,#*++*++++*++++**:+*::,**#####*::::*++***++***+.+++::+++*::::,*:,,,*+##**#
*#**:::+#+#,#:+*+,,+##:*+,..#######:*++:::+*##***+##*##+#*+,,,,*#*******:,*++::*#*,++,+**,*+*********++:,******####*:+:+#*##+*##**:#####**####::***+:+*#####***
,:,:+++++*++++*++:+*+++*++++++++++*+::::++++*+*++++*****++*+++:****+:+,:##:*#++**#+:::+**,**,,.*###*+**+:+*##+##*###::********#####*+,,*#####**:+*#########+*++
****+#+**#****#+##############****++,:+:,*##*########*#**##*#+:****:++:+:**+##:*#*******:+::*#+########*##*#*+##*##*+,:#*+*+***####+::,+#####:::+*#########*::+
######*:##****+*##+*###:#####**#***+:,,++****####***++**#####+++*****:::*#**##*****+**##*.*:,***#######+*:*#+++#***::::,:::::,,,,::+,+::,,::::::::::::::::::+::
:::::::::::::::::::,+****+***+**::::,,,,,,,,,:::,,,,::::::::::::::::***#***###+*+*****************####*++::*##****#*:+::+::::::::::+::::::::::::::::::::::::+::
::::,,,,:::::::::::::**#***+*:+::++++#######**********************++++++**#**#**####******+*++:*++##*##***##**#****:::::::::,,,,,,,,,,::::::,,,,,,:::::::::,+::
,,,,:+:,,,,,,,,,,:,::*##**#*+:+++++#########********++++++++++++++++:+++::,::***************#+:+*****##*****::****+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:**,
,,,,,*:,:,,,,,,,,,,,,*****+:++++++###########**++***+++++++++++++++++++++:,::::**#*+++*******+,:**###*#*++#*::+***#+::,,,,,,,,,,,,+:++**+++++:::::::::::::::**:
+++*********++++*:,:*+:++:*++++++############**#************++++++++++::::,,:::::*+++:++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++::::::::::::++++********#######*+:,+*###*+**++++:+**++::::::::,,::++++:++::*,:::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::+**********************************+++:+++::::::++++::::::::::::::::::,,,,::::::::,,,,,,::::::::::,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,::+**+*++**********************************++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,:+*+#####************************++****************++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,:::::::***#:::,##*********************#####********##*************+*++++++****+**#*********::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::**:. .,*##*##*****************######*****#########******##***************######**#**::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::**,..,.+##**########################*****##############+###############*#######+##+:::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
::::::::::::::::,::+, ,.:*###**###############**######**########+,*#####*:*+**++********++*####*#+##+:::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::
:::::::::::::::::::::  .:#####******************######**#############*##*:****************+##****:**::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::++++::++++++**#########*****+++++*###############**###******++++***+********######*#****++**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++++++::::::::+++++++*********##################################*++++:::::::::::::::,,,,:######*::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::++++::::::::::::::::::++::++++++++********############################****++::++::::+#######::::::,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++++**************##**#####**+::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++::++::::::::::::::,,::,,,,::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::++:::::::::::::::::::::::
++++++++++++++++++++++++++++++++::::::::::::::,,::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::+++++++++++++++++*+++++++++::::::::++::::::::++++++++++*+++++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
$+++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++:++++++++++::::::::::::++++::++++++++::::::::::::::::::::::++++::::::::::::::::::,,,,:::::::::::::
,,,::::::::,+++++++++++++++++++++++++++++++++++++:::++++++++::++::::::::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,,,,::::,,::,,,:,,,,,,,,,,,,,,,,,
.......,,::,::::::::::::::::::,,::+:::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++*+++:::,,,,,,,,,,,,,,,,,:++:+***::::,,,,,,,,,,,
.... .,.,:,,,,:::+:::,.,::,,,...........*****::+.,,::,,,,,::::::,,,,,,,,,,,,:*::++::,,,,,,,,,,,,,,,,,,,,,:::++****:+*+,... .,.,:+.......,......,......::++*****
........ .,,,:::***++:+++*++,,....,:**.:*#*#++::,:+*+*+*+:++,:+++::::,,,,..,+*+*****,+,,:,,,,,,,,,,,::,:,.::::.....,,+,........,,.....,,,,,****.....,.:....*##*
..............,:+++*+:::*##:**:,,#**+*:+******+*:*+*+******+::::::*+++*+*+*:+***+#***#::+:*:::,,,,.....,.........  :#*+...    ....,:,,,.,,....,.....,.::::+****
............ ..,....,:+::*+:*+*+*###::*###****++*+***#*#*###***+*+,,,,,,,,++,*++:,++**+*+:++:,::,,,#*#,,:::+. ....******....  ..... ...,::::::+++++++++++++++++
++++++++++++:+:.**::+:,#####*+*::###*###::::::::::::::::+*,,,,,,,,,,,+::,,,,,,,,,,,.,,,,,,,::,,,,,,:++:..,,:::,::+*##**#:,::::::::,,:::,,,,.:::.............:+*
***+##*******#***+++,,,*####+,::+#######+:++::+++:++:+,***,,,.:,,,,,,**:,,*#,,,+:,***,,:*:,*#+++++:++*,,:.+,+::,*#*###**.   ,,:,:,**:++++:+:++*++#########**#**
++*++**+++:######*,,.,,,*#*+*:::+###*#**:+:+::::#***#*#####*,*#:,,,,****,#*+,,.:**:::*::*,#*+++*+****#++:++::*##***+###**+.:++###****+:+:***####*##***+*++::+*:
#*##*#*##**+##+,:+:*++,:##***#**########**:,:::*#*##***#+**##*:+,,,:**##****#***:::+*++:::,**,:*:,,:**++::::,:++#*#***+++,+++++*+*********++**#****+******+*###
#*####*:#*##********###*###*###********+...,,:+**+*+******##+***++,+**+:+::::#+,*#*+****+::**,,**++*###*+##*,++##**#####*,:********#####*:::*#####*,*##***#####
##########+*#****:**###*##**###*******+*,,.*+,**#+######**##*###*:..+*::,+,+:**+###***#**+##*:,:,#:*#######+#*+##****####:,+**+++**####*+:,:#####+,,,:*********
,,:::::::,::,,,,,,:::,,:+##****#*****:::::,,::,,,:,,,,,,,,,,,,,,,,,,:::::+++**+#**+**#*+#**##*****,:#+#####*:++**++*##**:::::::::::::::+:::::::::::::::::::::::
::::::::::::::::::::::::,*******+*+:+***#####**+:+++****************++++,,:*#*+###**#******##***++*++#####***+**###*+*,+::::::::::,,:::::::::::::::::::::::::::
:::::::::,+,::::,,::::,:+******+:+*++*########****************+++++++++++++++*+:****##************,:******#**+++*+**####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:,*,,,,,,,,,::,,,:+++:*+++++###########*#*****+++++++++++++++++:,:::::::*#*##**+**********+:***#**#****#+,**####*,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
:+::,,:::++:++*******:::+++:*+*****############****+**++++****++++++++++::::::::::*****+++******++,,++*****+***+::++++*+::::::::::::::+:::::++++++++++::::::+++
++::::::::::::::::::+:+*++*+++++**##########**+#*##*********+++++++++++++++:::::::::*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::++++**++++******##*********#*+*+++++++++++++++++:::::::::::::,,,::,:::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::
,,,,::::::::,,,,,,+***************************************+++:++::::::::++++:::::::::::::::::,,,::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::**++####**************************************++++++++++++++++++++++++++++++++::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,+++***+*###**************************************##****++++++++++++++++++++++*+++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::+***+:,,+*#********************#**#####********##************##**************#*********::::::::::::::::::,,,,::,,:::::::::::::::::::::::::::::
::::::::::::::::::***,.:,.*#############**********#######******#############**##*************#######**###:::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::+*+. .:,*##############################*###*#####*****+++++*++++++++++++++++++++++:+++::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::+. ., *###**################**#######**#########+,:*####++***************:######:##*::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::+*  ++#######*****************#######**#################***+**************###*#*:**:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::++::++++++++*****#################********+++*##################*###**************************###+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::++++++++++++++++++++******################################***+++++:::::::::::::::::+#######:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::++++::::::::++++:::+++++++**##############################****++::::+:#######:::::::::::,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,
,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++::::::::::::::,,,,,,::,,::::::::::,,::::::::,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::++++++++++++:::::::::::::
:+++++++++++++++++++**+++***++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,::::::::::::::::++++::++::::::++::++++++:::++++++++****+++++**********++**++++++++++++++++::::::::::,,::::::::::::::::,,:::::::::::::::::::::::::::::
$++++++++**+:::++::+++++++++++++++++++++++++++++++++++++++:::++++++++++++++++::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::,,,,::,,::,
..  .. .... ....,:+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:+::::,,,,,,,,,,,,,,,,,,,,:,,,,.....,
.. .,,...........:,,.,::++++++++::::,:::*+:+++,:++***:..,:,:::::,,,,,,,,,,,,,,,,,,,,,,.+...,,,,,,,,,,,,,,,,,,,,,,,::++:+*******,...,,,,,,,.......,,..,,,,..... 
.,,.... .........,,:,+:::+::++::,,,,:,,.....**,.*###**:::,++++**::++:+++::,:++:::,:::++:++::,+,,,+,,,,,,,,,,,,,,::*+,,+*+:*++,..... . ,.,,..........,,,,,,,,...
......................:+****:+****+*:,+:,,#*#+#++##****++:++*+***+++*++:**++++*::++++*+*****+**::+:+,.,,,,,,,,,.*******,.,..:++,.........,: ...,,,.*****..,,,,.
..........................,,,+##*#****+*:####*:*##**********#***********+*,,,,,,,,,*::*::+::***+*,+++::,,,,.::,,,,,:::,....+****, .. .... ...,,,,::+++++++::,,,
::::::::,,,,,,,,,,,,,,++**,.,.,::##*#***:*##*+*#***+**++++****+++++++++:::::::::::::::::::::::::::::,,,,,:,,,::+:,. .... .+******,..  ..  . ....  ....,:+++++++
::::,,:::,,,,,,,::::::::+::,::,:#####,::,*######:::::::::::::::,**,,,,,,,,,,,.*+,,,,,,,,**,+*:,,,,,,#*:,,:+:++...:..:::+.,*##****:...:,: ..:,....,,, :,:,:,,,,,
*+####**++*+++***+**###*##,,,.,.#**+*:::+*###+#*+:,::::::##**++##**#,,*+,,,,**+*+,:*:,,,+*,,+#,,:+,***+#*****+*:**#*:++++*+*####*+*+****##+**##**,+*****+***+++
#*####*+#**#**#*#::+:#*#.#::*+,,+*#:*+. .*###***.+:+::++*##***+##*##:*++,,,,*##***+***:+::::**::+::+*+.+*++:+***+++::,**#*++++**#:+::####+*####*###*#+:+###**+*
:,::++++++++*+*+********++**+**+****************+,::,:++******+#**********,:***+:::::**,*#+:**#+:::+**,**,,,####****+:+*##+#####*+,*******#*####:*:,*######*:*#
**:::+#######+**#*#***#*#*##+*********#********++,:+,,****#*#####**#**##**:+*#**:+++++*+*##+*********++::*#+##*####**##*#*+*#*###+,:#*++**#*####++:,+*####::::*
,*++**+***######****:*#****++#*:****+**********+:::::+****####***+****###*:::*****+::****##****+***#**,*:,*+*######*++:*#*++####::::::::::,,::+:+:+::::::::::::
::::,,,,,,::::::::::::::::,,::::::+++++*::,,:,,,::,,,,,,,,,,,,,,,,,,,,::::::::::,+**#***##*+*+*##*********#****####*+++:###*#****:::::::::::,,,::::::::::::::::
::::::::::::::::::::::,,,,,,::::::+++:*+*+##******#**###**********++++++++*****#*+*****+****#####*+**+**++++**+***#****##*##****::::::::,,,,,,,,,,,,,,,,::,,,,,
::,,:..,,,,,,,,,:,+:,,,,,,,,,,,::::*+***###########*+***++++++++++++++++++,,,,,,::+****,:+*****************:******##*****,+*****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,.,:.,,::::,,,,+:,,,,,,:::+:+**++***#############+**+**+++++++++++++++++:,,,,,::::+:,,**#****++********:,******##+**#+:+*****::::::::::::::,*+*******+++:::+
****++++#*+++++++*+++++**+*+++********##############+**#********++++++++++++:::::::::::++::+:::::::::::::::+::::::::++::::++:::::::::::::::::::::::::::::::::::
::::::::::::::::::::+::*+++**+++*****##########:,:+*#*##************************++::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::++***+**********++++**###*#####******+++++++++++++++++++:::::::::::::::,,,,,,,::::::::::::::::,,::::::::::,,::,,:::::::::::::::::::::::::::
::::::::::,,,,,,,,,******+*+********##****************************++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,::****+#####********************************************++++++++++++++++++++++++++++:++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::+++++#+::+##*##*##*#####****************###*************###*****###+++++++******************+::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::*****:: +:*##*****************####****#######***####*###************#################*********:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::****,,,,,:#################*********###*#####*********#############*#************:+#########*,:::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
:::::::::::::::::::+**+.. ..,#############################*###############******************##**####*#####*####+:,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::
::::::::::::::::::::+++,.,.++##########################*##+*####**#########**.:*####:*####******++++++##+#++##*:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::++:::::+*+  .:########*#******************##:*#####*##################**##****##**##***###**#+#*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::++++********############################********########*#######*#####***###**####****###########*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,
::::::::::::::::::++++::::++++++++********##############################****++++++:::::::::::::::::*#######*::::::,,,,,,,,,,,,,,::,,,,::::::::::::::::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::++::::::::+++++++*############################****++++::::#######+::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,
::::::::++++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,
:::::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:
::,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,::,,,,,,,,::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++::::::::::::::::::::::::::::,,,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::
++::::+++++++++++++++++++++*****++++++++++++++::::::::::::::::::::,,,,,,,,::::::::::::,,::::,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
::::::::::::::::::++++++::::++++++++++++++++::::::::++::::::::++++++++++*+++++++++++++++::::::::::::::::::,,::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::+::::,,,,,,,,,,,,,::::::::::::::::::++++++**++++++++++*++***********++++**+*************++****++++++++++++++++++::::::::::,,,,,,,,:::::::::::
$,,,,....,,,,,,..,,,...,,++++++++++++:::::++++++++++++++++++++:::+++++++++++++:::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,::::,,,,,,,,,,,,:::
......... .....,.....:::::::::::::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++*++::,::,,,,,,,,,,,,,,,,,::::++++,,
...... ,.........,,..:,:::::++:::,,,::::,,.::,.,,:.:*****+++:,,,::::,,::::::,,,,,,,,,,,,,:::::,,:,,,,,,,,,,,,,,,,,..,,,,::+***:+*+:.....,,,,:,......,..........
...,,.................,,.,:::++:,,::::,::,....,.##,,*##***::::+++**:+++++:+++:::++:,,..:+*++++*+:+,,+:,,,,,,,,,,,,,,+..... ....,,:,..... ...,,.........,:::,...
,,........................,,++**++++**#:*++::+#*:*+:*#+***+*::+#****++*+:+::++++++*++++++***+*#***:,*.*::,,,,,.. ..,,,:,,,. . .,**+... . . ...:,:,.,..,,,,:,...
........        ..      ........,:+*+##**+++:###+:+###***+::*+****************,,,,,,,,:+:**+,:+:**+++::++,,,,..###:.,,::,  ...:**#**,  ..... ,....,,::,::++:+++
*:,:+:::::++++++++++++++::+,**::,:++*####+*+:###***#::::::::::::::::++::::::,,,,,:++,,,,,,,,,,,,,,,,,,,,+,,,,,,,:::,..,,,,,,,:*##***::,,,,:,,,,,,,,::::,,:::...
+**++++++++++++++++++++++*+***++*,,+#####,:::#######::::::::::++:+,,*+,,,,,,,,,,,+*+,,,+,,,:*:,*+:,,+:,:#*+:++::+*,,,,:,+::: +**#***+,,, ,,: ,+*:,,,..:,,+++***
####*+####+*+:+++***+++*####*#..,...*#***::::*##+#**:::+::::#****+######::++,,,,*#**++**,,,.**:,.+:,+:**:++*++****,:*+*++*+****:####**::*+###**#*+*::,***###***
*###++#####*##*#*##*#*+++*..,,:**+:,***+*****##*****:*:,:::**###**+#++##**:,,,,,*#**#*+****+:::+**+:++:**:,**,,:*#***:::::**#++*+*+++::::::+:++*****##*:+***+++
#*#**+########**###*#*****+*+*#****:****************,.,..:+**+******#**##+#**+,+***::::::#+,*#*:+***+:,**:,**,:*###***#*+:**#**#####*,,********#####+::,*#####*
**,:++:+*:###########********+********************++:,,++.+*#+*######*##*###*+.,,#:::+:++*++###****#*+*#+::::***#######**#**#*+***##**.+**++***#####+::,*#####:
#*#*++++**++**********++++++++::++:::*****:***+**+++::::::::::::::,,,,,,,,,,,,,,,,:::+++**+*****#**+#********+::**#####*:*+**+:*####:::::+:,::::,::+*::,:::::::
::::::::::::::::::::::::::,,,,,,,,::,++++:,,,,,,,,:::,,,::::::::,,::::::::::::::::::+**##**###**#*##*##*##**#*#***#####**:**###*#*:+::::::::,,,,,,:::::::::::::
::::::::,,,,,:::::::::+,,,,,,,,,::::::+#++**########*#+***********++++++****+++++++*:******,****##************,:******#*****#*####*#,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,...,,,,,,,,,,,+:,,,,::,,::++*+****############+*++++++++++++++++++++,,,,,,,,::*+**+,:+****************+:******#***+**,+*####:,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,:,,:::,,,,,,,:+:,,::::+++#******##############*#+*++++**+++++++++++++,,,,,,,::::*::,:******+++*******+::************++++****::::::::::::::++::+++++++++
++++++++++++++++::::::+***+*++**********###############**#********+++++++++++::::::::::::::+:::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::+*++*#**********##########*:,:+**###*++****************++++++**++::+:+++++:::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::
::::::::::::::,,,,::++********************+*****######********++++++++++++++++++:::::::::::::::::,,,,,,,,,::::::::::::::::::,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,+******+++*********##********************************+:++++++++++++++++++++++++::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,:******#*###***********************************************++++***++++++++++++++++++++++++++++++:,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,::::::::::++++++#+,::*##*#################***********#####***********#**+++,++:+##+***************+********+:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::******,::.*+##********************######**##*####*######*###**************++********++**#*********::::::::,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::+***+..,,,,*####*##############********###**####**********###############*###########*#########*:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
:::::::::::::::::::+***+..,,.,*###*##########################*+###############***#######################*######*###+:,::,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,:
:::::::::::::::::::::++*.  ,, *###***###################***##*:#####**##########*+,::*##**********##****+:*#:*+:#*::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
:::::::::::::::::::::++**, .+*#######*#********************##*,#####**#*#################*##################**#:**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::++++++******##########################******++**:##########**++*#**##############################+::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,
::::::::::::::::++::::::::::::++++++++++******################*##########*****+++++++:::::::::::::::::+########:::::::::,,,,,,,,,,::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++++***############################******++++######*:::::::::::::::::::::::::::::::::::::::,,,,,,,,,
::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,
::::,,,,,,,,,,:::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++++::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
++::::::::::::::::::::::::,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::
++++*+++++++++++++++++++::++++++++::::::::::::::::::::::::,,::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::
::::::::::::::++++++++::++++++++********++++++++++++++++++::::::::++::::::::::::,,::,,::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::::::::::,,,,::::::::::::::::++++++++::::::++::++::::::+++++++++*+***++******++**++++++++++++::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::
,,,:::::::::::::::::**++::::,,,,,,,,,,,,,,,,,,::,::::::+++::++:+++:::+*+++++++++++++++++++++*+*++*+*************++++*+++**********++++++++++++++:::::::::::::::
$::::::::::++::,,,,:+::::,::,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,:::::::::,,,,,,:::::::::,,
.............,..........:+:,::::::::::++:::,......:+++++::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,+,.,,,,,,,,,,,,,,,,,,,,,,,,,,:+++**+:+++:,,,,.,,,,,,,,,,,,:#:.*##
........ ,,............,,:,,,,::::++:,,,,:::,,,,,,.,*+:+####+,,,.:::**+*::::+++:::::::::,,::**:++++::,,,:,,,,,,,,,,,,,,,***+,+**##**+:.........,:.,,...........
.....,,....,...............,::+++*..:+++**::,.,,..**#*,****#+:,,:,,+*++++:::::+*+++++:,,,..:********:*,:+::,,,,,,,,,,,,.++****..++..+*,.. .  ...,..,,.,,,,+***#
................................,:**::::***::+:,##++#,+***+**+**,+**:+**++******+:::,,,,,:*::**:+**#****+:*+::,,,....,....,.,,.. ,.+***.   .:.   ...::,:,,,,::,
,,...,....  ..    ...........:+::....,,:#+++***:*##*++###********+******+*###*++*::::,.,,,+*:+::+,:+*+++++++,,,,,,+*+*:+:+,. ... ,*##***..  ...   .. ...,,,,,:+
::+++::+:::::::::::::::::::::+*++:,::. #####:++:*######*:,,,::::::::::,*#+,,,,,,,,,,,*+,,,,,,,,,,.:*+,,,,,,*#,,,,:++,+::::::::::++##***#,...+:+.,.,,....,,.,+:,
++++###*+++****+**:++**++++*##***+::,,.#*#+*,:::*####***::::::+++,+++::#*#+,,,,,,,,,**:+,,++,,,++,:*#,,*+,*#++*++++++:::+*+:+:+:*+*#####*:::*++:,,+++++*:+***:,
#**#***#**###*:*****+##*:,*:#*:#*+,::..:***+*+++**##***+:*++,:+***#*#+##*##:#**,,,,*#******:.,***+:++*::*,**#+*+***#**+*+**:,*+****#####+*:*####+*##*****######
*****###*########*##*#*#***+***,++++++:+**************++::..::+**::+*+**+*++:::+:::+:+++:+:+++:+*+++++*++++**+**:::*##*#*#**:+*##+##*##*+,+********####**:,:###
###**##**+::########**++***********++*****************:+,,+*,+***#****#***#:+##+*:,***+:+::+:*:+##++#****+#*:+.++*+####*###+##*##+######+,:#*+*+***####**+:,*##
:+##***:++++*+*#*#####**#*+****+*++:**++***+**********++:,,+,++***#####*+****##**++++:*+::::+#*+##***##+**##+,*+,*+*#######+#+*##++#****+::+:::::+::,,,,,,.,,,,
*:,,::::::,,,,,,::::::::::::,,,,,,,,::,::****+***:++,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,:+******####**#************:++**###*++,##*****+**::::::::::::::**:::::::
**::::::::::::,,,:::::::,,,,,,,,,,,,:::,+:+***##****+*+:++++::++**************++:::::,::+*###**##***####********++****##*#*+**#####****+::::::,,,,,,,,,,,,,,,,,
*#::::::::,,,.,::,,,,,,,:::,,,,,,,,,++:**+**############****************++++++::::::++*+:*##**:.,#**##***********+,+*****##+****+++*##**,,,,,,,,,,,,,,,,,,,,,,,
#*+:::,,,,,,,.,,,,,,,,,,,::,,,,,,:++*******##############***++++++++++++++++++:,,,,,,,,::+****:.**#**#+++*********,+**###*#***#*+:+*###*:,,,,,,,,,,,,,,,,,,::::
***+:::+++**,.:**+++::::::::++*+++********###############***:+****+++++++++++++,,,,,,,::::::++:::+++++++::::+++++:::++++++++::+:::::::::::::::::::::::::::++::+
:::::::::::::::::::::::++++**++**********###############*#**#*********+++++++++:++++::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::++****+#**********###########**:,:+*####++++++::::**::::+:::::::::::,,,,,:,::+++++::::::::::::::::::::::::::::,,::::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,+**********************************#************++++::::::::++++++::::::::::::::::::,,:::,::::::::::::::,,::::::,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,:*******+************##************************************++:+++::++++++++++++++++++::++:::::,:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,+******######*###**********************************************************++++++****++++++*+****++:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,:+******#+:,,+###*#########################***#######****##***###************#+**************+*********:::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::******:.:+.+*##****************************###*############*###*************#**************#*******#*+,::,,,,,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::::::*****.,,+.. ###*################****#########+*#####******###############*####################:###*+:,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::::::::::****+. ,. :+#################################+*#####*##########*:#######*+************++*+########*:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::
:::::::::::::::::::::++++: ,*,.*##########****###############*###:*#####**############*++**##+************++*:##****#*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,
:::::::::::::::::::::+++*++   *#######++#*********************###:*#####*##**#################*##################+##**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::++++++**##############################******#**######*+++*+:::::::**+*#*::::::::::::::#########,::::,:,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
::::::::::::::::::+++:::::::::::::::::++++++++++******##########################****++++::::::::::::::::::########*:::::::::::::::::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++****############################***######+::::::::::::::::::::::::::::::::::::::,,,,,,,
::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::++::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::,,::,,:
::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::++::::::::::++++:::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++::::::::::::::::::::::::::::::::::::++::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::,,,,,,::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::++++++++++++++++++++++**++++++++++::::++::+:::::::::+++++++*++++++++++::::::::::,,,,::,,::::::,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::
:::::::+::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::+++++*++::++++****++++++*********+*****************+++++++++++::::::::::::::::::,,,,,,,,,,:::::::
:++:::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:++++::::::+:::::::::::::::++::++:::::::::::++++++++++***************++++::+++++**++++++*+++++++++++++++++
$:,............., .,....  ...::::::::+:::::::::::+::::::,,::::::::,::::::::::,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,::,,,,,,,,:,:++++**++::,::,..,::::,,,,::,:::+
:,........... ,.........,...:,:+::::++:::,,:+::,:,,,,,.,,:+*****::+,,,:,,::,::::::::,,::::::,,:,::::,,::,,,,,,,,,,,,,,,,,,.,,,:::***#+:++:,.....,.,:,..........
:,........,,................,,,,,,::+:,,.::,,,,,.......##:+**#**+::,:++*++::++++++++,,:+::,,.,:+*+++**:,+,:+,,,,,,,,,,,,:::+..,.. .. .,,,,........,,.,.,......:
:,....,,,.,,................... .,+++**:**+***++*:,**+*:*++**++**++:++*++*****++::*+****+*:+++++*********:,+,*,:,,,,,.  ..::::::,.,,.,:*+:......    .,,,:,..,.:
+:,...,...............................,:+**+##+*+++:###::*###+**+::+:+**************+,,,,,,,,:+,*++,::***+*+,::+,,,,,,###:.,:+:: .,..+#****,....... ,. ...,::::
,,::::+::,+:::::::::++++:::::::::+,+::::::+*###*+*::###***#+::::::::::::::,:+:::::::::::**:,,,,,,,,,,,..,,,,,,::,,,,,,::+:,,..,,,,,,:*##**#+,,,::,:,,,,,::,,::,
:+++++++**+:::++++::++++++++++::+++++++:,,####**,:::######*:::::::++:*:::,,*:,,,,,,,,,,,**:,,:+,,,+*,:*+,,:*.,+#*+::++::*,,:,::+:+:.+*##***:.,..,,,. :*::,,,,+,
**#:*+**#**#:##*#*++++:+**++++*#*#**+...,,,***+*::::**#****::::::::#*#**:#####*,*+,,,,:**:*:+**,,,,*+,,,:,:*:**+++*+****#::*++++******:####*+::**###****:+++:**
#+##****###**########*#*##**++:**,,,::**:,,**+++************+:+:::###*#***#**#***:,,,,+**#******++*:,:+***:::,**:,*+,,,###**::::+*##+**+**:::::::::+++**++*#*+,
**#####**#**+##*####***#****+*****+++*+**++****************,., .:+***+***##***#*+#+*:,****::::::#+,#**:+***+::#*,,#*:,####*+##+:++##**#####*,,*#******#####*::,
++*,+***+,+++:++:###*********++++++++++***+**************++::,*+.:****######*##*###*+,,,+:+:+:+:#++##*******+##*::,:#+########+##*##****###*:,***+++**#####*+:,
*++**,#*+**:++:**:********+++:::::::++:++:++************++::::::+:,+:+::::::,:::,,:,,,,,,,,:++++++******#*:***##****:::#:#####+:*+**++*####::::::::,,,::::++:+,
*+**:+::::::::::::::,,,,::,,,,,,,,,,,,,,:::,*+,,::::::::,,::::,,::::::::::::::::::::,:::,,:+**##*+###*****#*+#*#*##**#+#######+*:*####**#:+:::::::::::,,,,,,:::
*****+:::::::,:,.::,,,,,,,,,,:,,,,,,::,:+++*****####******#*#*************++++++++++++**#::,*****+:*#**##***********+.:*****##******+####*#:::,,,,,,,,,,,,,,,,,
#####+::,,,,,,:,..,,,,,,,,,,,+,,,,,,:++*#+****##############**++++++++++++++++++:,,,,,,,,:,+++**+:,+*****************::**#***#***+*:,*####*+,,,,,,,,,,,,,,,,,,,
+**#*++:::,,,:,,,,,,,,,,,,,,,:,,:+++*#******################+**+*++++++++++++++++,,,,,,,,,::++***:.:******+++*******+:,***********++:+*****::::::::::::::++++++
++++++++++++++::::::::::*********+*********################*#+*##*****+++++++++++:::,,:,::::::::*+::::::::::::::::++++:::::::::::::+:+:::::::::::::::::::::::::
::::::::::::::::::::,:::++****+***+*******#############*:,:***###***************************++:::,*:++++++::::::::::::::::::::::::::::::::,,,,:::::::::::::::::
::::,,,,::,,,,,,,,,,::+***********************##############********+++++++++:::++++++++::::::::::::,,,,,,:::,:::::::::::::::::::::::::::::::::::::::::::::::::
::::,,::::::,,,,,,,,,*******************************##************************+++:::::::::::++++:::::::::::::::::,:::,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,+******+####*******************************************************+++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,:******##*::+###*######################********#***###**##*************+*****###:+**********************+:::::::::::::::::::::::::::::::::::
::::::::::::::::,::+*******,,+*,+*##**************################*#########*##########*************################*********:::,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::::::******+.. ..++################***#******##**#*###**#####**********#############**#*************#########*:,,,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::::::+*****: :,,:.,###*###############################+*#################**++****************##**#*#***#####*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
::::::::::::::::::::+*****+ .+ .*+###############################*###:*######**#########*+,,*#####********####****+##***##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,
::::::::::::::::::::::::+*+: .,.+#########****************##****#*###:*######**###################**********##****####**##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::+++++++++****##**########*++*+::+++*###################:*#########################******************##**####*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::++++::++++++++++**#############################*#######*+++++:::::::::::::::::::::::::,:########*:::::::,,,,,,,,,,,,::::::::::::::::::,,,
:::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++*****#########################******++++++++++::::*#######::::::::::::::::::::::::::::::::::::::,,,
::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::++++++::++++++:+++++++********************#####*#*++::::::::::::::::::::::::::::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,::,,,,,,,,::::,,,,,,,,,,::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::++++:::::::::::::::::::::::::::::::::
++++++++++++::::::::::::::::::::,,::::::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::
++++++*+++**++**++++++++++++++++++++++++++::::::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
::++:::::::::::::::+++*+++++++++++++++**********++++++++++++++++++::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::,,,:::::::::::::::::,,,,,,::::::,:::::::++::::::::::++::::++++++:+++++++++****++++*****+********++++++++++++++++::::::::::::,,,,,,,,::,,,,:::::::::::::::
:+,,,,::,:::::::::::::::::++++::::,,,,,,,,,,,,,,,,,,,,:,:::::+++++++::::::::++::++++++::++++++++++++++++*+*************+:+++++*++*++++****++++++++++++::::::++:
::::::::::::,,,,,,:::::::::::::::::::+**::::::,,,,,,,,,,,,,,,,,,::::::,,,,::::,,,,,,,,,,,,,,,,::,::+++++:::::::::::::++++++***++++**********+++++++++++++++++++
$,:::............. ,......... ..::.,,:+::++:+*++++:,:.+++++*+,:::+++,,,,:,,::,,,,::::,,,,,,,,,,,,,,:.,,..,,::,,::,,,,,,,,,,,,,,,,+++*++******+,.. ..,,,,,.......
,:+:,......., ,,,........... ..,:::+:::++++:,,::,,,.......#*::*##**:::,:+**++::+:::+++::::::+:::::+*++*++,,+,,+,,,,,,,,,,,,,,,::++,,**,+*++,........,,:,.......
,:::......,,.......................,++*:,:,*++***+:::,::*#+**:**#***::+:+:++***+++++:+**+++*+,:,::+******++*:::++:,,,,,,,,,,,.*+++**+..:..,*+,. .......,, ..,,,
+:++..,,................................:::+***#**:**+:###+:+##****+***,*****+**********,,,,,,,,*+,+**:+++*++*::+::::,,..,:,,,,,,,,+,. ,,+#**:. ..    . ....:,,
++,.....,,:::::,,,,,,,..,,..,,.....,+++,....:,*#**#***:##**++#******++++****++#+**++:::::::::::::::::::::::::::::::,,,::,:::+::, ...,. .*#****:..     .. ...  .
:*+*++++++++:+::,,,,,:::::,,,,,,,,,::+*:,,:,,*##***,:::#####*#++::::::::::::,,**,,,,,,,,,,,:*:,,.,,,,:*:,**,,,.,,:#+,,:++++*.,:,..+::+ ,*##*##*,..,::: ..,,, ..
#####*:*:+*###*+**##+++++++++++++*###**+,:,,.:***+:::::*##*+**::::::::***+++*#*##+,:*,,,,,**,*:,**,,.,*:,:*+,:+:#**++*+****::+***+***+*+*#####+++****###+*****+
*+,,**#***#####+####++#*#*+***::*+**+::*,+::,,**+:**...#**#**#.*::::++*##***###*#*:**,,,,,******+**,*+:::+#*:+::,**:,++++++**#+++:.:###++****#**:+*###+:+###*+#
::,:.,,,...,.,.,,,,:,,,,::::+:*+++++*+:+*+++++****+*******++*++:*:,++**+**********#+*+*,,***#:::::+#+,#*#:**#+++:#*:,#*:,+##*#*##*:++*#**#####*::*#*****######*
***++###*+*+#+**:::**#*****:++*+++++++++++*+****************++,,:++,***+****###***+*#*+*:***#::+++:#+:##+******+***:*++#**###*###+*####*****##*:,+*++****#####+
*+***+:+##*+#::++:**:*+**********:++++++++**++***++**********+:::******+******++****#**+:::****++:+#+**##*##*:**###+++,:**#*#####*:*+#*++*#***:::::::::::::,,:+
:::*****::,,,,::,,,,,,,,,,::::::,,,,,,,,,,::::,*+++++++:+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::***#*+###***+##*************#*####*+::+###***##+:++:+:::::::::::
:::*###:::::::::::,,,,,,,,,,,,,::,,,,,,,,,::++****############+***########******##**##***+::,:,*++**:+***#####*******+**,+******#**+#**+##**##::::::,,,,,,,,,,:
:::+**##+,,,,,,,,:..,,,,,,,,,,,,+,,,::::*++******##############***********+++++++++:,,::::::++:*****+.:*****************::*#***##*****+,+*****,,,,,,,,,,,,,,,,,
,,,+#*##+::::,,,,:.,,,,,,,,,,,,,:,,:++*********################*****+++++++++++++++:,,,,,,,,,::+*#**:.+******++:******#*,,***##*#***##+,+*****::::::::::::::+**
++++***+#*++**++++:,::+::::::::++****#********##################+*****+++++++++++++:,,,,,,,,,:::,:*::::+::::::::::++::++::::::::++++::::++++:::::::::::::::::::
::::::::::::::::::::::,,:++++*++*+##**######################*#+*#+*#*+++++++++++++++::::::::,,::::,,++::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::
::::::::::::::::::,,,,::********################****####*##*,:***#***++++++++:::::++++++::::::::::::,:,,::::::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,****************************************#*****************++++::::::::++++++:::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,:**************************************************##**************++::::::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,*******###*####**########################**######*#*******##*#########***++++++**++++++******************++:::::::::::::::::::::::::::::::
:::::::::::::::::::,*********,,+***###****############################*########***##**##**##************#*++************#********:::,,,,,,:::::::::::::::::::::
::::::::::::::::::::+******#,,. :.:+##*#######**##********************###*######*******#####*************#**************#*********,,,,,,,,,,:::::::::::::::::::
:::::::::::::::::::::+******..:.,,:+####*###########################*####*#######******###############:###############*####*###*::,,,,,,,,,,,,:::::::::::::::::
:::::::::::::::::::::+******. :.   :#################################*###:*######*###########:.########***************+##*##*##:,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::++**: .,,**###########****###################*###.#######*#############*******#*##**####******:*#*+**#*:,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::::::::::::::::++*****. .:########+*++*#***###****************###,#######**##**###################################**##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::++:+++****#######################*****++++++++#######,*######*::::++:::::*####+++++***+::::::*########,.,::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::::::+:::::::::::++++::::++++++****############################***+++++++++::::::::::::::::::::########::::::::::::,,,,,,:::::::::::::::::::
:::::::::::::::::::::::+::::::::::::::::::::::::::++++::::::::::+++++++++*##############################******++++*######*::::::::::::::::::::::::::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::++++::::::++::::++++::++++++:::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::::::::::::::::::++++:::::::::::::::::::::::::::::::::
++++:+++::::::::::::::,,,,::::,,,,::::::::::::::::::++::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::++:::
::++++++++++:::::::::+++++++++++++++++++****++++++++++++++::+:::::::::::::::::,,,,,,::::::::::::::::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::::::,,::::::::::::::::::,::::::::::+++++++++++++++++::::::::++::::::++++++++******++++++++++++++++::::::::::,,::::::::,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,:::::::::::::::::+::::,,,,,,,,,,,,,,,,::::::::::::+:::+++:+++++++**+++++++++*****+++++:++++++*********+***++++*+**+***++++++++++++::+::::::::::::
::::::::++::,,,,,,,,:::::::::::::::::::::+::::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::::::::::::++::::::++::++++*++++++**+++++++**+**+::++++++++:+*++++
:::::+::::++++++++++:++++:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::++++:::+:
$++++,:,+:......,. ,.................,,,:::,+:::,:,,,,,:,.....,#*::#***#*:::,++++++:++++:+::,,:+++::,,+++*:::::,*,:++,,,,,,,,,,,,,:*+......,....,,. ............
++++,,:::.... ,,....................  ..::::**,++++**++++:*,**++*:***+**+*+:+*++***+++++++**+++*+:+*:++*+*****+*+,+,+::.,,,,,....,*****+: ....:*+: .      ..,,,
**++*:++:,,..................................,,+**+#**+++++###*::###****++++****************,,,,,,,,:+:**+,:::**++*+:++,:,,,.:*#:,,,::::  .,,+###*: .. ... . ..
++:::::..,,,:,:,,:::::::,,,,,,,,,,,,,,,,+:+:..,,,,:*#*#***:###***#**++++:++:+++*::+:::::::::,,,:*:,,,,,,,::::,,:,,,,,,:,,,,,,,,::+:....,,...*##****,..,,,,.....
::::+++++:+::+++++::::,::::::,,,::,,,,:::++::::,,:**#*#,:::#######::::::::++*:::..**,,,,,,,,,,,:+:,,,,,,,:#+.+::,.:,,,#**:::++++,,,:,.::++,.******+,., :,, ,.,:
::::######:*++*####+##*#+++++++:++++:+******,,,,,.**+++::::*##****::::::::*##**:*#**#*.:::,,,,**:*+::+,,,.**,:.*,.+:*+**:******++:***+++++**++####**+++**###**+
*++:*,****#**######+#**#*+****++*++::::*:,.*,++:,,**+:**,,:*******.*::::+*##*#***#*+##:*+,,,,,*#****+*#**+:::+**::+:,+*:.*+,,,+##**+:,,,*##+::,:###+++*****++##
++::+**+**+****+*****************+*******++:++**++****************,.:..:***+******+*****#+*:,+***::::::#+.###:***+*+:*#:,#*,,+###***#**:+*#**#####*+,*#*****###
::::++*++*+*#+*+*++*::::***********+++++++*+*+******************++,::**.+**+****###*#***##*+,+***+++:++**+##**##*#*+*#*+::+##+#######**#*##*****##*+.:#*+*****#
#**+*****+++*##+*+:+++++:+++++++++**+:++*+**+:**++***++**********+++,+*****+*#*****+**+****:,,:*++**::+*+#+****#*+#**##*+*+,::**#*###*,*+*#++*####::::,::::,,,,
:::::::**#**+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::,,,,,,,:,:,,,,,,,::,,,,,,::::::::,,,,,,,,,:+**##*+###*+#:###**######*#########*+:**########+::::::::::::
:::::::*#**++:::::::,,,,,,,,,,,,,,,,,,,,,,,,::+*+#******############+###*********+++++++*******+:,,*****++***##*******+*+++*,:+++***#***###*######::::::::::,,,
,,,,,,,+###*+:::,,,,,,,,,,,,,,,,,,,,:,,,::+***********###############**++++++++++++++++:,,,,,,,,::**++++:,:*++**********#***::*#****#***+*+.******,,,,,,,,,,,,,
,,,,,,,:##**+::::,,,,,,.,,,,::,,,,,:+:+***#*******#**################******++++++++++++:,,,,,,,,,,::,+#*,,+*##***++:****##*+,:***#**#***#*+:******:::::::::::::
++++++++++++++:::::::::::::+++++++*+**+*******########################+****++++++++++++:,,,,,,,,,,:::::+::::::::::::::::::++:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::+********############*#################****#+##*++*+++++++++:::::::::,:,,::::::++::::::::::::::::::::::::::::::::::::,,,,:::::::::::
::::::::::::,,,,,,,,,,:::*****************############******###**+++***#****++++++++:::::+++++::::::::::,,,,,,::::::,,,,,,,,::::::,,,,,,,,:::::::::::::::::::::
::,,::::,,,,,,,,,,,,,,,+**********************##*******************##*****************++++::::::::::++++::::::::::::::::,,:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,:*********+*****************#*********************************************+++++:::++++++++:::::::::::::::::::::,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,********#####*###*#######*****###########*******#*****#**************##**###******************+++++++++++++++*+:::::::::::::::::::::::::
:::::::::::::::::::::+********#*::,++####***#################################*#########***##########************##+*************+#*******::::::::::::::::::::::
::::::::::::::::::::::*******#*,,*.,**+###***#**##**######*******************###**######**######*####*************#*************+*********:::::::::::::::::::::
:::::::::::::::::::::::*******, ..:: ,:###*###############################**####**######*******####*###################################**+,,,,:::::::::::::::::
::::::::::::::::::::::++******. +:...:+####*####################################:+#######*#############################################**+:::,,,::::,,,,,,,,,,,
::::::::::::::::::::::::++++***  .,* .*###########**############################,+#######*#############*+:,:##:#++++++++++++++++**,:*#*:,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::+++++++***  .++*#######+#####*#***********************####.+#######**###*#################+**************####*#**:,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::++++********##############++++++++++++++::++++****############.+##########*#*###############**##****************#*#*#*:,,,,,,,,,,,::,,,,:::::
::::::::::::::::::::::::::::++:::::::+:+++******#############################**+,*#######:++:::::::::::+::::::::::::::,,#########+::,,,,,,,,,,,,:::::::::::::::
:::::::::::::::::::::::::::+++::::::::::::::::::::::::::++++++++++*****#############################**++++::++::++:::::::########::::::::::::::::::::::::::::::
::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++********#########################*++++:::::::::::::::::::::::::::
::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::++++++++:::::::::::::::::::::::::::
++++++++++++::::::::::::::,,::,,,,,,,,,,,,,,,,::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++:::::::::::::::
::++++++++++++*+++++++++++++::++++++++++++::++++::::::::::,,::,,,,,,,,::,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
::::::++:+++++++:::::::::+++++++++++++++++++****++**++++++++++++++::++::::::::::::::::::,,,,,,::::::::::::,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::::::::::::::::,,,:::::::::::++++++++++++++++::::::::+:::::::+++++++++*****++++++++++++++++++::::::::::::::::::::::,,::::::,,,,:::::::::::::::
::,,,,::,,,,,,,,:::::::::::::::::+++::::,,,,,,,,,,,,,,,,::::::::::::++::::++++++++***++++++++++++++****+++++++*************+++++++++++++++++++++++++:::::::::::
,,::::::,:::+:::,,,,,,,,,:::+:::::::::::::::+++:::::,,,,,,,,,,,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,::::::::::+:::::::::::++++++++++++++++++*+****+++:++:+++++:++
::::::::+:::::+++++++++++++++:::,:::::::::::::::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::++++:
::+++::::::+::+::::::::::::::::::::+::::::::,,,,,,::::::++::::++++::::::::::::++,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
$+*++++,:+:.....,. ,.....................,,,... ..:*++++:,.,.,..+**:**#+**+,,,:++*+++++::,:+++:++:,,....,********,*:,:++,,,,,,,,,,,,,,++***. ++,.:*,.,,......, .
++++++,:+:... ,,...........................,:+++::,:+**:+*:++#,+++::**:***+*:+*+:+*****+++++,++++***++::+**++#****++:**:+:,,,...........,.,,. ,+*** .. .,.. ..,
++**++:++:,.................................,...,:::*+::++*:###*::###******+*+*******###*****,,,:,...,++:*::+,+*#*+*++++,,,,:,**##,,::::  .. .*#***#,.  .... ..
::::+:.+.:+:::::+,,::::::::::::::::::::::::,+::,:,,*****:++:+######*:::::::::::::::**:,,,,,,,,,,.*:,,,,,,,,,,,,,,,,,,,.:*,,,,,,:,+,.,,:+:::::**#***#+++:+++:+,,
++::::*********+*##*++**++++:+:::+::::++*++*+::,.,,#**+#,:::####*##*::++:::+:*::::,##*,,,,,,,,,,+*+,,,**,,,++:**#,,**,:#*,*:++++++,,+:#.::,.##*####*::+++++:,:*
#+::::*****+**:*#*,+*+****+::+:::+++:::+*****:.,,,.:***++:::*####**+++:::::******+#####,***,,,,********:,,:+*+,::,*+*,#**+*++****#+*:+*:,*******####+*:***##*+*
****+*+:**+##****##*+*********+*+*+**:+:**+,::+++:,:**++************++.:,:****##*+##*###*+++,,,**##**+**#+*+:::+*+:::,,:+,:::::::::++++++*+***#*****+:**##*#+**
**+:,,**,:#####*+***+:+*****++++++::++**++*++**+**+***************+:,,::.:**+*+****+++#++##:#,,***+:::,+**:*##++****+,**+.,*:*+####+*##+:**##+######*,:***++***
#**++*+**+::::#**+::::+:+:+*++++++***+:****+++++**+****************+,,:+.****#**#**#+****##*+,.:*:*::+,++***#***#*#*+*##+,+::#:########*#+*#***#####*::**+++***
::::,,::++**+:.:,::,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,:*****:***:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:*+****#*#*#*#*+****#####*#,:#**###*+,***+++*###+:::::::::::
:::::::::****+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++:+:::,:::::::::::::::::::,:::::::,::**###*####*#**##*#*#****,++:*######*++*####****+::::::::,,,
:::::::::**++*::::,,,,,,,,,,,,,,,,,,,:,,,,,,,:+***#*****############*#************++++**++++:::::**:+####*,+*#**####*********::+*****##**::****####+,,,,::,,,,,
,,,,,,,,:****+::::,,,,,,,,,,,,,,,,,,,::,,,****#*******#################***+++*+++++++++++:,,,,,,,,,:,**#**,,######+++********+,+**#####***#*,:*#####,,,,,,,,,,,
:::::::::+++++::::::,,::,,,,::::,,,,::*****#******##*###################+*****+++++++++++:,,,,,,,,,,::::*+,,******++++**+++++:::++++++++++++++::++++:::::::::::
:::::::::::::::::::::::::::+************#*###############################+**##++++++++++::::::::,,,,,,::,,*::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,::++********##*++******###################*+:,**#*##*++++++++++++::++::::::::::::::,*++++++::::::::::::::::::::::::::::::::,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,+****************************##########***#**##********++++++++::::::++++:::::::::::,,,,,::::::,,,,,,,,:::::,,,:::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,****************************#####***##******#*#*********************++++::::::::++++:::::::::::::::::,:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::#*******+*####****##********#***********************************************+++++++++++++++++:::::::::::::::,,:::,:,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::*******###########**##########################***#########***********##########*********************++++++++++++*++::::::::::::::::::::
::::::::::::::::::::,:********##+,:+ ::####*******##############################*###*######**############************#+*************+********::::::::::::::::::
::::::::::::::::::::,::*******#*,.+* ,*+###*####****##########**##**************###**#######**######*####*************#**************#********:::::::::::::::::
::::::,,,,,,::::::::,::+*******:.: .:. .*##########################################++#######*******#######################################*++::::::::::::::::::
:::::::::::::::::::::::+*******:.:: , +*###########################################:,*#######*############*################################**::::,::::,,:::::::
:::::::::::::::::::::::::::++++*  ,*+.::###########*******####################*####,:########*############**+:,+##:#++++++++++++**:+**,+*#:,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::+++****. .,.+#######+##*######***********************####,,########*######################**********##***####*#*:,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::++++*****################*******++++++++:+++++++*##############,:#############*###############*******#**########****###*:,,,,,:::::::::::::
::::::::::::::::::::::::::::++::::::::++++++++****############################****+,,#######++++::::::::::::::::::::::::::,##########::::,,,,,,,,,:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::++++++++**##############################****++++::+++++++:::::########:::::::::::::::::::::::::::
::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++**++********##**########################**++++:::::::::::::::::::::::
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::++++++:::::::::::::::::::::::
:+++++++++++++++++++::++::::::::::::::,,,,::::::,,,,::::::::::::++::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::
::::++++++++++**:+++++++++++:+++++++++++++++++++++++++::::::::::::,,,,,,,,::,,,,::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::+
,,::::::::++::::::::::::::::+++++++++++++++++++*********++++++++++++++++::::::::::::::::::::::::::,,,,::,,,,::,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::
,,,,,,,,,,::::::::::::::::::::::::::,,,,::,,,,,:::::::::::::::::::++::++::++:::++++++++*****++++************++++++++++++++++++++::::::::::::,,:::::::::::::::::
::::::,,:+:::::::::::::::::::::::::++:::::,,,,,,,,,,,,,,,,,,,,,,::::++++++++::::::::++++++++++++++++++++++++++++*+*************+++++++++++************+++++++++
:::::::::::+::::::::,,,,,,::::::::++::::::::+***::+:::,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,:::+++++::::,,::::::::++++****++++***++**+++**+++++++++
:::::::::::+::::++++++:+::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+:
:::::::::::+::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::++++::++++::::,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::+:::,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,
$::+++++.,,,.......,,.....................,,,.....,++*++++,.,,.,:+**:*+#***:.,:,:*+:+*++++:::*:+++++,,,,.:********:*:,*+::,,,,,,,,:::.:****+, :*..:*+,.. ..,.., 
+++++++,++:, .,,............................,,:++::::***+:+:*+#++*,:+*+:#**+*:++*:***++***++++:::::::::*+:*#,:*******++*:::,,,,,.........,,:, .,+***.... .    .
+++++++:+:,,..............................,,,,,..,,,,*:+:*+*:*##*::###**##****+************++*::::,,..,+*++:,:::**+++++++,,..:++***+++::  .,...*##***,   ... . 
::+:::::+,#*+:::++:,:,,,::::::,,,,::::::::++:::,,,..*****:*+:+######+,,,::::::,,:::,*#:,,,,,,,,,,.**,,,,,,,,,,,:*+,,,,,.*#,,,,,:+::::::::::,::+*#***#:.,.:++:,.
*++::::*#***+::*+****++++++++:++::++::+:***+**:::,,.***:*,:::*###**#+:::::++++,+++::***:,,..,,,.:*++:.,+*,,,++,+*#..**.*#*+*:+++*+:+,+++::+++#:*####*+::,+++:::
##,,::,+**#*+*++***:+*+***+:::+++:*++::++**+#*:,:,,.:**+**+++**##***+++:::::*****#+##*##,***,,,,*#**#+**:,.**#::++:+++:#**+++***#*#+#++*+:++****#####+#+*####*+
******+::***#*+++*************++*+*+**+++**+:+:::+:,+****************+:,,::+***+#*+#*****+:++,,,*++++,::++::++++++:+++*+*+**+::+****#****:++##+*####*+,+*****+*
+##++:+**++**********+:,:****+++++++:+++++++++**:**+***************::,:+*.+**+#+**#****#++*#+*,,***+:+::+**:*#*:+****++**,:.:++*####+*##****##+*#####*,,**:+***
*#**+:+:+*+*::+**+:+::::++::+:++++++++:++++++*+++**:+***+******#****+:,::.***+######*+****##**+++*:*+,:::***+*#****#:+*##+,#::+:########+#**#**+#*****::++,::::
::::::::::++++:,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::+****:***:+*:,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:::*+*****##****#*#***##*****,:***###*+++***++****+:++:::::::
:::::::::+*++++:::::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::+********+++++:::+:::::::::::::::::::::,,:::::::**#***#*#**#*###*+##****+*++***####***####*****+:::::::::,
::::::::::+++++:::,,,,,,,,,,,,,,,,,,,,::,,,,,::+***#*******##############+******+*++++++++++++::::::*****#*,:+***#************+:******##**:+*+**+###+:,,,,,,,,,
,,,,,,,,,:**++:::::,,,,,,,,,,,,,,,,,,,::,::+***********#*###############*#+*++*++++++++++++:,,,,,,,,::::*#*,:*#####*++********+:**######**+#*::+*###*,,,,,,,,,,
::::::::::::++::::::::::,,,,::::::::,:++****#*****######################*#****+*+*+++++++++:,,,,,,,,:::::,+,:++*++++++++++++++::::++++++++++++::++++:::::::::::
::::::::::::::::::::::::::::*************##*##############################*****#+++++++++++:::::::,,,,,,::::,*:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,:::+***#***+*#***++##**######################+::+*#**##*++++++++++:::::::,:::::::::,:,*+:+++:::::::::::::::::::::::::::::::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,:,**************************############*******+**#*#*****++++++++++::::++++::::::::::::,,,,,,::::::,,,,,,,,,,,,:::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,:*******************************######**********#*********************++::++::::::++++++:::::::::::::::::,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,::,**********+*##****************#**********************#************************+++++++:::++++++++:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,*********##########*############################*#**########*#***********###******************+++++++++++++++++++++++::::::::::::::::::
::::::::::::::::::::::+*********#*,::*+,*###*****###################################*#########**#############***********#***************+*******+::::::::::::::
:::::::::::::::::::::::+*********,,.,*.,***##**#*#**##**######**************##**##**###*#######**#######*####************#**********++***********+:::::::::::::
::::::::,,,,::::::::::::********:.,+.,..*+####################################**######*+*#######************#############****************#######*,::::::,,:::::
::::::::::::::::::::::::********: .. .   ,####*#######################################:,*###################*#*********#**######**##*#**#######**:::::,,:::::::
:::::::::::::::::::::::::::+++***  +* .*:*####################################**######:,*########**###########*+,+####*#*+**********##**##**##:,,,,,,,,,,,,,,,,
::::::::::::::::::::::::+++++***+*. ...+########*##**#************************########,.*########**###*###############**++++::+++++++++###****:,,,,,,,,,,,,,:::
::::::::::::::::::+++++++*******##############*+::+++++++::::+**######################,,*########******###**##**++++************************+++::,:::::::::::::
::::::::::::::::::::::::::::++:::::::::+++****################################**++++*+,,*#######:::::::::::::::::+::::::::::::##########:,:::::,,,,,:::::::::::
::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::++++++++******###############*############****++++::::::::++++::::::+#########:::::::::::::::::::::::
::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++:+++****########################################+::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::++::::,,::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++::::::::++++++:::::::::::::::::::::
++++++++++++++++++++++++++++++::::::::::::::::::::,,::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++:
,,::::::++**++**++++++++++++++++++++++++++::++++++++++++++++::::::::::::,,,,,,,,::::::::::::::::::,,,,,,,,,,::::::::::,,:::::::::::::::::::::::::::::::::::::::
,,,,::::::++::::::::::::::::++++++++++++++++++++********++++++++::::++++++::::::::::++++::::::::::::::::::,,::,,,,,,::,,,,,,,,::,,:::::::::::::::::::::::::::::
::,,,,,,:::::::::::+::::::::::::::::::,,::,,,,,,,,::::::::::::::::::::::::++++:+++++++++****+++++*+***+************+++++++++++++++::::::::::::::::::,,,,:::::::
::::::::,:++::::::::::::::::::::::::+:::::::,,,,,,,,,,,,,,,,,,,,,:::+++++++++:::::::::::::::+++++++++++++++++++++****************+*+++++:+++++******++****+++++
:::::::::::+:::::+::::,,,,,:,++:::++:::+++++:+**++::::::,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,::,,::,,,,,,,,,,++++::+++:,:::,,::,,::::++++++++++++:+*+++:+++**+++++
:::::+::::::::::+::++:::::::::::::::::::::::,,,,,,::::::::::+::::::::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::+:::::::::+:::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::++++++++++:::::,::,,,,::::,,,,,,,,,,,,,,,,,,,,:+++::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,
$,,:++++:,:,,.......,......................,.,,..,,++++**+:,,,.,:#+****+#*#*+,,:,:*+***::++::+*+++++*:..,.:*+*******+:+*,::,,,,,,::::,,****++ .*:.,+*,,. ,..,,..
++++++++,:+:. ,,..............................,:::,:,:**+:++:+*#*+*:#*********:+**+**+++****+++:,,,,,,,++,***:*******+:++:::,,,...,..,,,,,,:.  ,:*#**, .. ,.. .
:::+++++,:,................................,::,.,..,::#:**+*+,###+:*##********+*+*********#++++::::,,,:++::+:,:::++:++::+:::::::::,++:+,  .....:*#*#**. .      
:::::::::++*+:::::+:,:,,::::::::::::::::::::++:::,,.*****#:+::#######::::::::::,:::,,##,,,,,,,,,,,,**,,,,,,,,::.*#,,,,,,,#*,,,,,+:+:::++:::::.,*##**#*....+:+ .
##+:::::##**:::*:+****++++++++::::++::::+******,:,,,,**+:+::::*###+*#:::::::++:.:+:,##*#:,,,,,,,.**:*:.*+:,,.*+,***.+*+:##*:*+:+*++++:+*,*++::++######+:::++++*
*#:,,++.*::+#:*+******+****::++++++**:::::*,#+*,::,,,+**:**:::**##***,*::::::#****#*##*##,#*,,,,,****+**++,+*+*:,*#,:+::**+,++***##**++*:,,*****#*###*:*+*##*#*
+:#*+*+*+:****++******+*******++++:+++++++:+:,+:++::,+*+++**++**++++++,, .::++*+:+::::+:::::,::::+++::+++:+++***+****++:***+**,,,###*****+:+*#**##*#**+,*******
+***::++**::****+*+*++::,:++++++++:+:+:+++++*++*+++*****************::,,++,+**+#*#*###*#*+***+*,+***::::::*+,##*:#****+*#+:*:,***###**##**#*##*+####**+,**+:***
*#*#*++++**+++++**:+::::::::++++++++++++++++++*+:***++**+************+::++++**+*****#*:#**###*++*++*++,++,#++*##***#+***#*+:*::**#######***+##+++#***:++*,,,,::
::::::::::++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,********++++::,,::,,,,::::::::::,,,,,,,,,,,,,,::*****+####***#*#*********++++*####++::*#****+**+:+::+::::
::::::::::++++:+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+::+++++**++++::++:::::::+++:::::::::::::,::,,::::**##****#**######+****+******+####**+*##*#*++*+:::::::,,,
::::::::::++++++::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:++**#*******##############*********++++++++++++++::::+**##+,,#*#*#*#*******##*,+******#******,*#+***,,,,,,,,,,
,,,,,,,,,,:++++:::::,,,,,,,,,,,,,,,,,,::,,::***+*##******#*#################+#++++++++++++++++,,,,,,,,::,:#+.+######+++*****##*:,***##*#***##+:++*###+::,,,,,,,
::::::::::::::::::::::::,,,,:::::::::::::*****#***######*#################*##+*+++*++++++++++:,,,,,,,:::::::,*++++++++++++++::::::::::++::::::::++::::::::++::+
:::::::::::::::::::::::::::::************+*##*################################****#*+++++++++:::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,::++**********##***#############################***+#***#*+++++++++:::::::::::::::,,:::,*+::::::::::::::::::::::::::::,,::,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,:,:***********************###########*****#####**+:+***#****++++++++::::::::++:::::::::::,,,,,,,::::::::,,,,,,,,,::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,+#*************************##**####*#*************###**#*************+++++++:::::::++++++:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,::,*#********++*******************#***********************#***********************+++++:::::::++++++:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,*********##########**##########****##############***###########*#**********####**********++++++++++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::,,:+*********##+,,:*++####*########################################**########***##########*##*++********#***************+*******:::::::::::
::::::::::::::::::::::::****##***#:,:,.+*:,###*****###**##****************############*###**#######*########*####*************###############********::::::::::
::::::::,,,,::::::::::::+*********..*+,..:**####################################****#*###*++########*******#*#####**#########**#************+##**####::::::::::
::::::::::::::::::::::::+*********... ::..**#############################################*+,##############*###########**++++++++++++++******++******:::::::::::
::::::::::::::::::::::::::++++**#*. ,+.,:  *########################################*####+,:*#######***###########:,*######***########****+#######:,,,,,,,,,,,,
::::::::::::::::::::::::++:+++****#.  .*#**########*#*******************##**########*####:.,########***###*#########****##+**+++++++******:*#*****,,,,::,,,,:::
::::::::::::::::::::+++++++*******###+,+#########:::++::++:*######################***####:.,########******###################*#################*#*:::::::::::::
:::::::::::::::::::::::::::::++:::::+:++**#######################################*++++::++.:########++::,:*+,,,:++::::::::++:::::###########::,,::,,,::::::::::
::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::++++++**######################+*########****++++::::::::::++++::::::::#*########:::::::::::::::::::
::::::::::::::::::::,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::++++++**##################################*****#######+::::::::::::::::::::
++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::,,::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::++::++::::++++++++:::::::::::::::::
++++++++++*+++++*+++++++++++++++++++::::::::::::::::::,,,,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+
:::::::::+++++**++*++++++++++++++++++++++++:++++++++++++++::::::::::::::::::,,,,,,,,::,,::::::::::::,,::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::::::::::::::::::::::+++++++++++++++++++*******++++++++::::++++++::::::::::++++++++++++::::::::::::,,,,::,,::,,,,,,,,::::::,,,,:::::::::::::::::::::::
,,,,,,,,,,,,:::::::+::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::++++++*+++++++*****+:+++************++************++++++++++::::::::::::::::::,,,,:::
::::::,,::++++++::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:::++*:::++++:::::::::::::::+++++::++::::+::+++:+++++**********+***++++::++++++++****++****+++
:::::::::::::::::+::+::::::::++:::::::::::::++**++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::,,,,,,,,::::::::++++::++:+++++**+++++
:::++++:::::++:::+::++::::::::::::::::::::::::,,,,,,::::::::+::::+::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::+::::++::::::::::::,,,,,,,,,,,,,,,,,,,:**++::::::::::::::,,,,,,,,,,,,,,,,,,,,,
$++++++*+,:::...,. ,......................... :+:::::*+**++,+,,:+**:#+:******++++++*+**+++*+::***+++++,*++:+******+**:,,:+,..,,,,,... :*+++**:.,. ,**+, ..  . .,
**++++++++++,,,.................................,,:+++****++*:####*:*##****+***++*#************:,,,,,,,,*+:*:+::++**+*+:++::,,,..+*+,,,,,:::  .,:*##*+. ..  .. 
::::+++++:,,,,...,,:::,,,,,,,,,,........,..:+++,..,,::*******++##****#**++++++::*+**++++++++::::::,:+::::::::::::,::,,:::,:,,,,,,::::::....,.  .*#****:,.......
::::::::,::*+::::::+:::,,,,,,,,,,,,,,,,,,,.,:++:,,,,,*****+:::**#####*::::::::::::::,:*:,,,,,,,,,,,++.,,,,,,,**,:++,,,,,,+**,,:::+:+,,+,,.+++:.,*##***:.,.,,:: 
*#*+::::####*+:*:**#***:***++++::::++++++******:,,..,+**:+::::+###:#*+:::+::::#***+:##+#*:.*+.,,,+****,,*+,,.:*+::*,,+*,#+*+********:****:*+***+#+####+++****##
+*+*+++::++:**********++**++:+++++:*++:,+:+++.*+:++,,:**:+++..**##***:+++:::+*##***+##*##+*++,,,,**#***+***,+::::+*:,*+:,**:+*::,,####++,+,+***+::,+*#**++####+
:::+,,:,::::.,:,,,:,,,,,,,:::::::::+:+::+++++:+++++*:++**************+,,,,:+********#**********,,***+:::,:**,*#*:+***:+:,**,+*:,,#####***+:++##**#####*,+#*****
++*:+:::++++:***+:+++:::+::+++++++:+++++:++++++**+*******************+,:*,.+***#***#*##*#**##**:+*#*+:+:++:**+##:*#********,::*#+####*###+##*##+***###*:,**++**
***+**++++++++,+++::+:::::::::::++++++++::++++++::*+:+***+**********++++++****+*******++******+:,,*****:::*******#*#*+***#*:*+,*+:#**###*::+*#*++####*::::::,,:
:::::::::::+++::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:+++++++*++*::::::,,+:,,::::,,,,,,,,::,,,,,,,,:,+*****####+*+*##***#******#*#######+:++*###*###*:::::::::
:::::::::::++++:::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::+++**************+++:++++++++::++++++++++::::,,:+*++*:+***#####***+*****::+*****#*+***#**#*****::::::,,,
::::::::::::+++:::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:+*+*##*****###############*#*******+++++++++++++::++::+:*+,,+**+**#*******##*+:+*#***##+****,:******,,,,,,,,,
,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,:,,,,,:**#*#***####*####################+**++*+++++++++++:,,,,,::::,,,++#*#**++++*******+,:*######+***+,:*****+:::::::::
::::::::::::::::::::::::::::::::::::::::++*****##*##############################+***+*++++++++++,,,,,,::::,,:::,*:++::::::::::::::::::::::++:::::::::::::::::::
::::::::::::::::::::::::,,,,::************+*#####################################+**+*+++++++++:::::::::,,,,,,:::,:+::::::::::::::::::::::::::::::,,,,:::::::::
:::::::::::::::::::::::::::::+**********+##*****#############################*+**#**##++++++++*+::::+++:::::::::::::,*::::::,,,,,,,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::************************############******####**+::+**##****++++++++::::::++++::::::::::::::,,,,,,::::::,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,+*****************************########**************##******************+++++++:::::::::++++:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,*#******************#***********#***************####*****#*************************+++++::::::++++++::::::::::::::::::,::+:::::::::::
,,,,::::,,,,::::::,,,,,,,,**********##########*###############################***#*###########************##**********+++++++++++++++++++++++++++++++:,,:::::::
::::::::::::::::::::::::+*********##*:::.,+:###############################################*#########***##########*##*++********##+*********************+::::::
::::,,::,,,,:::::::::::::***##****#*.,+*.,*+:###*****#**##**##**************#############*####**#######*########*####*************#*##########***#*******+:::::
::::::::,,::::::::::::::::********#:. ..:... *##################################**##*###*####*+*########*******#*#####**############************+**######::::::
::::::::::::::::::::::::::********#:.:*.::.+**###############################################:,:########*######*###########****:++++++++++++*************::,:::
::::::::::::::::::::::::::::++****#*  ..+. :*################################################,,:########***###########+::######:#*#*######****+*#####*:,::,,,,:
::::::::::::::::::::::::::+++++*+****  ,** .*###########****************#####################.,:#########**##############****#*,*+++++++******+*##*#**:::::::::
::::::::::::::::::::::+++++*******##*##+,*########*+::::+:++:*####################*******####.:.##########*****##################*#################***:::::::::
:::::::::::::::::::::::::::::+++++:::::+++**#######################################*+++++++**,,.########::,,::*:,:++*+:::+++++**++::############::,,::,,:::::::
::::::::::::::::,,::,,,,,,::::::::::++::::::::::::::::::::::++++++++****######################:*########+++++++:::::::::++:::::::::::###########:::::::::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++++***#####################################**########:::::::::::::::::
*+++++++++++++::::::::::::::::::::,,,,,,,,,,::,,,,::,,,,::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++:::::::::::
::::+++:++++++++++++++++++++++++++++++++++::::::::::::::::::::::,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
,,::::::::+++++++++:,:::::::+++++++++++++++++++*****++++**++++++++++::::::::::::::,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
,,,,,,,,::::::::::,,::,,::::::,,::::::::::++::::++++++++++++++++::::::::++::::::::++++++++*+**++++++++++++++::::::::::::::::::::,,::::,,,,::,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,::,,::::::::::::::::::+::::,,,,,,,,,,,,,,,::::::::::::::::::++++**++++++++++*+++*******+*+++++*++*************++****++++++++++++++++++:::::::::
::,,:::::::::::++:,,,,,,,,,:::::::::::::::::::::+:::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::++::::::+++++****++++++**++++++***+**+++++++++++
::::::::::::++:::+++++++::++++++::::::::+:,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::,,,,,,::::::::++:
::::++++::::::::::::++::::::::::::::::+++:::::::,,,,:::::::::::::+++::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::+:::::::++::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::,:::::::::::::::::::*+::::::::::::::::::,,,,,,,,,+**++++++::::::::,,,,,,::,,,,,,,,,,,,,,,
$++++++++,+:+...,..............................,,,::,+:**,+:+:*##:+#+*+*++**+**:+*+:****+**+++++,::++:::+:,***,****#**+*+*:::,,,. ..,,.. :.,.,, ,:***#, .  ,..  
:+++*+++,::,...............................,,,....,,+:*:+*+++,###+:*###***#***+**#******#*#*+**,,::,,..:+::*+,:::**+++++++....,,**+*::,:,. ... ,*#*#**.     .  
:::::::::+.,::::::,,,,,,,,,,:::::::::::::::::,::,:,.******,*::#######:::::::,,::,,+:,##,,,,,,,,,,,:++,,,,,,,.,,.++,,,,,,.**,,,::+++::,:::::,::+*##****:,,.+:+.,
*+::::::**++++::::++::::::::::::::++::::++****::::,,:***:*,:::#######:::++::++:::::,*#**,,,,,,,,,:*+*,,*+:,,,*+:#*+,+**,*#::*:++:++,:,:*+++:::#######*+:*++++,,
*#+:,:,.***+*,++++++:::+++::,::::::++:::++#+***,.,..,+**+*,::+**##**#:#::::::***+#*##**#*,#*,,,,,****:**+,,,***::++::+::***:+*****#*:*+*+,+****++####*+**#####*
*+*+:+:++:*+++++++++++++++++++++*++***++++**::+:++*::*********##******+:.::+##+*****#*##**+:*:,,:***++::+++::::::+::++::::+::++++*******++++*#**#####*:,**#****
:*#*::::++,+++++++:+++::::++++++++++:++++++++++*+++*+***+***********:,,:+:,+*******#:*+*++*#*++,+*+++:::::#+,##*,*#***,+#+,:+:*+####**##*+####*+######:,*#++++*
+***+:::++::::,:++::::::::::++++:++++++:+++++*+++***+*********#*****+::.+,:+*#*********##*##**+::+**+::::,#++*##***#*+**#*,:+,#**#######*##*##*+*#****::+*::+++
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:*****+**:*++::,:,,:,,:::::::::::::::::,,,,::::::*****+*#**#+##*#**####**#+:++*####+:,***++****#,++::+::,:
::::::::::::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,*******+#*+:::,:::,,:,,,,,....,,,,,,,,,,,,,,::::**#**+###**#*####*##***++*++*#*###**+*####*****::::::::::
::::::::::::::::,,,,,,,,,,.,,,,,,,,,,,,:,,,,,,,,,,:,,,**+*+***####################*+++**##########**##**##***:*#*##*#*********+,+*****##***:+*:***###,,,,,,,,,,
,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:,:***+##******###################:*********++**++++++::::::::+*#****#****##*:+**###*#***##+,+**###*,,,,,,,,,
::,,:::::::::::::::::::::,,,::::::::::::::::::++******########*##*###################***+++++++++++++:::::,,::::,,,:++++++++++:::+++++++::++::::++::::::::::::+
::::::::::::::::::::::::::::::::::::::::::::+*****#*##################################**++*+*:++++++::::::::,,,,,,:::,*::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::***************########################################***+##+++++++::::::::::::,,,,:::,,*:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+************###*++**#############################*+::+*#*+##*+++++++**++++++++*+++**++++:::::::::,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*******************************##############****####**##********+++++:++++::::::::++::::::::::::::::,,:::::::,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*****************************##**##*#########**********##*#**#*******************++::::::::::::++++:::::::::::::::::,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,:,*#**********++**************************************####*#****#**************#**************+++++++++++++++++:::::::::::::::,,:::::
,,,,,,,,::::::,,,,,,,,,,,,,:***********###########*#################################################**************#########**********************+++++++++++++:
,,,,,,,,,,,,,,::::::::::::+***********##:,.,#*:*################################################*#*##########***##########*###************#********************
::,,,,::::,,::::::::::::,,:**#*******#*,,+: +#: :###********##**####****##**********############*####***#######**#############****************************#****
::::::::::::::::::::::::,::+*********#+..++,.:.+**########################################****######*:+*########**************#############*#*++**++******####*
::::::::::::::::::::::::::::****#****#:... .:, +**##################################################::.:########*###*############*++::++**********##**#*##**###
::::::::::::::::::::::::::::++*******##  :*..+ .,*####*#############################################,:.,*########*#*###########*:,######+###****++++++*+###*##:
::::::::::::::::::::::::::++++++********  ..:*#,#############***********#*#####################*####,,,,*########*#*##############****#*:***++****##***+###*#*:
::::::::::::::::::::::+++++*************##:. :########*+*+++::++:*############****************#*####,,,:#########**#***###################*#################**+
::::::::::::::::::::::::::::::++++::::++++**##########################******###########*++::::++**##:..:########::::::+*****#+++++******++:#############::::::,
::::::::::::::::::::,,,,,,,,,,::::,,::++::::::::::::::::::::::++++++++**############################*+,*########::++::::::::++::::::::::::,:###########+::++:::
::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,::::++::::::,,::::::::::::::::::::::::::::::::++++****##############################********+++*########:::::::::
++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::++++::::,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++********************+++++
::::::+++++++++**+++*+++++++++++++++++++++++++++++++++++::::::::::::::::::::::,,::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++:::::::::
,,,,::::::::::::::::::::::::++++++++++++++++++++++******++++++++::::+++++:::::::::::+++++++++:::::::::::::,,::::::::,,,,,,,,::::::::,,,,:::::::::::::::::::::::
,,,,,,,,,,,,:::::::+::::::::::::::::::::::::,,,,::::::::::::+:::::++::::::++++++++++++++****++++*******************+++++++++++++::::::::::::::::::,,,,,,,,,,,,,
::::::,,::*+::::::::::::::::::::::::+:::::::,,,,,,,,,,,,,,,,,,,,,:::**++::::+:::::::::::::::++++++++++::::+++++++*++************++++++++:+++++******++**+++++++
::::::::::::::::::::::,,,,,,::::::::::::::::++***:++::::,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,:,,,,,,::::+++++++++:::::::,:::::++++*+++++++++++*+++++****++++:
::::::::::::::::+:::+:::::::::::::::::::::::::,,,,,,::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
:::::::::+::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::+++::::,,:::,,::::,,,,,,,,,,,,,,,,,,,:,:++:::::,::,,,,,,::::,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*+:::::::::+::::,::::::::::::::::::::::::::::::+::::::,:::+:::::++::+::::::::::::::::::::::::::::::
$+++++++,+++  ...................................::+::*#*++++:###*#:*******+**:***+**,+******++,,,,,,,,,*::**++::*****,+++:,,:,...,.,..,,::+  ..:*#**. ...... . 
::+++++,:,,......,,,,.....................:+::....,::*+***+*:*##*:+###*******+************++:+::::,,:::+::+:,:::+:++::::::::,:::,,:+:+:...,,..:*#****,..    ...
:::::::::+*::::::::,,,,,,,,,,,,,,,,,,,,,,::++::,,, ,*****,+::*######::::::::::,,::,,##,,,,,,,,,,,.**,,,,,,,,+:.+*+,,,,,,**,,,:+++::,:+:::+,:.:**##**#:..,::: . 
*::::::****+::::++++++++++++++:::+++:::+***+*+:::,,,**++*,:::*###***:::::::+++,+++,*#*#+.,+:,,,,**+*:,:*:,,,*+,:*#,,**:##*+*:++**++*:**,++:::**+####*:+:++++***
**,,++,::.:++++++++++++++:::++++:+++:::::*:*+*:,:,,,+**,**,,,#*##***,*:+::::**#**#+##*##.#*:,,,,****:****,+*:+,:*#::+:,*+:.++***#*#*++**:,******#####,*:*####**
:++::::::+++++++++++:::::::::::::::::::::::+:+,+::::::+:+++++++++++++::,,::++++,++:+::::+:::+:::+++++++++*++******#*:::**+:**,,,##*#*****:+*##+#####*+,+****+*#
**+:::::+::++++++:+++::::++++++++:::++:+++++++*+++*****************+,,,++.***+**#*###***+*##:*::***::+:+:*+,##+:*****+***:#:,**#####*##**#**#**##*###+,+#*+****
*+++::::+::::::++:+:::::::::::++++++++::+++++*::***:+**+******+******::++:**#:******+:****##**+++**++:+::#+*###*******##*+,*::*+#######***:*#***#***:+++,,,:,,:
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,********+*+:,,,,,,,,,:,,:,,,,::::::,,,,,,,,::::+***#*+####**+###*******+*:+****###**::+###******:+::::::::
::::::::::::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*+***++:+*+::::::::::::::,,,,,,,,,,,,::,,,,,,,,:+****+#*#*#####**+#*+++*+***++*###**+*##*##****,:::::::,,,
::::::::::::::::,,,,,,,,,.,,,,,,,,,,,,:,,,,,,,,,,,,,:+****+++**###**##################***#####********++++*******+************:+******#***+*+,******,,,,,,,,,,,
,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:+****##*******###################*******++++++++++::::::::::,:*+********::***##*#**+##+:++*###::,,,,,,,,,
::::::::::::::::::::::::,,:::::::::::::::::::::::++****##################################***+++**+++++++:,,,::::::,,,,,*+:+++:::::++::::::::::+++::::::::::::::
:::::::::::::::::::::::::::::::::::,::::::::::+*****######################################**++:+:++++++:::::::::,,,,,,,,,:*+:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::+*###*****#*****################################*#########+*+*#*+++++::::::::::::,,,,,,,,:,:+::::::::::,,,,::,,::::::,,::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:+****#*******###***+*######################*#######**:.,**#+*##**++++++********+**+****++++::,+::::::::::::,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+**********************************################**#######***********+++++++:++::::::::++::::::::::::::,,,,::::::,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*#**************************#####*****##########****##**####**#***********************++::::::::::::++++::::::::::::::::::::+::::
,,,,,,,,,,::,,,,::,,,,,,,,,,,:##**********+*****************##****##****************####*#***#******************************+++++++++:::+++++:::::::::::::::,,:
,,,,,,,,::::::::::::::::::::::*#*********###########**##################################################**********######**#######*********************+++++++++
,,,,,,,,,,,,,,,,::::::::::::************##:,:,,*:*##################################################*#*###########**##########*####************#+**************
::,,::::::::::::::::::::::,:***#*******#*,.+#:.+**+###***#############******##******################*####***#######***#############****************************
:::::::::::::::::::::::::::::**#*******#:. .,......+##########################################*****#####*+:+########**************##############+**************
:::::::::::::::::::::::::::::+*********#, :*, ::,+*+####################################################:+,:*###############*#######****++++**********##****###
:::::::::::::::::::::::::::::+*********#*  :. . .+**###################################################*,,,,*########*#############*+::#####*+#*******+++++**##
::::::::::::::::::::::::::++++++++++++++*+  ,*#*..*#############*#******######**########################.,.:*#########*#####*##########***##*:*+++++********+##
::::::::::::::::::::+++++++***************#+   .+########+#+:::*+++*############********************####..,.*#########*##***###################################
::::::::::::::::::::::::::::::++++++++++***#######################******++***#############::::::***#####,.:+*#######:::+**##*#+##**************#############::,
,,::::::::::::::::,,::,,,,,,::::::::::::::::::::::::::::::::::::++++****##########################*******:.+########::::::::++:::::::::::::::::+############:::
::::::::::::::::::::::::::::::::,,::,,,,::::,,::,,::++::::::::::::::::::::::::::::::::::::++::++******##########################**********++++::+#########+::::
++++++++**++++++++++++++++++++++::::::::::::::::::::::::::::::,,::::++::::,,,,::::::::::::::::::::::::::::::::::::::::::::++::::++**********#############******
:::::::++++++**+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::,,,,::,,,,::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++:::::::
,,,,::,,::::::::,,::::::::::++::++++++++++++++++++++++++++++::::::::::::::::::::::++++++++++++++++::::::::::,,,,,,::::::::,,,,::,,,,,,,,::::::::::::::,,:::::::
,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::++++++**+++++++****+++**++************************++++++++++++::::::::::::::::::,,,,,,,
::::::,::+++++:::,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,::+++::::::::::++::::,,::::++::::::::::::::++:+++++++*********+**++++::+:++++++****++++**+++++
:::::::::::::::::::::::::::+*+::++::::++::+++***+++:::::,,,,,,,,,,,,,,,,,,,,::,,,,::::,,::,,,,,,,,,,,,,,,::::::+:::::::::,,,,,:::::::::::++++:++:::+++++*++++++
::::+++:::::::::::++::::::::::::+:::::::::::::,,,,::::::::::::::::::::::::::::,,,,,,,,..,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::++::::::::::::,,,,,,,,,,,,,,,,,,,:+*++++::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,
:+::::::::++::::::::::::::::::::::::::::::::::::::::+::::::+:::::::::::+::::::::::::::::::::::::::::::::::++::::::::::::,:::+:::::++:::::::::::::::::::::::::::
$++++++,+*: ..................................,,,:+++***:*++:###**:##****:***++**+**:******+**,,,,,,,.:+:+*+:+::*****,+++::,,:,.,:...,,,:::   ,*****, ........ .
:+++++,:,,..,,,,,,,,....................,:::,...,,:+*+***++:###++*##*******++*+**++*+****+:+:::::,::,:+::+:,::,:::::::::,,::::::::::,...... .+*#****,..........
::::::::++::::::::,,,,,,,,,,,,,,,,,,,,,,:::*,,,,: +*****,:::#######::::::::::::::,,##,,,,,,,,,,,,**.,,,,,,,*:,**,,,,,,,#*,,::++++.,:,,,::::.,*******,..,:::   ,
+::::+**++::::::++*+++++::::::::++:::++***+*::,,.,,**+:*,::+##*#+*#::::::::++:+++:#**#,,,*,,,,,**:*:.+*:,,.*+,**+,:+++*#+:#+++**+*++**::::::**#####*+++*******+
,,:+::+:,:++++++++*+:+++:::+++++++++:::++:*:*,++,,,**+:**. .**##**# *:::,:*#******##*##,**.,,,,******+++:**+:::*#:::,,**..++******#++*:,,**#****###*:+:*####++#
+:,,::::++++::::::::::::::,,,,,,,,,,::::::::::+:::::::::::::++::::+::::::::+++:+:+:+++++++:*++****++++++*+:*##+***:::,**::**,,:###*****+++*#*+#####*:,*#*****##
+:::::::::++++:+:+::::,:++++++++:::++:+++++++*+++*+**************++,,::::**#+****###*#*+*#*+*:+#+#::::+:#+,##*+#****+**+:#*:***###**##*##*##*+#####*:.*#++*****
+++::::::::::+++::::::::::::+++++++++::+++:+*++**++***:+****+*****+*,:*:*+****##***++***###*++++**+*::::#+**##****:**###::+,:+*#######*+*+##++*****:+++,,,,:,,:
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,*******+:+*::::++,::,:,,,,,,,::::,,,,,,,,,,,::,+**##*+###*+**###**********+***####+++:*###******++:::::::::
::::::::::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:*+**++++:+:,::,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,::+:**########*+**++**+++*+*####+*+#####*****,::::::::,,,
::::::::::::::,,,,,,,,:,.,:,,,,,,,,,,:,,,,,,,,,,:,,,********:+****#**#**##################**####********++++++**###**********:+*****##****++.******,,,,,,,,,,,,
,,,,,,:::+::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:,,,++*+++****##******#####################+****++++++++++:::::::::::::******,:***##*#***#*+:+**##*:,,,,,,,,,,,
:::::::::::::::::::::::,,,::::::::::::::::::::::,,::+*****############*###################*#+**++++++++++++:::::::::,,,,,,*::::+++::::::+::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::,,:::::::::::+*****#################################*#####**+++:+++++++::::::,,,,,,,,,,,,,*++::::::::::::::::,,:::::::::::::
::::::::::::::::::::::::::::::::,::*####*****#*****#################################*##########*++*#+++++:::::::::::::,,,,,,,,,,+,::,,,,,,::,,,,::::,,::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*************###+++*################################*+:,+*##:###++++++++******+++*******++:::,+::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+********************************################*****########**#********+++++++:::::::::::++::::::::::::::,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*#**************************#######*################**##**###****#**********************+++++:::::::::++++::::::::::::::,,::+++
,,,,,,,,::::::,,::,,::::,,,,::,*##********************#*************##****************######****#***************##***************++++++++:::+++++::::::::::::::
,,,,,,::::::::::::::::::::::::,*#**********###########**########################################*###########************#############*******************+++++++
,,,,,,,,,,::,,,,:::::::::::::+************#**,,:+:,+#####*###############################################**###########****##########*###************#+*********
::::::::::::::::::::::::::::,+**##*******##:.,*#* :#:####*##############************####################**###**#########**########*####**************#*********
::::::::::::::::::::::::::::::***********#+.,, ....*#:*#####################################################*:+**########*************###############*#*******+
:::::::::::::::::::::::::::::::**#*******#:.,*+:+:,   *###*#################################################+,.:*###############**##########**++++++***********
::::::::::::::::::::::::::::::+**********#+ ..  . ,##+#####*################################################,,,:+#########***###########*:.*#####*+#******#####
::::::::::::::::::::::::::::++++++++++**+**: .+*+ ,*+#######################################################...:,*########***#############*****##++#********++:
::::::::::::::::::::++++++++**************+**.     +##########++*#########******************************####.,,,+#########*###***###################*##########
:::::::::::::::::::::::::::::+++******####################****+++++++++++++++++*############++++***#########,.,,+##############################################
,,,,::::::::::::::::::,,,,::::::::::::::::::::::::::::::::++++++**##########################******++++**+++++,.,########*:::::++:::::::::::::::::::*###########
++::++::::::::::::::::::::::::::,,::::::::::,,::,,::++::::::::::::::::::::::::::::::::++++++******########################******++++++++++++::::::::*##########
++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::,,,,::++::::::,,::::::::::::::::::::::::::::::::::::::::++++++******############################*
::::::++++++*+*+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::,,::,,,,,,::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++++:::
,,::,,::::::::::::::::::::::++::::++++++++::++++++++++++++:+:::::::::++:::::::::+++++++*++++++++++++::::::::,,::,,::::::::::::,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::+:::+++++*++::+++*****++++++*********+*****************+++*+++++++::::::::::::::::,,::,,,,:
:::::::+::+++:::,,,,,,,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,:::+:::::::::::::::::::::::::::::::::::::::++++:+++++++******++***++++:++::++*++**++++++*+++++++
::::::::::::::++::+::::::+**:::::::::+::++++**++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,:,,,,,,,:::::,::::::::::,,,,,:,,:::::::::++++:+::::+++++*++++++++
+++++:::::::::+::++:::::::::::+:::+:::::::::,,,,,,:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::,,,,,,,,,,,,,,,,,,:**+++++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,
::::::::**::::::::::::::+::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::,,::::::::::::::,:::::::::::::,,:::::::::::::::::::::::::::::::::::::::
$++++,:::,.,,................................,,:**+**++*++:###*+,##****:*+**+********++*****,,,,,,,,:*++*::+:,**++*:+++::,,,. ++,,,,:,::. .,,*###*:  ..    . .. 
::::::,..,,,,,::,,,,,,,,,,,,,,,,,,,,..,+:+:,,,,,,+****#**:##*+**#******+++:+**#+:*+++++::::::::::,:::::::::::::::::::,,,::,,,,:+::,...... .+*#****,,........   
:::::::::::::::::,,,,,,,,,,,::::::,,,,::+::,,,,,:*****,:::#######::::::::::::::,,**,,,,,,,,,,,,*:,,,.,,,,*+,+*,,.,,,.#*:,:+++++..,,..:::+.,*##****,   ::+ . ,..
:::++*++::+:::++++:+++::::::::++::::+***+*+,::,,,***:*::::*###***::::::::+**++++##*#+.:*,,,,,**:*:,+*:,,,*+,::*,,+++*#+:#*****:*+*##++++::***####*+++****##*+*#
::::::::++++++++++:+++::++++++++++::++*+:,*:++:,,**+:*+...**##**# *:::,:**#*#***##**#,**,,,,,*#***++**+*+::::**:+:+,**,,:+:::+**#**+:,,*##::+*:*#*:++*####++###
,,,::::,,,,,,,,,,,,,,,,,::::,,::::::++++::++++++:*+++++++++++++++:++::+++*+*+*+*******+*+*::****::::::#+,#**:***:::,**::**,,:####****+:+*##*#####*:,*#****#####
::::++::++++:+++::::,:+++++++:+++++:+++++++*++**********#*******+:,::+:**#+****#***#*+*#*+*,*#*#::+++:#*:##+*##+**+#*+.*::***###**##+#####*+#####*:.*#*+*****##
+::::::::::+++:+::::::+:::+++++++++::++++++++**++***:***********+*::*+***#**##**#*+***###*+++:****:::+#+**##****:#*###+++:,++#*#####+:*+##++*###*:::,,,,::::::,
::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::++**+++*:**:,,:++,,:,:,,,,,,,,,,,,,,,,,,,,,,,,::**#**+###***+*#***************####++++*###**###+:::::::,,,:::
::::::::+:::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,:*+**++++:*:,,,::::::,,,,,,::,,::::,,::,,::,,,,::,,::,,,,,,++**###+******+:+*****##**+#####*****,::::::,,,,,,,
::::::::::::,,,,,,,,,,.,,,,,,,,,,,,:,,,,,,,,:,,,,,********:+::++****#*####*##################+##********++++++::+++*##*****:**#***##+*+**:,+#****,,,,,,,,,,,,,,
,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:++**+::::*****#*#########*################*#******++++++++::::::::::::,:+:+##*##*#***#*+,+*****:::,,::,,::::,
::::::::::::::::::::::,::::::::::::::::::::::::,::::::+*****#############*######################+**+++++:++++:::::::::,,,,,,,:++::::::++++++++++++:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::+*******#######################################+*+++::+++++:::::::,,,,,,,,,,:,*+::::::::::::,,:::::::::::::::
::::::::::::::::::::::::::::::::::::*#***#*****#******#################################*########*#+**+*#++++::::::::::::,,,,,,,,,,,*::,,,,,,,,::::::::::,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*****#********###++++########################*########*+::,++##*##*+++++::+**+***+++*+++**+++::,::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*********************************################****##########***#********+++:::::::::::::::++:::::::::::,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+#***************************######**############***###**##**##****##**********************++++::::::::::++++:::::::::::::::,:
,,,,,,,,::,,,,,,::,,::,,::::::::,*#***********************************####****************####***#**##***************#****************++++++::::+++++::::::::::
,,,,,,,,::,,,,,,:::::::::::::::::##*********+#######*###**######################################################************#############*******++++++**+++++++
,,,,,,,,,,,,:::::::::::::::::::*************###:,,:,,*#####*##################################################*###########****##########**##*************#*+***
:::::::::::::::::::::::::::::::*##*********##+.,.,##*..*###*############**********##########################**####**########**#*######**####****************###
:::::::::::::::::::::::::::::::+***********#*.,*:  . :*+##############################################**########*:::*########*******#***######**##########*#***
::::::::::::::::::::::::::::::::**##*******#..,*,.,:,,**########################################################++:,**########**##*****####*##########+*+*****+
::::::::::::::::::::::::::::::::**********##:  :*. ,   .#######################################################*,,,,,*########***############+::######+*#******
::::::::::::::::::::::::::+++++++:++++++***#*. ,*: :*+::#######################################################*.,,::*#########**#############***+::##:+*++++++
::::::::::::::::::::++++++++++++++****+++++++*:   .:+,*#######*######*#*************************####******#####*,,..:*#########**###*####################*#####
::::::::::::::::::::::::::++++********########*#############*+:+:::::+++::++****################################..,,,*#####################################*###
,,,,::::::::::::::,,,,::::::::::::::::++++::::::::::::++****###############################**+++++++++++++++++:+*.,,*########+:::::::::::::::::::::::::########
+++++:::::::::::::::::::::::::::,,::::::::::::::::++++::::::::::::::::::::::::::++++++++****######################*#########++++++++++++++++::::::::::::#######
++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::,,::,,::++:::::::::::::::::::::::::::::::::::::::::::::+****#######################################
::::++++++*+++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::,,,,::::,,::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++++::+
,,::,,::::::::,:::,:::::::::::::::++++++:::+++++++++++::++++::::::::::::::::::+++++++*++++++++++++++++::::::::::::,,::::::::,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::+:::++++***+++++++****++++*+*******+++*****************+++*+*+++++++++++++::::::::::::::::,,,
::,,:+::++++:,,,,,,,,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,:::::::::::+:::::::::::::::::::::::::::::::::::++::++++++*****+++****++*+::++*++*:++++++*++++++**+
::::::::::::+++++:::::++**:::::::::+:::::+++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,,,,,,,:::,,,::::::::::::,,,,,,,,,:::::::::::::,:::+++++++++++++++
++++::++::++:::++:::::::::::++::::::::::::,,,,:::::::+:::::++++:,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,.,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::++::::::::::::,,,,::,,,,,,,,,:+**+++++:::::::::::,,,,,,,::,,,,,,,,,,,,,,,,,
::::::**+:::::+:::::::::::::::::::::::::::::::::::::+:+++:::::::::::::::::::::::::::::,,::,,::,:::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:
$+:++::,,..............................,,.,,:***+***++*,+###*:+##**#**++*++********+*****:,,,,,,,,++,+:+:,++**+*+:++,::,,.,***,,,,:,:. ..,+####*. .... . ,..  .,
:::,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+,,,..::*******+:##****#*++++++++++**++:::::::::::::::*,,::,,::::,,::::,,,,:,,,,,,,,:::+,...,.....*#***#:,............. 
,,+::::::::::::,,,,,,,,,,,,,,,,,,,,,:::::::,::*****+:::+######*::::::::::::::,:*:,,,,,,,,,,,+*,,,,,,,,**.,++,,,,,,+**::::++::.,+,,,+++:,,******:....,,,..,:,:. 
++*+++::+::+++*+:++:::::::::++::++******,,,,,,***:+::::+###+***::::::::#***+:*#*##,,++,,,,***:*,.**,,,:*:,:+,,++.#+*+******+#:****+:++*****###*+++****###++#+**
:::::+++++++++++++++::+++++:+++::+++++.:,:*+,,,**::+:.,***#****::+::++*###**+*#+##+*+:,,,,###***++**,+::::**+:++:,+*:++,,,:****+*.:,**#*:,:::*#:#**####+:*###**
::::,,,,::::::::::::::::::++++++++++++:+++++*+**************+*:,:,,,+*****************+*,:****:::::**,***+****:*+:**.**:,,#####*##*,++##+######*,+#*****#*#####
::+:::+++:::+:::::::++++++++++++::+++++++*+************#****+++,:*:,**#*#***###*##**##**,***#*:++++:*+*##:#*******+*,::*#:####*###*#####+*#*###*,,**:++***#####
:::::::::++:+:::::::::::+++++++++:+++++++++*+:****+************++:+************+******#+:::**+**:::**#+*#*##*+**###*:*+,*:*#######::+*#*++####::::::::::::::::+
::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,:++++::+++*+:::,::,::+:,,::::::::::::,,,,,,,,::,**##*+*##*:#:###**##*********#####*+:++########:::::::::,,,,,:::
:::::::::,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,:::::+++++++:+++::,:,,,,,,:::::::::::::::::,::::::::::::::::::::,,,,::::******::+*****#*****#*##****::::::,,::,,,,,,,
::::++::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:******+:,::,,,,,:+****######***#################**##****++++++++::++:+**#**+****#******,******,,,,,,,,,,,,,,,,,
,,,:++++::::,,,,,,,,,,,,,,,,,,:,::,,,,,,,::,,,::++**++::,:+,:+****##**############################****++++++++++:::::::::::::+**#***##+,******::::,,:::::::::*+
:::::::::::::::::::::::::::::::::::::::::::,,,::::::::::******#####################################+*+++++:*++++::::::,,,,,,,,,,,++:++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::+******#########################################**++++:+++:+::::,,,,,,,,,,,,,,,:+:::::::,,::,,:::::::::::::
::::::::::::::::::::::,,::::::::::::::**####*****#******##############################################**+*#*+++:::::,,,,::::,,,,,,,,,.+:,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:******#********##*++++###################################++,,+**#*###*+++::::++++*+++++*++++:::::,,+:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:+*********************************##################**####******##**#*******++++::::++::::::::++::::::::::::,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,*#************************###**####**################******##*###*****#***********###******++++::::::::::::++++:::::::::::::
,,,,::::::::::::::::::::::::::::::+*#***********************************####************#####*####*******#*******************************+++++::::::++++:::::::
,,::::::::::::::::::::::::::::::,,*##**********###########**##############**############################*###########************########**********+++++++++++++
,,,,,,,,::::::::::::::::::::::::+***********+*##**,,:,:######*####################################################**##########****############*##*+**********#+
::::::,,::::::::::::::::::::::::+**#*********##+.:+..*##:*####*#*********#********###############################*####**########**#*########*####***##*********
:::::::::::::::::::::::::::::::::**##********#*..+*: .,, ,*###############################################**##**####*+++*#########******##########**####*******
::::::::::::::::::::::::::::::::::**##*******#,     .,:.*#+#########################################################+:,+:*########*********################+###
::::::::::::::::::::::::::::::::::**********##,.,**  : .##*########################################################*::.,:*#########***###########*#+#######+##*
::::::::::::::::::::::++::::::::::++++++****###. ,: ,*, .:####################################################*####+,,::,+#########***####*########**:::+##,*#*
::::::::::::::::::::+++++++++++++++++++++++++++*.  ,*##::#######*#####**************************######****###**####*,..,.+#########*#*####*################*+#*
::::::::::::::::::::::::++++++++****************##*:::*########*+:::::::+++**######################################*.,:,+*##############***#########***********
::::::::::::::::::::::::::::::::::::++++::::::::++**###########################################*++++++::++::::++::+:+...+*#######*::::::::::::::::::::::::+####
++++::::::::::::::::::::::::::::::::::::::::::,,::++::::::::::::::::::::::::++++++****####################************:*#########+++++++++++:::::::::::::::*###
++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::,,,,::++::::::::::::::::::::::::::::::::::::::::::++******######################********++++++++:##
:+++++++++++::++:::+++:++++++++++++++++***++++++++++++++++::::::::::::::::::::,,::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::+++++++++++
,,::,,:::::,::,,::::::::,,::::::::::::::++++++++++++++++++::::::::::++::+:++++++++*+***+++++++++++++::::::::::::,,::::::,,::,,,,::,,,,:::::::::::::::::::::::::
,,,,,,,,::,:::::::::::::::::::+::::,,,,,,,,,,,,,::::::::::::::::::::++++**++++++++***++++*********++++**+*************+++++*++++++++++++++:::::::::::::::::::::
::+:::+++:,,,,,,,,,:::::::::::::::::::::+:::,,,,,,,,,,,,,,::::,:::::::::::::::::,,,,:::::::::::::::::::::::::::+++++**+*++++++**+++++++**+*+++++++*+++++++++++*
::++:::::+++++++::++++++::::::::+:::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:,,,,:::::::::,,,,,,,,,,,,::::::::::,,::::+++++:++++++::+++
+:::+:++::::++::::::::::::::::+:::::::::,,,,,:::::::::,,:+++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++::::::::::::::::::::::::::::::::::::::::::::::::+:::,,::::::::::::::::::::::::++::::::::::::::,,::,,,,,,,,:+**++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::+*+::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::,,,,::::::+:::::::::::::::::::::::::::::,:::::::+:::::::::::::::::++:::
$...............................,,...,:+:***++:*:**#*:,###****::+++*************+*:,,,,,,:,++:*,,+,:**++++:++::,,..*#**,,:+,:  ,...*#**+*.. .... ..,...,,:,.,::+
::::,,,,,,,,,,,,,,,,,,,,,,::::,::::,,::+***#+++:+###**#*:::::::::::::::++:::::,,,,,,,*+,,,,,,,,,,,,.,,,,,,,::,,,,,,:,:,...,::,:::+*###**::,::::::::::,:,::,.:,,
:::::+::::::::::::::::::::::++++::::.,,*****,:::#######+::++::++::::+:,**:,,,,,,,,,,+**,,:*:,,.#+,*+*,.+:,,***::++++::,,+,::+:: *****#** .  :,:.:,,:,:++:::++*+
+::+*+:+++*+::::::::::::::+****++,,,,,,+**++::::*##*#**:::+::::********#*##,+++,,,,*****:#*:,,.+*,:,+,:+:,#**+#+**#***:*++:+:***+*+*###**+:+#*###***+:+*:*####*
+:++++*++++++:+++++++++++::+*:,.,:++:,,+****************+:::,:**####*+#*+###*+:,,,,*##*#*****+*::++***::::**+:#*,,,*##**:::::**#******+:+::+:++++*****#**+:**#*
++++:+++:+++++++++++++++:++++++++++++*+****************,....,:**+*+***#**###+#*++,:***::::::#+,###:+***+:,#*,.**,:*####*##*+:**#*+#####*:.*#****##*####+:::*###
::+++:::::::::+++++++++++::+++++++++++++*******+******+:,,** .*#+#######*##*###*:,.,*:::::+:*+:##***#*##+***,+::#**#######*##*##*+*#####+,*#*+*+**#####+::,+###
+,::::::::,::,:::::::::::::::::::::::::+*************+:+::+:,::+:::::::,,,::,,,,,,,,,:,:++++*+#**+****+***##****:::*:#####+:*+**++*####:::::::::,,,,:++:,+:::::
::::::,,,,,,,,,,,:::::::::,,:::::::::::.++++*******:::,:::::+:,,,,,,,,,,,,,,,,::,,,,,,,***###+###**#**#*+###*****#+#*#####+*:**####*#,::::::::::,,,,,,,,,,,,:::
::::,,,,,,,,,,,,,:,,,,::,:,,,,,,,,,,:::,+++++++*:+:::,,,,,,,:,,,,,,,,,,,::::++++++++++++++::::::++::::::::::::::::,,,::::********###***,:,,,::,,,,,,,,,,,,,,,,,
::::,,,,,,,,.,,,,,,,,,,,::,,,,,,,,,,,,,:::++++++:::,,,,,,,,,,,+,,,,,:+****############################**#**++*++++++++++::::++*****#***:,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,:,,,,,,,,,::::::::::::,,::::::++++,,::,,,,,,,,,:+,+*****##**########*###################*#+**+++++++++::::::::,,,,,,:+***::::::::::::::+++::++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++#*****#######################################***++++:**+::::::::,,,,,,,,,,.+:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++#******############################################+*+++::+++:::,,,,,,,,,,,,,,,,,::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,::::::::,,::::::+**#*********#*****####################################*############**++*#+++:,,,,,,,,,,,,,,,,,,,,,.+::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+******##*******####++++#####################################*+::,+*##*###++:,,,,:++++++++++++::::,,,,,+:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+********************************###############################***#****#******++++++::::::::::::++++::::::::::::,,::::+
,,,,,,,,,,,,::::,,,,::::::::,,,,,,,,:+##****************************########################***********#####************************++++:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,*##*************************************#####***#********############****#**#**##**************************++++:::::::::++
:::::::::::::::::::::::::::::::::::::*#************###########*###############################################*#############*#********####**####********+++++++
::::::::::::::::::::::::::::::::,::+*************###*#:,,:#*#####*#######################################################****#######***#**############***##****
:::::::::::::::::::::::::::::::::::*************###+.,:*##*,,#####*#************########################################*#####**########**#*##############****#
:::::::::::::::::::::::::::::::::::+**##********#*,.:, ,*: ,*:*###########################################************######++:+*#########****############***##
::::::::::::::::::::::::::::::::::::**##******#*#*..**,:,:.:##*#######################################################*####+:,:***########*********############
::::::::::::::::::::::::::::::::::::************#+  ,...*+. ,++#########*##################################################:::,.:*######################*#*#*##
::::::::::::::::::::::::::::::::::::++++*******###. :**: .+*,.*###########################################################*,,::,:+#########***#############*+,:
::::::::::::::::::::::::::::::::::+++++++++++++++**  .:,.::*+###############*#********##**********########################*...::.:##########**#################
::::::::::::::::::::+++++++++++++++++++++++++++++**#*      +##########:+::**+**###############################******######*..+.:.:##########******#*###########
::::::::::::::::::::::::::::::::++::::++++****####################**++++++++++**++++**##############+:::::::++++**#########:..,:**##############**#############
++::::::::::::::::,,::::::::::::::::::::::::::++++::::::::::::::::::++++****########################******+++++++++++++++++*:  ,#########*:::::::::::::::::::::
++++++++++++++++++++++++++++++::++::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::++::++++******########################*+++++++++++++++::++:::
:::::::::::::::+*+++++++::++++++****++**++++++++++++::++++++::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::++++++******#########
,,,,:,,,,,:::::::::,,,,,::::::::++::::::+:::++::::::++++++++::+:::+++++++*****++++**********++++++++++++::::::::::::::::,,::,,,,::,,:::::::::::::::::::::::::::
,,:::::::::::::::::::+++::::,,,,,,,,,,,,,,,,:::::::+::::++++++++++++:+**+++++++++++++++++++++++*++*+***********+*+++++++++****++**++++++++++++++:::::::::::::::
::,,,,,,,,,,::::::::::::::::::::++::::,,,,,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,,,::,:::::::::::,:::::++++++++++++++++********++++::++++::++++++++++*****
:+++++++:+::++++:::,::::::::::::::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::++++::++:::::::::
::::::::::::::::::++++++++::::::::,,:::::::+++::::++::::::::::,,:++:,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::,::::,,:::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::++::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::+::+*+:::+::++::::::::,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++::+:::::::::++++::::::++::::::::::::++::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::++::::::::::::::
$,.......................,,,...,,,,:*:+++++,*##*:+###*******+++****#**#******,,,,,,,,,+*:*:,::,****+++++::::, **##,,+,:. ....+*****+.  ....   ......,:,,:,+++:++
,,,,,,,,,,,,,,::::,,,,::+:++::::,+****#:*+:*####*#:::::::::::::::,#+,,,,,,,,,,,,+,,,,,,,,,.,,..,,,,,,,:+,,,,,:+:,.,,:::,,,:+*##*#**++::::::+::,,,,.....:,:.,...
++::::++:::::::+++:::+++++++++:.,:***+*,:::#####*#++:::::++++::+,:**:,,,,,,,,,,***,,**,,,,*+:#*+,,*+,:#+:*++++:+,,.:+:++:::#**###*+.,,,::+,++:+++++:+***:,+,##*
::++++:::::::::::::::++++*++,,..,,**++*::::*##*#**+*:,::::#++*#**#####.**+,,,,****+#**,,,,**::+*::*,+*+*+******#+:++++++##****####++::**###***++::+:*##########
++++**+:+++++++++++:::++::++:::+::+*++******#******+:,,::****##**#+*##**:+,,,:**********+*:::,**++::,+:::+,,,.::::::++++:+***#*****:+**#***+*#####**:,*###*##+:
++::::+++++++++++:+++++++++++++*++**++**********+:.,::.:+#*+****#+*+#***#**::+**+:+::::#+.##+:****+::##,:***+####*+##*.+*##**#####*:,******#*#####*+:,*#####+::
::::::::++++++++++++::++++::++++++***************+,,,+,.,*#*######**#**###*,.,+::+:::+:#++###*##***+#**:::,#:*#######+#**##***####*:.***++***#####++++**##*+,,,
::::,:,,,,::::::::,,,,::,,::,,::,:+**+++***:*+*,,,::,:,,,,:,,,,,:,,,:::::::,::,:::++++**+##**#*******##*#***,:#*####*+:****++*###*:++:++::::::,:+*:+:::::::::::
:::::::::,,,::::::::,,::::::,,:::::++**+*+**++,,,,::,,::::,,,,,,,,,,:,,,::,,,,::::**###**###****####*####*::::*######+*+#####++*:::::::::,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,:,,,,,,,,,,,::::++++++++,+:,,,,,,,,,,:,,,,,,,,,,,,,:,,,::++++++**++++++++++++++::::::::::::::::::::::,,,:+*###+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,::++++++::::,,,,,,,,,,+:,,,,,,,,,,,:*****##########*###################+#**+**++++++++::::::::+***:,,,,,,,,,,,,,,,,,,,,,:,,,,
,,,,:,,,::::,,,,::,::::::::::::,::::::++++:,:::,,,,,,,,,++,,,,:::+**#***##################################****++++++:::::::::::,,,,,,.++::::::::::++::++::::++:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*****###############*#########################+*++++++++:+::,,,,,,,,,,,,,,.*,::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::**#*****#############################################**++++::++:,,,,,,,,,,,,,,,,,,,,*::::::::::::::::::
,,,,::,,,,,,,,,,::::::::::,,,,::,,,,,,:::+*#######**#*#******####################################*#############*+++##++:,,,,,,,,,,,,,,,,,,,,,.,+:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+******#*******+*###*****######################################*+,,++##*###*+:,,,,,:::+++:++:++::::,,,:,::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::****************************####################**##############**:++***#*******++++::::++:::::::+++++::::::::::,,,,,,:
,,,,::::,,,,,,,,,,,,::::,,,,::::::::,,*##***************************##**################******************###*****#*********************++::::::::::::++::++:::
::::::::::::::::::::::::::::::::::::::##**********************************##***#####**************##**####***#****#**#****##************************+:++::::::+
:::::::::::::::::::::::::::::::::::::+#**************#########****##############****######################**#######*##############******########************+++
::::::::::::::::::::::::::::::::::::+*************#####*###***####**#########################################################*******#*********############****#
:::::::::::::::::::::::::::::::::::+*************###*,.:.:##*+*####*******######################################################****#######******#############*
::::::::::::::::::::::::::::::::::::*###########*##+,,**. ***+.*########**##########################**************##*#####*####*::+**########**###############*
::::::::::::::::::::::::::::::::::::+**##********#*..:**..:...::##################################################*******#####+:+*.:**########**********###***#
:::::::::::::::::::::::::::::::::::::+****##*****#+ .:.  :*,,*#,#############################################################*,,,+.:**########*###############*
::::::::::::::::::::::::::::::::::::+***********###  :*+     :*,########################################################*####+,:,,:,,*#########***############*
::::::::::::::::::::::::::::::::::::::++++++::::::**  ,..*#*. .#################**********###################################+..::+,:*#########***#############
::::::::::::::::++++::::::::++++++++++++++++++++++**#,   ,::.+########+#***#############****##**#############*********#######+ ..,.,**#########*******#########
,,::::::::::::::::::::::::::++::++++*****************###############+++++++++++++++++++*##############++::****################, :*:.+*#########################
::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::++++******############################**+++++++++++++++++++++++++*#,...,*########+:::::::::::::::::
++**++++++++++++++++++++++++++::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::++++++::++++******###################**###*#########*+++++++++++:::::::
:::::::::+++++++++++++++++**********++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::++++*******################
::::::::::::::,,,,,,::::,,,:::::::::::::::::::++++::::+++:::++++++++++*++++++****+******++**++++++++++++++++::::::::,,::,,,,,,::,,,,:::::::::::::::::::::::::::
:::::::::::::::+++::::,,,,,,,,..,,,,,,,,,,:,:::::+++++++::++::::++++++++++::++++++++++++++++****************:++*++++***********+++++*+++++++++++++::++:::::::::
,,,,,,:::::::::::::::::::+**::::::,,,,,,,,,,,,,,,,,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,:+++:++:::::::::::::++++++***++++***++*****++++++++++++::++++++**********+
::++++++:::::::::::::::::,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,::,,,,,::::::::::::::::::::::::::+
:::::::::::::+++++++::::::::::,,::::::::::::::::::::++++:+:+++::,,::,:::,,,,,,,,,,,,,,,,,,,,,,:::::+::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::+::::+::::::::::*:::::::::::::::::::::::::::::::::::::::::::++::++:::+++::::::::::::::::::::::::::::,,,,,,,:,,,,,,,,,,,,,,,,,
+:::::::::++++::::::++::++::::::::++::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::+++++::::::
$.................,::+:..,..,:*,+*+++:*##+:*###**##***+*******+****++**::,::...++++*+,:::**++++++:,..,,:*#*+:,,+,  ,...+*#*#*:.   ..   ......,,::,,::++++++++**+
,,::,,,,,,,,::::::::+:,,.,.:*****,+::#######::::::::::,::+,,##,,,,,,,,,,,,*+,,,,,,,,,,,:+,,,,,,,##,,,,::++:,,::::::,:+*#*****:,::++:,,,..,,..,,.,:,:,,,,,,,,,,.
:::::::::+++:::++*++++:::,,:**+:+::::####*##:::++++++::+++.****,:.,.,,,,+***,,+:,,,,*,:#*+,+*+,*#+:*++:+++:,::*:+::*#**#####*+++,+++:,+::::+::**#+:,*+*#::+:::+
::::+++::++:::::*+:**+,,,,,,+*++*+:::*###***:*:*++,:#***#*###*#*,*#,,,,,****:#**,,,***::+**+*,:**+:******#++++*+,+**+***####++:*#####*****#+*+*########***+++::
++++++**++*++++++++::::+:+,:****************++,,::+**+*+#*##*#***+++,,,+++*+,::::::::::+:::+++::++:*++:+*******++++##**####**,+**#**:+*#####**::######+++**##*#
++++++++++::++++++++++++++++**++**********::,,:*,,:#******#****++*#**::***+:+::::#+,##+:*****:***..++*+###***##++**##*######*::**:++*#*####**+::*####**:*##**##
::+++++++++++:::+++++++:++++***+**********++,,,+,,,#**######**#**###*:++*:*+,:::,#++##*#******##*.++,#:*#######+#+*##+*******:,*+:+:++:+:::::,,:::,,:,,,,,,,,,,
,,,,,,,,,,::::::,,::,,,,::::***+*:***,++,,::,,,,:::::,::,:,,,,,,,,,,:,,,,,,:++*****####**#*****#*#**##::#+*###*+:+**+++****+:+::::::::::::**:+:::::::::::::::::
,,,,,:::::::::,,:::::::::,::+++++++:++::,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::::+*###**###*##########***::::**####*+**#######**+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,::,,,,,::,:,,,,,,,,,,,:,,:+++++++::::::,,,,,,,,::,,,,,,,,,,,,:,,,,,,,,,:::+++++++++++**++++++++++++++::::::::::::::::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,:,,,,,,,,,,,,,,::++++++::::,,,,,,,,..+:,,,,,,,,,,,:+,,,,,,+*****#######**#*###################***++++++++++++++::::::,:+*:,,,,,,,,,,,,,:,,,,,,,,,,
,,::::::::::::::::::::::,,:::::::::::,::::::,,,,,,::,:::++++**+::,:+#****###**###############################+**++++++:::::::::,,,,,,,,,++++++::++++::++::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+******###############*#######################*#+*++++++**:+::,,,,,,,,,,,,,,,,:::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*#******#############################################****+++::+:,,,,,,,,,,,,,,,,,,,,:*:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:*#######*****#******##**#################################*#############+*++*#*+:,,,,,,,,,,,,,,,,,,,,,,:+:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:********##*******###**##*#######################################*+:,,**##*###+:,,,,,:::::++++++++::::,,,:,+::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,::+*##****************################################****##########**::++**##******++++::::::::::::::++++::::::::::::,,,
::::::::::::::::::::::::::::::::::::,::*****##**********************####*********#**####********************#####****#********************++::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::*##***************************************#####*****************###*####******##********##**********************++++:::::
:::::::::::::::::::::::::::::::::::::,###*#*********+*#########****#############****####################################################*###########***********
:::::::::::::::::::::::::::::::::::::+**************##*############**##########################################################*#*#*********#*****############*
::::::::::::::::::::::::::::::::::::***************##*,,:+*,,::*#####*########################################################*###############****##########**#
::::::::::::::::::::::::::::::::::::*#########**#*##+..:*#*.,****#############################**************#################*#####+,:**########**##########*##
:::::::::::::::::::::::::::::::::::::**###********#*.,,    , ,*#:*####################################################***###*####*:+.+***########*##***********
::::::::::::::::::::::::::::::::::::::**####******#*..+#:.++:.  .*##############################################################*:+*..+:+*########*############
::::::::::::::::::::::::::::::::::::+************##*. ,,. ,  :##**##############################################################+,,+,:,,+*########****#########
::::::::::::::::::::::::::::::::::::::::::++++****##:  ,***. ,+**####################***########################################:.,,,+::**#########***#########
::::::::::::++++::::::::++::::++::::::++++++++++::++#*  .:+:  .*##################***########*######**##******##********########+.,+ .. :*#########***#***#####
::::::::::::::::::::::::++++++++++********************##****##########++++++++::+++++***#########################################. ..:*++*##########*##****####
++::::::::::::,,::::::::::::::::::::::::++::::::::::::::++**########################################*+++++++++++++++++++++++::++**. .:*+#########+:::::::::::::
++++++++++++++++++++++++++++::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::+++++++******######################********##***#########*+++++++:::::::
::++++++++++++++++++**+******+++++++++::++++++::::::::::++++++::::::::::::::::::::::::::::,,,,,,,,::,,::::::::::::::::::::::::::++++****######################*
::::::::::::::::,,,,,,,,,,::::::::::::::::::::::++:+++++++:++*****++******************+*++******++++++++++::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::
:::::::::+::::::::,,,,,,,,,,,,,,,,,,,,,::+*+++::++::::::::::::::++++++++++++++++++++:+**+*************+*+*++::+++++*++****++****++++++++++++++++++++++:::::::::
,:::::::++::+:+++++**+::::::::,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::++::++++:::::,,,,,::::::++++++++++++++++++++**++++++::::+::++++++++++++++++++++
::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::,,::::::::::::::::::::::,,::,,::::::::::::++::++++::::::::::::::::::,,,,,,,,,,,,,,,,,,::+*++++:,::::,,,,,:::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
::::::::::::::::::::::::::::::::*+::::::::::+:::::::::::::::::::::::::::::::::::++::::::+:::::::::+:::::::::::::::::::::::::::::::::,:+:,,,,,,,,,,,,,,,,,,,,,,,
::::++:::+:::+::++++::::+++++:::::::::::::::::::::::::::++::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::::+++:++++++::::::::+++++::::::::::::
$,,,,,,....,:++:,,...,:*+**#**:*##*++*#******++:+++**+*+*****++::::+,::::++::::::::::::::::++:::,::+::,+,  ...  :*#*#**.    .   ....   .. ..,::++++++++**++**+++
,,,,::::,:::++:,,::.:*****,:::#######+++:::::::::::,,**:,,,,,,,,,,.+*,,,,,,,,::,+#+,,,,,,*#,,,::++:,::+:::::+.:*##*#**,...+:+ ..,.,.  ..,.+:*..........,::+****
::++::::+**+**:,,:,,,**+:+,:::*###+**++:+++::+*:+++:*#*#+.,+,,,,.+*+++.:*+,,,++,++#,,++,##++#+++***:+++*:+::*++*#####*::::+++++**+***+,+++::++++#+,,,+,,,:*:*#*
+++++:,::++:+++,::,,:+*+:+*,,,*******,*:+::*+*#*#*#+##*#*,**:,,,,*********,:*+*::*#+:+:,**+,+*****##*++*+,:******####**+:*####**#*#*:#*###**####::**++::*#####*
,,,,,.::::::::::::::::::::::::::::+:::::,::,:++:+::::+:++::*:*++++**++++::#+:##*+***+:+:**::**,::####*##*+:+##**#####*:,********#####*:::*#####:+:*##**######*+
++++:++:++++++++++++****+***********:,,,++,+*#+****###*#*+*#*+*,+#**::::::*+,*#+:*****+*#+:*+:***###**##+*#*##**####*#:.**:++***#####*+::+####*,+:*#**#######::
+++++++::++++++::+++++**:+**********++:,+:::**+*##**#++***###**+++***+::+:#+**##*###+**##*::*,+**#######+**+##++*#***+++::,,::,,:,:::,:,::,,:::::::::::::::::::
::::::::::::::::::::::+++++*++:++:,,,:::,:,,,,::::,,,,,,,,,,,,,,,,,,::***#*+####***##*********+++*+*####++,**#*******:++::::::::::::*+:,:::::::::::::::::::::+:
:::::,,:::::::::,,,,::++++++:+:+::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::**##****#######*******++++**+*###**+**####****::::::::,,,,::,,::,,::::,,,,,,:::::::::::*:
,,,,,,::,,,,,,,,,,:,::++++++*::+:,,,,,,,,,,:,,,,,,,,,,,,,+,,,,,,,,,,,,*##**:,:++++********++++++++++++++++++::+:++++::::::::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,*+
,,,,,,::,,,,,,,,,,,,,:::++::::,:::,,,,,,,,,++,,,,,,,,,,,,+,.,,,,,,,,,,**+*****###########*###################****+++++++++++++::::::::,:*,::::,,::::::,,::::+*+
::::::::::::::::::,,::::::::::,:::::::,,::::::::::::::++::::::::::::+*****##***################################***++::++:::::::::,,,,,,,,,,+::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:*******################*##########################+*+++++:**:::::,,,,,,,,,,,,,,:+:::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::,::::,,::::::::++#******#############################################*#+*++++:+::,,,,,,,,,,,,,,,,,,,,,:+::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:*###**##******#*******#####################################*##############+*++##+:,,,,,,,,,,::,,,,,,,,,,.,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*********#********################################################*+::**##*####:,,:::::+++++++++++*:::*::::,+:::::::
,,,,:::::::::::::::::::::::::::::::::::::+**##***********#################################**####****########**+::+**+###****+++++:::::::::::::::++++:::::::::::
::::::::::::::::::::::::::::::::::::::,:************************####************##********************##******#*###*****#*******************++++:::::::::::::::
:::::::::::::::::::::::::::::::::::::::*##************************##**************#####*******************########******#*******##***********************+++++:
:::::::::::::::::::::::::::::::::::::::*##*#********#****######*****##################**#################################*##############################*******
::::::::::::::::::::::::::::::::::::::+*****#*****#**#########*#####**############################################################**#*#*******#*******#########
::::::::::::::::::::::::::::::::::::+***************###*,,:+**:,*#####*###########################################################**####**########****#########
::::::::::::::::::::::::::::::::::::+*#######******##*,,,..*##, :,########################************################################*+:+**########**#########
:::::::::::::::::::::::::::::::::::::+**####*******##:.,*+  ,..+#*:#####################################****####################*###*::+**,:*########*******#**
::::::::::::::::::::::::::::::::::::::*###*********#*. :*+,+*,,.*#:*################################################################,,.,+:,+*#########*#*******
::::::::::::::::::::::::::::::::::::::****##*******##.    . +    .,*###############################################################*,,:.,,,+**########****#####
::::::::::::::::::::::::::::::::::::::++++++******###*  :**. :+++:*###########################################################*####*.,:,,+:.,+#########***#####
::::::++::::::::::::::::::::::::::::+++++:::++++:::::**  .:. +::,*##################****##************####***************#####*####*..,..,.+*+#########***###**
::::::::::::::::::++++++++::++++++++++*****************##+.  .*#########::::+++++:::########################################***#####, ,+*.,*+##########*###****
++::::::::::::::::::::::::::::::::++++:::::::::::+++**##########################**********#############+++++++++++++++++++:+++**#####, ,,:,+##########::::::::+
++++++++++++++++++++++++++::::::::::::::::::::::,,::::::::::::::::::::::::::++::::++++++******######################********+++++++++*#+,:*##########+++:::::::
+++++++++++++++++++**+++++++++::++++++++::::::::::++++++++++++::++::::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::::++++****######################***
::::::::,,,,,,,,,,,,::::::::::::::::::::+++++*++:::********+++++*******++*+*+*****++*******+++*+*+++++++::++++::::::::::::,,,,,,,,:::::::::::::::::::::::::::::
:::::::::::::,,,,,,,,,,,,,,,,,,:::+++:::+++:::::+:::::::::++::++:::::::::::++:+++++++********+++*****+++::+++++**+**++**++**++*+++*+**++++++++++++++++++++:::::
++:::+::::+***++::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::::::::::::::::::++++++++++++::++:+++++++++++::+:::+++++++++++
:::::+::::::,,,,,,::::++::+:::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,::,,:::::::::::::::::::::::
::::::::::::::::::::::::,:,,::::::::+:::::::++++::+++:::::::::::::::,,,,,:,,,,,,,,.,:**+++:+::::::::::::,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,:,,
::::::::::::::::::::::::+++:::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::++::::::++::::,,::::,,,,,,,,,,,,,,,,,,,,:
::+++++:::++:::::*++:::::::::::::::::::::::::::::++:::::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++:::+::++*+::::::::::,,,
$:::++::,,,,,::*******:+##*******+:++++:++++*::::::::::::::+:+:::::,,::::,,::,,,,:,.,,,:,,,+:,,,........,*#****,. .        .   ...,..:,++++++++***+*+*+******+++
::::++:::::::*****,:::**#####+:::::::::+::::,:*:,,,,,,,,,,,+*,,,,,,,,+#,,*+,,,,,,+*+.,:+++::.,*,,.+::,,+*****#,. .:,:  .,.....,,, :::,:,,,,,,,,:::,::::::,::+++
+*****+,,,,,,+*+++::::*******+::+::+::*#**+:##*##,,+:,,,,+**+*,,*+,,,:*:::#,,+:,#++:*+******:+***+*+*+**+#####+++****##******+,+******++**+++**+++***#******:::
::++:,+,+*:,:+++:++,,.*******,*::::+**####*:##*##:**:,,,,*#****+***,+:+::**+:++:+*+,*+++:+*****+::,***+++*+*#*:+:*#*##*+####*#####::**##:+**+++:*#####****+*:::
++++::++:++++***+*********+**,,:,.,:**+*#******#*#+#+*:::***::::::#*,*#*,+**++::***,**,,,####*##*+,+*##*######:,********#####*::,######:::##**#######++:++++::+
:+++++++:++++***************+:,,+:.**#+***####*##*###*#,*#*#::+:++++:*#*+*#***+***++::**+####*##*#####**#####*:.**++***######+::,+####*,::+##########::::+*****
+++++++:+++:++**:++***+*****+++:++**+*+*****#*+***###*++::#***+:+:#+#*##*##*:**###+,+:,++**#####+:*+##++*###*::,,:::::::::::+:::::,,:::::::::::::::::::::::::::
::,,,,::,,::::++++++++:++:,,::::,:::,,,,,,,,,,,,,,,,,,,,,,,,::**##*+###*+*+###**************##*#+:+:*#####***:::::+:::::::::::::::,,::::::::::,,:::::*::::,,,,:
::,,,,::,,,,::::+++++::+::,,,,,,:,,,,,,,,,,,,,,,::,,,,,,,,,,,,***+*+:*#*###*#**********:****#*#*************:::,,:::::::::::::::::,,,,,,,,::,,,,::,,:+::,,,,,,,
,,,,,,,,,,:,,:+++++++::::,,,,,,,,,,::,,,,,,,,,,,.+,.,,,,,,,,,,*****+,+******#**++***************************++++++::::::************+:,,,,,,,,,,,,,,**+,,,,,,,,
,,::,,:::,,,:::++++:::,:::,,,,,,,,,++,,,,,,,,,,,,+:,,,,,,,,,,,*###*,.+*#*******###########*#################**##****++++++++++++::::::::,,,#::::::::**+::::::::
:::::::::,,,::::::::::,:::::::::::::::::::::::++::::::++:::::::::++::*#****####*#################################*+*++++::::::::::::,,,,,,,,:,++++++++:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::++***#**#################*##########################++*+++++:**,,,,,,,,,,,,,,,,,,,::+:::::::::::
,,,,,,,,,,:::::::::::::::::::::::::::::::,,,::::::::::::::::+*#*****#################################################+*+++++:+,,,,,,,,,,,,,,,,,,,,:,+::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*##**####****+********###################*##################*##############**+++*#:,,,,,,,,:::::,,,,,,,,,,,,++::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:+********##********#################################################**+::*+##*####:,,::::++++++++++++*+++*+++::++::,
,,,,::::::::::::::::::::::::::::::::::::::+**#************################################****####***#########*#*+,:++**##******++++::::::::::::::::++++++:::::
:::::::::::::::::::::::::::::::::::::::,+**#*****************############*****####*******************************#####*****#********************++++:::::::::::
:::::::::::::::::::::::::::::::::::::::+##******************************************#####*********************########*****#**********************************+
:::::::::::::::::::::::::::::::::::::::*##******#*********######******####################################################*#################################***
:::::::::::::::::::::::::::::::::::::::###************###############**################################################################*#***************#######
:::::::::::::::::::::::::::::::::::::****************####,,::+*+,*#####*#############################################################**#####***#######****#####
:::::::::::::::::::::::::::::::::::::**##***********###:,,*+ ,####,*################*#**************####################################***::+*#*#######**#####
:::::::::::::::::::::::::::::::::::::+**##**********##:..*#*...., ..####################################*##########################*####+:++,+#+*########******
::::::::::::::::::::::::::::::::::::::+#*****#****#*##.     .:,:,*##*##################################################################+,:+*.,*#**########*#***
::::::::::::::::::::::::::::::::::::::+***##********#*. :**,  :  +##*##################################################################:.,++,,.,,+########****#
::::::::::::::::::::::::::::::::::::::::++*********###+  :*, ,:. .::######*############################################################,,,,.:+,:*+*########***#
++::::::::::::::::::::::::::::::::::::::+++++++++++++:#*    ,*#::..#################**##********####******************#################,.,+,...,*+*########***#
::::::::::::::**++::::::::+++++++++++++++*****+++++++++*#*.     *#########*+++++::::++############################********######**#####*...,:+,..*#########**##
::::::::::::::::::::::::::::::::++++::::::::++****########################******++*********#############*+++++++++++++++++++++**########:  ,**#:*#########+::::
++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++********######################**********+++++++++++++++#+,..:##########+++:::
++++++++++++++++++++++:::::::::::::::::::+++++**++++++++++++++++++::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::::++++****####################*******
,,,,,,,,,,,,,,::::::::::::::::::++++**++++++*+++++++++**++++++*+:++++*+*********++**++***+++++++++++++++++++::+:::::::::::::::::,,:::::::::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::,,::::::::::::::::::::++::::+++++++*++*+++*+***+++++++**+**:++++++++++++*+++++++******++****++++++++++++++++++:::
::::*+++::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,,,::::,,,,:,,,:::::::::::+++::::::::::::++::::++++::::+:::++++****++:
::::,,,,,,::,:::::+:::++::::,:::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,:::::::::::
::::::::::::::::::::::::::::::::::++++:::::::::++:::::::::::::::,:,,::::,,,:+***+++*::+:+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,
::::::::::::::++::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
::::::::+*:::::::::::::::::::::+:::::::::+::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::,,:::::::+::::::::++:++:::::::::::::,,::::,,,
$,+:,**#####+::::::::::,,:::::+,,,,,,,,,,,++:,,,,,,,,,,...,,,,,,,,,,,,,,::::,.  .:,,,,+*##**#::,:::,,,.,..,,:,,:,:::.......,,,,,..,:+::+*++****++++++++++++++++:
,:::*******+:::::::+:++:::,++:.,,,,,,,,,,+*,,,++,,,+*::*+,,:+,.+**::::++:+,,+,,:+::.:+*#****,...,,,.,...  ,. ,..:::*#*+*++****:#**********+++++++++++++++++++++
::::****#**++::::::+*****+##*##:.**,,,,+****,**:,,.:*+:,,:+++,#**+*******#:*+*+::+++*+++###**+::**####+++:+*:***###**++*++++*:::++*#*****+::::::::::::::,,,,:::
***********:+:,:::*#####*+#*+##**+:,,,,**#*#****#:*+:::+**::+::**,++,,,:##**+:,::+##++++***+:+:++++*++******#*++**+++*:*::::::+#####:::+**::::::::,,,.*####****
********+++,....::**+*+***##**##+**+*,:#**+:::,:**:+#*::****+:*#:,*#:::####+##**:**##+######:.*#****#*#####*::,*#####:+:##**#######,,::+,,,,::+:,+#+,*######***
**++*****+:::,+: .+*+********##*###*::.,*:,:+:+++*:*##+****#**#*::,:#*+#######*##*##*+*#####+,**++++**#####+:::*####+,::+*****#####::#++#######*,,,,,,,,,,,,,,,
:**+++++::::::::+:::,:::::::,:::::::,,:,::,:++++++#***##**+***##*+*+:*,++#####*+*+**++*####::::::::,,:::::,::::::::::::::::::::::::::::::::,:::+:,,,::++::,,,,,
*+++*++::::::,,:+:,,,,,,,,,,,,,,,,,,,,,,,,:+**##*+###**#+*#**#####**##*#######++:+*######**:::::::::::::::::,,:::::::::::::::::::::+::,,,,,,,,::,,,,,,,,,,,,,,,
+++::+::,,,,,,,,,:,,,,,,,,,,:,,:,,,,,,,,:::,#*###+,###*##***********+.+*****##+**##***###*+:::,,,,,,,,,,,,,,......,,..,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,
:++::::,,,,,,,,,,:,,,,,,,,,,,,,:,,,,,,,,,,,,++***:.+*****************:+******#****+++*#*#***#*##################****++++++************##****+:,:,,,,,,,,,,,,,,,
++:::::,,,,,,,,,,+:,,,,,,,,,..,::,,,,,,,,,,,*****,,+******+++*******:,:***********############*#######################****++++++++++::::::::,,,,*+++++++++++++:
::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::+*******#########################################*+++++::::::::,,,,,,,,,,.,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::++******##################*#################*##########+*++++++:*+,,,,,,,,....,,,,,,.*:+:::::
::::::::::::,,:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:+*#**##**####################################################+*++++:+**:,,,,,,,,,,,,,,,,,,,,*::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::******######**#*#*******####################*##################*################*+**+:**,,,,,,::::::,,,,,,,,,,,.,+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,::************#********####################################################*+::,**##**###+,,,,::++**+*++++++**++*++::
:::::::::::::::::::::::::::::::::::::::::::+****##************############################**##########**############*#*+:::***###*****++++++++::::++::::::::+++
::::::::::::::::::::::::::::::::::::::::::***************************#####********************************************######*****#************************++:::
::::::::::::::::::::::::::::::::::::::::+###******#*********************************##***********#####********##**########******#******************************
::::::::::::::::::::::::::::::::::::::::*###******#*********************########################################################*##*########################*##
::::::::::::::::::::::::::::::::::::::,:*###*###********+##############****###################################################################********####*****
::::::::::::::::::::::::::::::::::::::+*****************####+,,,,,.*######*###################################################################*#####***#######*
::::::::::::::::::::::::::::::::::::::*#####**********###*,..+####,.+:*####*********#*******######################################################**+**#*######
::::::::::::::::::::::::::::::::::::::**##########**#*##*,.:.  :*, ,+*.##############*########****##########################****##**********####::+++,****#####
:::::::::::::::::::::::::::::::::::::::*######******#*##,.,*#*.+.:.,*#*:#####*#################################################################,,:*#:.+#*+*####
:::::::::::::::::::::::::::::::::::::::+**######******##, .:+. :*:  .,+,######################################################################*,..,::,.+***####
:::::::::::::::::::::::::::::::::::::::+******###*****##+   ,++   :*::.+######################################################################:.,+..::,..,+####
::::::::::::::::::::::::::::::::::::::::::++::::++***####:  ,*#+ .+*##,*##############****************########################################:..+*. :.:*#+*###
++::::::::::::::::::::::++++++::++++++++++++++++++++++:::##,  ...,,,.*#########*#####***#*##**********************######******##*******########. ..,+:.,***####
::::::::::::::::::::::::::++++++++***************#****++***###*++*##########++++++++++++++:*########################****#######################*  ,***,.:+#####
+++++++:::::::::::::::::::::::::::::::::::::::::::::::::::++****########################################***++++++++++++++++++++++++++++++++++++*#:  ,,,,*######
++::::::::::+:::::::++++++******++++++**++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++********##################*********++###**#########
:::::+::::::++++:+++++++**++++++++****++++++++++++++**********+**+++++++++++**++**++++++++++++++++::::::::::::::::,,::::,,,,::::::::::::::::::::::::::::::::++*
,,,,,:::,,::::::::::,,::::::,,,,::,,,:::::::::::::++::::::::::++++++++++**++++*********+++:::+++::++++++++++**************++++++++++*****+++++++++++++++:::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,:::::+++::::::::::::::::::++++++:::::::+******::++::+++++++++++++++
:::++++:::::::::,,,:::,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,::::,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::::++::::::++:::
::::::::::::::::::::::::::::++,,,,::,,::::::::::::::::,:++**++:++::+::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,::::::::::,,::::,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::,,,,::,,::++::::::+:::::::::::::::::::::::::++:::::::::::::::::+++::::::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::+:::::::++++++++::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::+:::::::::+:::,:::::::,,::::::::::::,,,,,,,,,,::::::,,,
$+::::::::::::::,,+*,,,,,,,,,,,:*+,,,,,,,,,.,..,,,,,,,:,,.,,,,:,:,....,,.,..*##****,.:,,,......,.,,,,,,,,:,,,,,,,,,,::,::::+++*++**++++++++++++::++++:++#+:::,,.
+::+:::::+,+:+:,+*+,,,,,,,,,,,+*:,,:+,,,,*:,*+,,,+,,,#**::++:+*,,,,,::+:+.:*#****:.., ,,,..,  ...  .,:::+#+:++::::++**********+++++++++++++++++++*++**+****++*+
::::::::+*+****##*##:,**,,,,:**+#:**+,,.,*+,:,::+*,***++*+*****+:***+:::+*+*+###**+:+**####*+#+**:+****#***:*++**+++:+**##*****+::::::::::::::::::+++*+*::***++
*+:,:::+*####*+##+###*+:,,,,+*#*******:*+::::*++:+::**,,*:,,:*###++,+:+***+++:***+*:*#***++*###*###+***+***+**++:::+#####*++*+*+:::::::::,.*#####****,++::,:+**
,....,:**+*+***#***#*+##:*,,#**+:::::+*+,*#+:+****::**.+*+:,####**##*:++##+*#####*,*********####*+:,*#####+++*#***######,,,:+,,,+:::::*#+.*#####****,:,:**#*+,,
,,,++.,+*+******#*##**##**,,.*+,:+::++*++##+*******#*+:::+#:########*#*##*+*#####+.,**+++***####+++:*###**,,::*****#####::*+++#######,,,,,,,,,,,,,,,,,,,.:**+:,
::,:::,:::++:::::,::::::::,,,::::++++***++#****+****#*+*+,*,:*#####*:::*#+++####::::::::,::,::::::::::::::::::::::::::::::::::,,::::+:::::::+:::,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,+**##***##**#+*##*#########*#######*+:+*######*#:::::::::::::::,:,::::::::::::::::::::::*:::,,,,,,,,:,,,,,,,:,,,,,,,,,,,,,,,,,,
,,,,,,:,,,,,,,,,,,,,:,,,,,:::::::*****+,*#**##***********+,:******#****#**##**#*,,:::,,,,,,,,:::,,,,,,,,,,,,......,,....,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::,,,,,,,,,,,,+,,,,,,,,,,,,+**+*:,++++**************::******#*****:,+*****::++****####**#*########**########****+*++++*************#****::,,,,,,,,,,,,,,,
,,,,,,++,,,,,,,,,,,:::,,,,,,,,,,,+****,.+******+++*******+,,+******+****::**********############*#######################*+**++++++++::::::::::,,,,*+++++++::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*******##############*###########################+*++++::::::::::,,,,,,,,,,,::::::::::
::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::,:::*#******##################*#############################+*++++:,,*+,,,,,,,,,,,,,,,,,,++,:::
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::*##******#####################################################*+++:,::+*,,,,,,,,,,,,,,,,,,,,++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++*********#*******########################################*#################***+,:*#,,,,,,,::::,,,,,,,,,,,.:
,,,,,,,,::::::,,,,,,::::::::::::::::::::::::*************#********######################################################**+::+*#**#*##:,::::::+++++++++++*+++*+
:::::::::::::::::::::::::::::::::::::::::::+******##********#*####**################****#################################*,.:+**+###****++++++::::::::::::::::+
::::::::::::::::::::::::::::::::::::::::::+*#***********************************************************************###########*****#***********************++:
:::::::::::::::::::::::::::::::::::::::::*##******************************************##******************************########*******#*************************
::::::::::::::::::::::::::::::::::::::::*###******************************################*##***##############################################################*
:::::::::::::::::::::::::::::::::::::::,*###*#####*********############****#######################################################################*************
::::::::::::::::::::::::::::::::::::,,:+**####**********######*+:,:*#######*######################################################################*############
::::::::::::::::::::::::::::::::::::::*##########******####+,,..+###*,+#######**####******#############################################################*####*##
::::::::::::::::::::::::::::::::::::::*##########*****###*,,:**  :#**,..#####**###################################****##********************#**#####+,++***+**#
:::::::::::::::::::::::::::::::::::::::*########******###,.,*##:. ,. ,**,#####*#############################################################*######,:+:.:##*:+*
:::::::::::::::::::::::::::::::::::::::+########******##*  .  . ,:, ,*##,#########################################################################,,+**..,,.,+*
:::::::::::::::::::::::::::::::::::::::+************#*###, ,***.+. . .*#,######*#################################################################*,,,*::+,,,+#:
:::::::::::::::::::::::::::::::::::::::+++++****##**#*###*  .+*. :::.  .*########################################################################*,. .  :*:.:#:
::::::::::::::::::::::::++::::::::::::++::++++++++::+++++##,    :*+:#* *##########*#####*#******############################**********############: ,+*:..,...*
::::++++::::::::::::++++++++++++++++++++++++++++++++++++++*#**     .+#########+:::::++++++*#######################################################*. .:,.:#*:,*
::::::::::::::::,,::::::::::::::::::::::++++******##########################****++++++++*****#############*+++++++++++++++++++++++++++++::::++**##**,  .:+*++##
::::::::::++++++**++**++++++++++++++++++::::::::::::::::::::::,,::::::::::::::::::++++++********######################**********++++++++++++++++++++##*+:+*####
++++++++**++++**++++*+++**++++++++:+++*++*********++**++++******+++++++++++++++++++:::::::::::::::::::::::::,,::::::::::::::::::::::::::::::++++****###########
:::::::::::::::::::::::::::::::::::::::+:::::::+++++++++++++++*+++++*******+++::::++++:+++++++++**************++++++++++++**++++++++++++++++:::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::::::::::::::::++++++::::::++*******+:+++:+++++++++++++++*+++++++++*
::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,::,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::++::::::++::::::::::+++++
::::::::::::::::+++:::,,:::::::::::::::::::,,:+***++:+::+:+:::::,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,....,,,,,,,,,,::::::::,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:::::::++++::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,::::::++::::::::::::::::::::,,::::::::+:,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
$:::,++:,,,,,,,,,,,++:,,,,,,,,,,,..,,,,,,,::,,,,,::::,...,,,,..,*##**#+,,:,,,,.......,,,,:::+,,,,,,,,,,:,:::+::++**+***+++++++++++::++++**+++,,:,::++++++++:++++
::,,**+,,,:,,,,,.:+*,,,*+,,,+*,:**,,:+,,+#*+::+++++,,:,,::::,,:*#****:..,.,,...,.     ...::+*#::+:::::++**********:+++++++++++++++++***+*******+++++**++:::::::
***#####.:*:,,,,*****:**:,,.:*:,:,::++.**+***+*****:**++++++:*+++###*++:+**####+**+**:*****#**++*+**++:+:*********:::::::::::::::::+++:+*:+*****+:++++,,,,..,,.
**+#*+##**::,,,,**###*****:*::::+*+::+::**,+*,,,+##**+:,::*##*++++**+++:*****++*#***##*+***+***:*+++:::*#####+++**+:::::::::,,,*********,:+::::,**:,::,:++:,:,+
**#****#++#**:,:***:::::+*+,*#*::***+:,+*:.*#,+:####+*#*::+*##*######+,********#####*:::*####*+::##**#######,,,,+,,,++++:+**:.######***:.+:+***+,:,,:,.,..,,.,.
**********#**:..,*,::+,+:*++##*+***##*##*:::+**+#######**#*##***####*+.+**++***####*++::*###*+,,,+*****####*::*++*######:,,,,,,,,,,,,,,,,,,,:+**:,,,,,,,,,,,:::
::::,,,,,,,,:,,,,:,,+++++**#***#***+***##***+:::*+#####*:*+**++*###*::::::::,,:,,::::+:::::::::::::::::::::::::::::::::::::::::+,+,,,,,,,,,,,,,,:,,,:,:::::::::
,,,,,,,,,,,,,,,,,,,:+**#***###***+##**######****#######*+:*######***::::::::::::,,::::::,,::::::::::::::::::+:::,,,,,,,,:,,,,:,,,,,,,,,,,,,,,,,,:,,,:::::::::::
,,,,,,:,:,,,,,:::::::*****::*#**#************:,+******#***#***#####+::::::,,,,,,,,,,,,,:,,::::,,,,,,,,,,,,,,,,,,.........,::,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,
,,,,,,,,+,,,,,,,,,,,,+**++,,++***************+,+************,,*****+,,,,,,,,,,,,,:++**********#**#####################***+++********************+,,:*+,,,,,,,,,
,,,,,,,++,,,,,,,,,,,:****:,,******++:+++*****:,:**********++::*****+:::::::::+******############*#########################***+++++++::::::::::,,,,,++:+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*******###############*#########################*#**++:++:::::::::,,,,,,,,,,,+:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,:****##**################################################*#**+++:::::**,,,,,,,,,,,,,,,,*:,::
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*#*******#####################################################*+*+::,,,+*+,,,,,,,,,,,,,,,,,,+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::::::::+*+++**#******############################################################+*:::+#+,,,,:::::,,,,,,,,,,,,
::::,,:::::::::::::::::::::::::::::::::::,,+*************##*******#########################################################**+:***##+*##*:,,:::::++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::***#***##***********###############****########################################**+..:****##****++++*+::::::++:::::::
:::::::::::::::::::::::::::::::::::::::::+**#***********************************************************************##############*##***********####**********+
::::::::::::::::::::::::::::::::::::::::********##************************************************************************########*****#***********************
::::::::::::::::::::::::::::::::::::::,:###*********************************###############*#####*############################**#######*#######################
:::::::::::::::::::::::::::::::::::::::+###*####***********############*****##########################################################################**#######
:::::::::::::::::::::::::::::::::::::::+*#######*********#######**#########**#########################################################################*########
:::::::::::::::::::::::::::::::::::::**#****************####:,:++,,*+,+###################################################################################**###
:::::::::::::::::::::::::::::::::::::**#########*******###+,,+##*  +###:*#####*#############################**##************************#*#############*,:+**+,
:::::::::::::::::::::::::::::::::::::+**########******###:.. .:+,  .*#**,*####################################################################***####*,,++##*.,
::::::::::::::::::::::::::::::::::::::+*########****#*###..:*: .*,,.    .:###########################################################################+,:..,*:.:
::::::::::::::::::::::::::::::::::::::+***######****#*###, .*#*  +.,,*##*+##########################################################################*.,:*:.:,:,
::::::::::::::::::::::::::::::::::::::+***************###+  ,:. ,:  .+##,*##########################################################################*..:**.:++.
::::::::::::::::::::::::::::::::::::::::+++++++++:::+++++#*   +*#*,..,+,########*###############****##********************************##**###########. ...    :
::::::::::::::::::::::++++++++++++++++++++++++++++++++++::##+    ..  .*#########::::+*****##################################################***######*. :*##..,
::::::::::::::::::::::::::::++++++**************************################*+++++++++++++**###############*::::++++++++++++++++++::::++++**##########*....++.,
++******++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::++********###########################***********++++++++++++++++++++::++++++++++::*#*+.. .+
++++++++++******++++++++++++**********++**++++++**++**++**+*++++++++++++++::::++++::::::::,,::::::::::::::::::::::::::::::::::::++++******#####################
::::,,::::,:,:::::::::::::++::::::+++++*++++++++**++++*********+++:::+++++++++++++++****************++++++++****++++++++++++++++++:::::::::::::::::::::::::::::
,,,,::::::,,,,,,,,,,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::+++::::::::::::::::::++++++::::++++******:+++::++++++++++++++++++++++**++**+++*++*****
,,,,,,,,,,,,,,,,::::::::::::::,,::::,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++:+++:+++:::::
::::*+,,::,,:::::::::::::::::::::+**++:++:++::::::::,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,::::::::,,,,::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::+++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++::::+:::::::::::+:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:::::::+:::::::::::::,::::::,,,::::::::::::,,::::,,,,,,::,,,,,,::,,::,,::::::::::,,,,,
$,,,,*:,,,,,,,,,,,,, ,,,,,,::+,,,,,::,:,. ,,,,,,:,+###*#*:,..,,.............,.,,,,,,,::::::+:::++++*+**+++++++++++++:+++*+:::::.:::::++++++++:+++:::+***+++:::::
,,,:+*,,,**.,,:*,:**,,:*,.:#**::++:++,,:.,:::::.:*##***:,,, ::...,....    ,,:++#+:::,,::::********++:+++++++++++++++**+****++*++++++++**+++:::::::::,,,,,,,,,,:
,,*****:**+,,.:*:,:,,::+,**+*+*******++*++::+++*+++###**+:+**####++*:**:+***##**+:**+***:+:+**##****:::::::::::::::++++*:+***+++:::++++:::,,,,,,,++++++++++++++
,,****#*****:*+:::+**+:+:,**::*,,,:##***+::,*#*#+:::***+*++*+**++*###*###+**++***+*+++::++#####**+***:::::::::,,.*####****,:+:::,,*+::::::+++:,,+*******+++++++
,+***::::::*+:*#*::***+:,+#+.+*:+:####**#*+:+*##+*####**,*********####*+:,+#####++:*#**#######,,,:+,,,++:::+*#:.######**#:.:,:***:,,:,,.,,....,,.,,,,,,,,,,,,,:
,,,*,::+:+++++*#*+***##**#*+:::*#:#######**#*##*+*####*+,:**++****####+++:+####*,,:+##***#####::+:+*######*:,,,,,,,,,,,,,,..,,,+**,,,,,,.,,,..::::::,:..,,,,,,,
,,,:,,+++++**********+***##*+**:*:+*#####*:++*#++*####::+,,:::,,,,,:::+::::::::::::::::::::::::::::::::::::::,,:::::,,,,,,,,,,,,,,::,,:,,:::::::::++::::+++++::
,,::,:+*******##***+****######*****######*+:**#####***::::::::::,,::::::::,,::::::::::::::::::+:::,,,,,,,,:,,,,,,::,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,:::::*****::****#************+,:*****##***##***#**#*::::::,,,,,,,,,,,,,,,,,,,,::::,,,,::,,::::,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::,,,
,,,,,,,+***+,,+++**************+::************:,*****+,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+******##****########################***+++******************+:,,,,,,,,,,,,,
,,,,,,,****+,,+*****++:+++++**+:,:*******+***+,:*****+:::::::::::::+******+*+++******###########*###########################+*++++++++::::::::,,,,,,*:++++++::+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*******###**##########*###########################*#**++:::::::::::,,,,,,,,,,::::::::
::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,::::::::::::::+*#******##################################################*+*++::::,,**,,,,,,,,,,,,,,,+:::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+*#*******########################################################+*::::,:::+,,,,,,,,,,,,,,,.:*
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::**#*******#############################################################*+::::*#*,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::*###************#********#########################################*##################****###*+###:::::::::::::+:++:++
::::::::::::::::::::::::::::::::::::::::,:**********#***********###*######################*#################################*#*. .+*+###****++++::::::++:::::::
:::::::::::::::::::::::::::::::::::::::::***#*********************************************************##############################*****#*******###***********
::::::::::::::::::::::::::::::::::::::,:**#******************************************************###**********************########********#********************
:::::::::::::::::::::::::::::::::::::::#*##*******#*********************##########################***######################################*###################
::::::::::::::::::::::::::::::::::::::+###*###**##******#****########*******############################################################################*#*****
::::::::::::::::::::::::::::::::::::,:*###*#####****#****#################****##########################################################################***####
::::::::::::::::::::::::::::::::::,:+*******************####*:,,::+:,,*###################################################################*####################
::::::::::::::::::::::::::::::::::::******************###**,.,+####: :*,*#####*#########******##**************########**##**##############################*+,,:
::::::::::::::::::::::::::::::::::::***##############*###+.,+,  ,*:..:*#**#################################################################***##########*+::**,
:::::::::::::::::::::::::::::::::::::*########********###,.,*#*  .:..:##*,##############################################################################:,:+*#.
::::::::::::::::::::::::::::::::::::::*#########***#**##*  ,*+,  +*+, ..:.*############################################################################*..,:*+,
:::::::::::::::::::::::::::::::::::::+****************##*,    ,: , .++,..,#############################################################################*,,:,..:
::::::::::::::::::::::::::::++:::::::+++::::++++*****#####. .:##*  ,*###:###################****************###########################################*..,**:.
::::::::::::::::::::::++++++++++++++++::++++++++++::::++:##+   ,+. ,*+.+############################**********##**********************************######+  ,+.,
::::::::::::::::::++++++++++++++++++++++++++++++++++++++*+*###*,   ,*#########::+:::::::++############################************#######################+. .,+
++++++++++::::::::::::::::::::::::::::::::::++++******##########################***********#############+:++++++++++++++++++++++::++++++++++++::++++:::+:##:   
**++**+++++**+**************++******+***++++++++++++++++++++::::::::::::::::,,::::::::::::::::::::++::::++++******######################********++++++++++*####
::::::::::::++::::::++++**++++++++**+++++++***+*++++::++++++++++++++***************+++++++++++****++++++++++++++++::::::::::::::::::::::::::::::::::::::::++:::
,,,,::,,::,,,,::::::::,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::+++::::::::::::::::::++++++::::::+*******:+++::++++++++++++++++++++++**++++++++****++++++++++++++++:
,,::::::::,,::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::::::::::::::::::::::::::+++++:+++++++:::::+++++++++++***
::::::::::,,:::::,:+***+++*+++::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::+:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::+:::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,:::::::::,,,::::::+:::::::::+:::,:::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,
$,,...,,,,,,.::,,,,.,:::,....,,.,..:*#****,. ..... ....  .......::+++++++***+++++++++*++++++++++++++++*+:+:..,,:+::::++++++++++++:::+**++++++++::::::::::::::,,:
*:,*+:,,+,,,#**.:+++++,,,:.,:+:+.,+*#****... ,:: .,,....  ..,::++:,,,,,,,:,:::::::::::+*+++++++++++*#******+*+++++++++++++++++++::::::::::::+++++:::::::++:::::
*+:,,+::+,****+#*******:***++:+:++++####*+:+***###***+**+:**+**#+*:+*:+*#*+++**#******::::::::::::+:+**,:+**++:::::::::::+++:::::,:***++*+++++++:::**:+++++*+:*
:::+*+::::,**,:+,,,,*##*++:,,:**#+::::*#**++*#*#**+###**##*#*+:*##*:+*++++:#####****+*+::::::::++.:######**:+++::,:**+::+:++++*+::******++++++++++*+:::::,.,.+#
#*:+****+++*#,:#+,:*####+#**:++##**#####*,:********####**,:,*###**+:+##+*######++::+++++++:::+*:,:######***.,,+:++,,,,.,... ,,.,:,,,,,,,,,,,,,,:#+,::###*+,:##*
#*+#********+:::*#:*#######**#*##+*#####*,.**+++***####+++,:#####:,::***#*####*+:::++*******,,,,,,,,,,........,,,+*:,,:,,......,::,::,*:::,,,,..::+++:,,:,:,+**
******+****#*+*+,*:+**#####+++*#*++####+::::::::::,,:::+:+:::::::::::::::::::::::::::::::::::::::::++:::,,,,,,,,,,,,:,,,,,::::::+++:+:::::++++:::::::::::::::::
#***+**************#######*+:++###*####+::::::::::,,::::::::,,:::::::::::::::::+::::,,,,,,,:,,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::+::+:::::::::::::::::
********+***+++++,:+*****#**+##****###*:::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.,,....,,,,,,,,,,::::,,,,::::,,,,,,,,,,,,:
++++*************::*******+****:,+*****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*+,,:+++++*******##########**######*********+++++++**************+:,,,,,,,,,,,,:
*****++++*******+,,+******++**+::+*****:::::::::::::+*******++++:::+++:::::::::*******###########*#*#########################***++++++::::::::,,,,,,,+++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*******##############*#*#############################++::::,:::::,,,,,,,,,,,.:::::::
::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::+#******###################*###############################*+*+:::,,,,**+,,,,,,,,,,,.:,::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::,,,,,,:::+*#*******#####################*##################################**+,::,,,:::,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+*#********##############################################################**:,:::*#,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::*########********##********############################################**#################**###+*+*#:::::::,::::::::::
:::::::::::::::::::::::::::::::::::::::::+***********#**********#####*****++##################*#############***###############**+, .++**#**##*++::::::++:::::::
::::::::::::::::::::::::::::::::::::::::+****##***************##########################################################****############***#####***************
::::::::::::::::::::::::::::::::::::,,:+**#***************************************************######************####**********########******#******************
::::::::::::::::::::::::::::::::::::::####**#***##**************************################*######*############****###########################################
:::::::::::::::::::::::::::::::::::::+######*#####******#*******************################################################################################*#*
:::::::::::::::::::::::::::::::::::::+####*##***##********################****##########################################################################*###***
::::::::::::::::::::::::::::::::::,:+***####************#####*+,,.,.:*###################################################################################**####
:::::::::::::::::::::::::::::::::::*****####**********#####+,::..*####*,*#####***********#************##################################################*######
::::::::::::::::::::::::::::::::::,*##########********####,.,*#+  ,+#*,..:#####*#######################################################################*####*,:
::::::::::::::::::::::::::::::::::::*#######**********###,.,*##* .:.. .+#:*################################################################################*,,+
::::::::::::::::::::::::::::::::::::+*##########******###. ..  .+::::.*##*:######*#########################################################################,::*
::::::::::::::::::::::::::::::::::::+*******####******###. ,*##+ ,+   :##*:################################################################################,,:*
::::::::::::::::::::::::::::::::::::++++***********#*####*  .*#, ,*::   :,################################################################################*....
::::::::::::::::::::::++++::::::::::::::::::++++++++++++*##   . .+:*##+ :##################*********************##############******####******#############:..+
::::::::::::::++++++++++++++++++++::::++++++++++++++++++++###+        +########*++++++*+####################################################################, .
::::::::::::::::::::::::++++++++++**************************#################+++++++++++++###############+++++++::::::::++::::::::::::++++++++::::++++****+*#*.
********+***+++***++*+++++++++++++++++++::::::::::::::::::::::::::::::::::::++++++++****##########################********++++**+++++++++++++++++++++++++++++*#
++::++++****+++++++**+++++++**++*+++::++*+++++++++++++************++**++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::++++++::::++++++************#
::::::::,,,,,,,,,,,,,,::::,,::,,::::::::::::++::::::::::::::::::::++++:::::::+******++++++:+++++++++++++++*+++++++++**++++++**++++++++++++++++::::::++:::::::::
,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,::::::++::::::++::::::::::+++++:++:+++:::::+++++++++++*******************
,,,:+***++++::+:::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,,,,,,,::::::,,,,,,::::::::::,,::::::++::::::::::::::::::::,,::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
$,:*#***#,...,,........,.......,:++++++++***+*+++++++++++++++++++++++:,.:+++++++:::::++++++++::::::++**++++++++::::,,::::::,,::++::::::::::::::++++++::++:*#*++*
:+*#**+*,.,.:,, ..,,,...   .::::+,,,,,,,:::::::::::::,**+++++**#*+*+++::++++++++++++++++:::+++::::::::++++::+::::::::::+:::::::::::,::::::::::::::::::++*##*###
++:*###*+++***###***+*++:+*******++*+++#++:+**##*****:::::::++:+*+,:*+++:::::::::::::::++++++++:,,++********++:::+**+++++**+:+++::+#*+:::::::::+#*++::++*#####*
+:::+**+***##***++###**#####++**##:+**++:+*#####***+**:::::++***,,######**,,+:::,+*+::,:++++++*+++******+++++++++++,,,,,,,,,+*::+:+++:::::::++*###*#*+++####**+
**#####*,:********####**,,,*####*:+:##**######*+::++++++++++**:,,#####****.,,+:+,....:........,,::,,,,,,,,,,,,,#:,::##**+,:##+:+#*****+:+:,,,**######***####*+*
+*#####*:,**::+***####++:,:*####,,::*#****####*::+++*******,,,,,,,,,....,,,,,..:::,,::,,..,...,+:,,.,+******++++:***::,,+++*##:,**##*:,,,,,,++*******+,:*+++:,,
+*####:::,::::::::::::+:::::::::::::::::::::::::::::::,::::::,::::+::,::,,,,,,,,,,:::,,:,:::::::::+++::::++++::::::::::::::::+*:,,,:::::,,,,,,,,,,,,,,,,,::::::
####**+:::::::::::::,:::::::::::::::::::::::::++::,,,,,,,,:,,,,,,:::,,,,,,,,,,,,,,,,::,::::::::::::::::::+:+::::::::::::::::::+:,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,
******::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,:::,,,,,,,,........,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*****+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++********#######*##########*****#****++++++****##********+:,.,,,,,,,,,
*****+::::::::::::::********++++::++++::::::++**:::::::::::+#*::::++:::::*+:++++*******############*#*###########################**+++::::::::::,,,,,,++:::::::
::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::++*******####*############*#######################*######*++,,,,::::,,,,,,,,,,.,:::::
::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::,,...,,,,::::::+********####*###############*#################################*++,:::,,,,,+**,,,,,,,,.,:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::+*#****#***###########################################################*++,::,,,,:++,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::,.:,.:+**#*******#############################################################*####+*:,,,:*#,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::+**###############*************############################################***################*++***##+*::+*::::,:,,,,,,,
:::::::::::::::::::::::::::::::::::::::+********#*****##********+*############################################***##################**+,..:**##**##**++++:::::::
:::::::::::::::::::::::::::::::::::::::*******##**************##################################********##########**##################**####****#****###*******
:::::::::::::::::::::::::::::::::::::+****************************************************************************************##***########********************
::::::::::::::::::::::::::::::::::::**###****#####******************************################*###*###########################**########********#############
::::::::::::::::::::::::::::::::::::####**##****##**************************#*###################***###########################################################
::::::::::::::::::::::::::::,,:::::+####*###****************#############*****#*##########*####################################################################
::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,:##############****#*######################*################################################################################
::::::::::::::::::::::::,,,,,,,,:+*********************#####+.,:*****+,,*######**#############################################################################*
::::::::::::::::::::,,,,,,,,,,,,:**#############******####+.,, .*###*. ,+.################*###############################********##****############**#########
::::::::::::::::::,,,,::::,,,,,,,**######################+.,+#:  .,:. .*##,*###################################################################################
::::::::::::::::::::::::::::::::::**########*********#### .,*##+  :. .:##**,###################################################################################
::::::::::::::::::::::::::::::::::+*##########****#**####  .+,. :+*+.  .*#*.###################################################################################
::::::::::::::::::::::::::::::::::*******************####, .:+**+  :,,.  . :###################################################################################
:::::::::::::::::::::::::::::::::::::::::+++*###*****#####.  :###. ,*####,:###################********************###*#########################################
::::::::::::::::::::::::::::::::::::::::::::::::+++++++++##+   ,:. +#+:. #########################**######*************************************************####
::::::::++++++++++++::::++++++++++++++++++++++++++++++++*+*###+.     ,*########*::+++*####################################************#########################
++::++::::::::::::::::::::::++****************##############################****++******############*+++++++++++++++++::::++++++++::::::::++++++::::++++++::+++
++++++*+++++++++++**************++++++++++++++++++++++++++++++++++::::::::::::::::::++::::::::++++++++************######################***********************
::++++::++++::::::::::::++++::::++++++++::::++*****+:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++::::::::::::::::::::::::::::::::++:::::::
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::++:::::+++::::::::++++++++::++++::::++++++++++++******************************+++++++++++++++++++++
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++::::++++++++++++++++*********
::::::::::::::::::::::++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::
::::::::::::::::++::::::::+++++:::::::,,::::,,:::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,
$...........,+:::::++++**++++++++**+++++++:++++*:..::::+++++++:::::++++++++::::::++**++++++++::::,,::::,,,,::++::++::::::::++++++*+::+:+***:**+:+++#*+:,,:,**,,,
,.    ....::+*:,:,,,,,:::+:::::::,+:+++++**#**+++:::++++++++++++++++++:::+++::::::::+++++++:::::::::++::::::::::,,::::::::::::::::::+:###*##*:+##*:::::**:::**+
**+**:+****#***++*++*#+++:**##*****::::++++**+:++:*+::::::::::::::::::+++:::::,,++******++++:::+*++++++**:+++:::*#+::::::::::*#++:::++######*::++***++***:,,***
###*###****+****+**+++:+#####****+*+::++++++:+,,##****#*,:+:::+*++:::+++++++++:+******+++++++++::,,,,,,,,.+*::::*++:::::::++######++**####*+*+++##*:*##+*#*+*++
####*+::+#####++:+#***######+:,:++++***++**+:.:#####****.,,::,....,:.. . ...,:::,,,,,,,,,,,,+#:,,*#***:,+##::+#***#*++::.,+**######***####******##**######****#
###*+++:*####*,,,:*****#####+:+:++*******,,,,,,,,,....,,,,,,,+:,,:::,,,,,...::.,,,,+********+++***,,,,*:**##:,####+:,,,,,:*********+++***+:,:+*+*#+++***++:,,,,
::,:::::::::::::::::::::::::::::::,,::::::::::::+:::,,,,,,,,,,,,::,,,,,::::::+++++::::++++:::::::::::::::::++:,,,:,::,,,,,,,,,,,,,,,,,,:::,:+:,,:,+*,:::::,::::
,,:,,,::::::::::::::::::::,:+:::,,,,,,,,:,,,,,::::,,,,,,,,,,,,,,::,,,:::::::::::::::::::++:::::::::::::::::++,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::::,,::::::,,::,,::::,,::,,,,,,,,,,,,,,,,............,,::,,,,,,,,,,:::::,+:,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++,,,,,,,,,,,,::++**********######**********########********++++****##**++++++*+:,,,,,,,,,,
:+*+****++++++::++++::::::+**+:::::::::::+*+::::++:::::*++::++**++::**++++++++++*******############*#**############################+*++:::::::::,,,,,,::::+++:+
::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::++********##############*#**######################*########*+:,,,,::,,,,,,,,,,,,:::::
:::::::::::::::::::::::::::::::::::::,,,..,,,:::::::::::::::::::::::::*********####*###################################################*++:,,,,,,,,:**,,,,,,.,:
::::::::::::::::::::::::::::::::::::,,,:,,,,::::::::::::::::,,:::+*##********###################*####################################*####++,,,,,,,,+::,,,,,,,,
::::::::::::::::::::::::::::::::::::,.,:,.,,::::::::::::::::+***#*******########################*##########################*#########+:*##*#+*:,,,,***,,,,,,,,,
:::::::::::::::::::::::::::::::::::,.:******######**####***#*********#############################################**################+::++***##*+::++#:::,,,,,,,
:::::::::::::::::::::::::::::::::::,.,****************##**********##########*###**#################################################*:***,. :#*##**##*+++++++:::
:::::::::::::::::::::::::::::::::::,.,********##*#************##################################**##############**######################****#*****##***********
::::::::::::::::::::::::::::::::::,.:***##**************************************************************************##*****************#######******#**********
:::::::::::::::::::::::::::::::::,,:**#***######*********************************#############***#######################**************########*******##########
::::::::::::::::::,,,,,,,,,,,,,,,,:*###**###****##**************************#*##################**##****#######################################################
::::::::,,,,::::::,,,,,,,,,,,,,,,.:#####**##****#*************#########*******#**##############################################################################
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.*####*##########*******#####################*################################################################################
::::::,,,,,,,,,,,,,,,,,,,,,,:::,***********************###*##+..,,:+:,.+########*##############################################################################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+**********************####*.,:**. .#####+,#######*############**####************########***************************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::####################*####*..:###*  .*#*::,.*#############################################################***##########******###
::::::::::,,,,,,,,,,,,,,,,,,,,,,+*##########*********###*. .::::,::...   :*.######*############################################################################
::::::::::::::::::::::::,,,,,,,,:*##########*********###* .:..   ,**,..*###,###################################################################################
:::::::::::::::::::::::::::::::::+********####*******####  .*##*.  :.  *###.###################################################################################
:::::::::::::::::::::::::::::::::+++**************#######+  ,**, .*#:  .*#.+###################################################################################
:::::::::::::::::::::::::::::::::::::::::::::::::::::+++##*    .+:###*.   *###################**####****#########*########################**########******#####
::::::::::::::::::::::++::::::::::::+++++++++++++++++++++*##*,         ,*#######+:+############################################################################
::::::::::::++++++++**++******++****************************##################+++++++*##############++++++++::::::::::::++++++++::+++++++++++++++++++++++++++++
**************++++++++++++++++++++++++++++++++::::::::::::++++++++++****************################################**##****************+++++++++++++++++++++++
++::::++++::::::::++::::++******++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++::::++++++++++::::::::::::::::::++++++::::++++++++::::++++++++++*****
::,,,,,,::::::::::::,,,,::::::::::::::::++::::::++::::::::::+++++:++:+++::::::++++++++++**++****************************++**++**++++++++++++++:::::::::::::::::
,,,,,,,,,,,,::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++++::++++++++++++++**++++++***********************
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::::::::::+++:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::++:::+++++++*++:,:+++++,.++:::::+++++++:::::++++++++::::::++**++++++++::::,,::::,:::::++::++::::::::++++++**::+:****:+*+:++*#++:,,,:*,:,,::::,*+******+*##:++
::::++++::::+:++++***+++++:+++++++++++++++++++++++:::+++::::::::++++::++::::::::++::::::::::,,::::::::::::::::::+:##**##*:*##*::+::#*::+**:++:,+#***#**++**###*
**+++:**##*****:++++******+*+:::::::::::::::::::::++::::::,,++********+++::+*+::+++**::++:::*#+::::::::::**++:::++######+:::***+::***:,:***********####*#######
:::+#####******+::++*:***+,,####****,:+:::**++:::+++++++++:+******+++++++++::,,,,,,,,.+*::::*++:::::::++######+++*####*+*+:+##*:###+##+++++**#########***####*#
*#######::,:+:+++****+**:.:#####****.,,+:,...,.,.. . ...,:::,,,,,,,,,,,,:#:,,+#***:,+*#::+#***#*::+:,,+**######***###*******##**#####*******#########*+**######
****####::+:++******+,,,,,,,,,,,....,,,,::,,,:::,,,.,...::.,,,:+********+++***,,,,+:**##::####*:,,,,,:**######*******+:,+***##*+**##**:::+++++++::::,:,,,,,,,,,
::::::::::::::,,::::::::::::+:::,,,,,,,,,,,,::,,:,,::::::+++++:::::+++:::::::::::::::::++:,,,:,:,,,,,,,,,,,,,,,,,,::::,:+:,,,,*+,:::::::::::,,,,::::,,,,,,,,,,,
::::::,:+:::,,,,,,,,:,,,,,::::,,,,,,,,,,,,,,:,,,,:::::::::::::::::::::::::::::::::::::::+,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::::::::,,,,,,,,::::,,,,,,,,,,,,,::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,
,,,,,,:**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++**********#*##*#############**######*******+++++**#***:::::+++,,,,,,,,,,,
::::::+*+::::::::::::**+:::::::::::*++::++**+++:**+++++++++++*+*++++++++++:+++++*******############**#*#############################*+++::::::::,,,,.,::++++++:
++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*#******####*###########*#*################################*+,,,,::,,,,,,,,,,,,:::::
:::::::::::::::::,,,..,,,:::::::::::::::::::::::::::::::::::::::,,,::+*********#####################*####################################+:,,,,,,,,,,:**,,,,.,:
::::::::::::::::,.,,,,,,::::::::::::::::::::::::::::::::::::::::+*******#***#####################*##################################*+*####*::,,,,,,,:*+.:,,,,,
::::::::::::::::,.:,,.,:::::::::::::::::::::::::::::::::::::+*###*******############################################################*:+:+####*+::,,,,+++,,,,,,,
::::::::::::::::.,:,..,:::::::::::::+*********************##*********#############################################**################+++++++**##*++::+**:,,,,,,,
::::::::::::::,,.,,..,::::::::::::::************#*#***********#***##############################################***###############+:::+**+,..:*##***##*+++++++:
::::::::::::::,..,,.,.::::::::::++::**********##**************##################################################**#####################*##+:+*##****#**********
:::::::::::::,..,,,..,:::::::::::::+***##********************************************************#####**********************************######********#********
:::::::::::::,,,,,,..,:::::::::::+*###***#######********************************************##******##****##****************#########***####*####*****#########
,,,,,,,,,,,,,,.......,,,,,,,,,,,:#####*#******##**************************######################**#####*#######################################################
,,,,,,,,,,,,,.....,.,,,,,,,,,,,,:#####********##**************#######*********#################################################################################
,,,,,,,,,,,,,.....,.,,,,,,,,,,,,+#####**########*********####################**################################################################################
,,,,,,,,::::::::,,:,,,::::,,::::**##****####**********#######+,.,,,,..+########**##############################################################################
,,,,,,,,,,,,,,::,,:::::::::::+***********************#####+.,:*####. :** *######************#*******************************************###############*#######
,,,,,,,,,,,,,,:::::::::::::::+*#################**######*:.. ,*##*,. :###:,*#####*#############################################################################
,,,,,,,,,,,,,,::::::::,,::::::**############********####,.,*:....,  .,####+,###################################################################################
::::::::,,,,,,,,,,,,,,,,:::::::*############****###*####. ,*##*  ,#,+   .,:.###################################################################################
::::::::::::::::::::::::::,,,::+****########*******####*  .**:  +. *  ...,. ###################################################################################
::::::::::::::::::::::::::::::+**#**********####***#####+    .+**,  .*####.:###################################################################################
::::::::::::::::::::::::::::::::::::::::++++++++***######+  ,+***#  .*##: *###################**##******#########*******#*###***####################******#####
::::::::::::::::::::::::::::::::++::::++++++++++++++::++###+    :+. .   +######################################################################################
++++++++++++++++++++++++++++++++++++****++++++++**++++++**#####*:,.:##########::++################++::++++++++++++::++++++++++++::::::::++::+++++:::++::++****#
++++++++++++++++++++++::::::::++++++************################################################****************++++++++++++++::+++++++++++++++++++++++++++++++
::::++*****+++++++++++++++++++++**++++++++++**++++++++++++++++++++++++++:+++++++::::::::::::::::::::::++++++::::::++++++++++++++**********************#########
::::::::::::::::::++++::::::++++:::::::+*+++:+++++++::::::++++++++++**++************************************++++++++++++++++::::++:::::::::::::::::::::::::::::
::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++::::++++++++++++++++++++++*************************+++************++*
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++::+++++++++
::::,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$+,::++++::::++++++++::::+++++++++::::::+***+++++++::::,,::::,,::::++:::::::::::::+++++++::+++*#*+:**+:+:*#+:,,,:+*,,,,:::,:*+*******##+:+**##+:+*#:++,+**#**#*,
++:+++++++++++++++++++++++++++++++::::::::++++++++:+:::::::++::::::::::,::::::::::::::+:::+++#***##+:*##+:++:*#+::**+:*+::#***#***++*###*++**+:+**#*::#**#####*
*+:*+::::::::::::::::::::::+:+++::::,,++********++::::+*:+++++**:+**:::**+::::::::::**::::+++######+:::***+:+*+::,+**********####*############***##*:+***+++##*
***+,.*#**#***+,++::*+++++::++++***+::+*******+++++++++:,,,,,,,,.*:::::+++::::::++*#####*+**#####***++*##+*##*+#*++++**##########**#####*###***+**#########*#**
+**,,*######**,,,:+,...,,,:,..... .,,,,,,,,,,,,,,,,*#,:,*##*+:,*#*::*#***#*:+:,,,+**######**####******###*######**+****########*++**########*######*++++++::++*
,,,,,,,,,,,,,,,,,,::,,,,+*::.......::,,,.:++**++++::++**+:,,:::*##*,:*##*+,,,,,:+***#####*+*****:::+***#*++*##**++::+++++++++:+::,,,,,,,,,,,::*#*::,,,::,,::,,,
::::::::::::,,,,,,,,,,,,:,,:,,::::::+++:+::::++++:::::::::::::::::++,,,,::::,,,,,,,,,,,,,,,,,:+::::::,,::+:,::::,:::::::::,,,,,,,,,,,,,,,,,,,,,+*+:::::::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++:::::::::::::::::++,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::,::+::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,:,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::,,,::,,,:::,,::,,,:+:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,:++,,,,,,,,,,,,,,:+*******#******##*#########################**#***+*****++,,,,,,+:::::::,,:::
*+:::::::::::++:::::+*++++++++++::+++++++++++++++++++:+:++++++++++::++::::++++*********############**#*##############################*+++:::::,,,,,,.,:+:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*##******##*#############*#*##################################+:,,,,,,,,,,,,,,.,:::::
,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::***#*******###################*#*###############################:+####++:,,,,,,,,,,+**,,.,:
,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*#*********########################*##############################*:::+####*+::,,,,,,,:++.,,,,
,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**#*********###########################################################*::::+:#####+::,,,,++*:,,,,,
,::::::::::::::::::::::::::::::::++**********************##*********##############################################***##############+++++++++**##***:,:**:,,,,,,
::::::::::::::::::::::::::::::::::*******************#**********################################################***##############+::+++++**+,..++###+###+++++++
::::::::::::::::++::::::::::::::::+*******#**##*#*************##################################################****####################**#*::+*#*+***#********
:::::::::::::::::::::::::::::::::+***********************************************************************************#********************#######*******#******
::::::::::::::::::::::::::::::::+*###*****####**************************************************************************############****########*********#*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*####**********#***************************##################*###**######*#################################**##############**###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*####**********#*****************##************###*##########*#############################################################**###
,,,,,,,,,,,,,,,,,,,,,,,,:::::::*####*##########********#####################***################################################################################
,,::,,,,,,,,,,,,,,,,::::++:::++*#########*************#######*:.....,+#########**##########################################################################*###
:::::::::::::::::::::::::::+***##*######************######:.,,..*#####*,,*######***#********#*****************************#####################################
:::::::::::::::::::::::::::+*###############******######*,.:*#. .:##**:...+######**#####################################################################*######
::::::::::::::::::::::::::::**##############*******####*..:*###. ..... .*#,:###################################################################################
:::::::::::::::::::::::::::::*############*****###*####:  ,++:. :,,+: +###*.###################################################################################
::::::::,,,,::::::::::::::::::**############*******####:  ,,.  ,*:+,  ,*##*.###################################################################################
:::::::::::::::::::::::::::::+********************#####*  ,*###.       .:*,:###################################################################################
::::::::::::::::::::::::::::::::::::++::++****##########+  .+#+  ,*##*:.  ,#####################**********************###***#*##########******************#####
::::::::::::::::::::::::::::::::::::++++++++++::::::+++###.     :#:::,...*##########################################**##**####******************##****######***
++++++++++++++++++++++++++++++++++++++++++++++::::+++++++####+       ,*#######*#################++::++++************++::::+++:::+++++:::::::::++++****#########
::::::::::++++++++++++********************##################################****#############***++++++++++++++++++++++::::::::::++++++++::::+++++++++++++++++++
++++++++++**++++++++++**++++++++++++++++++++++++++++++++++++++++++::++::::::::::++++++++++++++******************############################################***
++::::++++:::::::+++++++++:+++++:::+++++++++++++++****************************++********++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++++::++++++++++++++++++++++**************************++++***************+++**+++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++*******+*
,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++**
$::++++++++++++++:+***+::++++::::::::::,,::::::++::::::::::::++++++:::::*#*+:**+:++**+::,:,:*,,.,+,:,:*+**#**+*##::+**#*++*#*++::*###+*#+,,*####*,##*:+*+++:*##:
+++++++++++++:,:::::::::::+++::::::::++::::::::::,:::::::::::::::+::++*##**##+:###+:++:*#:::**:+*+,:#***#***+**###*++*+::+*##+:+***#####:,*####+:###***+++***##
:::::::+::::::,,****++++++++::::**++++++*+:+*+:::**+:::::::::+#*:+::++*#####*+::+***::+**:,,+***#******####*############***##*:+**+++*##+++++*#++##############
::::::::+++++::+******++++++++++*,,,,,,,,,,#::::++++:::::::+*#####*+**#####*+*+:###:*##**#*++++**#########***####*####*+++*##*#####*###**++++*#:*##**##########
.:,,..,,.,,..,,,,,,,,,,,,,,,:#*,:,###**,,###::*#***#+:+:,,,**######***####*+****##**######****#*#########*+***########*#####*+:+++::::::*+++***:######++*###***
+***,,.......::,,,:+,,,,....,::+++:,,,,::+*#*,+**#*:,,,,,,++*******+:+***+,,:+***#+++*****+:::++++++::+::::,,,,,,,,,:::+*#+,:,::,,::,,,,,,,,::::,,:::::::::::::
,,,:,:,::::::++++++::::++++:::::::::::::::::*+,,::::::,,,,,,,,,,,,,,,,,:+:::::::,:++:,::::,:::::,,,,,,::,,,,,,,,,,,,,,,,,**:::::::::::::::::::::,,::::::::,,:::
,,,:::::::::::::::::::::::+:::::::::::::::::+:,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::::::+:::::,,,,,,,,,,,,::::,:,,,,,
,,,,:+,:,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::,,,,,,,,,,,,,,,,:::::::::::::::::,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
,,,:++,,,,,,,,,,::,,,,,,,,,,,,:,,,,,,,,,,,,,*+,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,:++*******###*##******#############################*++****:::,,,,,+::::::::::::
++::++++++++++++:+++++++::::::::::::::::::++::::::::+++++:::+:+++++++::::::++*********##############*#**###############################:++::::,,,,,,,,+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**#******####*#########**#*##*##################################*+:,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**##******##################*#*#*##############################::::#####:+:,,,,,,,,,,:*+,:+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**#********########################################################::::::+####*+::,,,,,,,::::,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++************############################################################::::::::+#####++:,,,,:**:,,,
::::::::::::::::::::::::::::::::+***************######**##**********#############################*################***#############++++++++++:+#*##**++::+*:,,,,
::::::::::::::::::::::::::::++::+*************#*****##**********#################################################***############++++++++::+**+. ,+*##*+*##+++++
::::::::::::::::::::::::::::::::+***********####**************##################################################*****#####################*#**++**#*+#**#******
::::::::::::::::::::::::::::::::*****##*******************************************************##******************######******************########********#****
::::::::::::::::::::::::::::,,:+*###****######**********************************************###*********************#***################****###**###*******####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,######**##*****#****************************##################*###***#####################################################**#####
,,,,::::::::::::,,,,,,,,,,::::#####***##**************************************##############*#####**#######################################################*#*#
,,::,,::,,::,,,,,,,,,,:::::::+#####*##########**********####################****###############################################################################
++::::::::,,,,::::::::::++++++****########***#********########*+,,,:***########**##############################################################################
::::::::::::++::+++:++++:+**########****************######*.,:+*#+..**:.:#########***********#********************##########**#################################
::::::::::::++++++++++++++*#################**##***#####*,.,*####+  *###*,+*######**###########################################################################
::::::::::+++++++++++++++++*#################*****#####*..   ,+*,.  :*#*##,:###################################################################################
::::::::::::::::++++::++:++*############*******#**#####. :*#:  ,*,.+, ...:. *##################################################################################
,,::::::::::::::++::::::++++**###############*****#####  ,*###  ,**,    .,,.*##################################################################################
::::::::::::::::::::::::::::*************###******#####, .+*:.     ,.+####:.###################################################################################
:::::::::::::::::::::::::::::::::::+*********###*#######    .:*##:   +###+.*##################**########**##*************************####*###*#######*******###
::::::::::::::::::::::::::::::::::::::::::++++:::::::+###*  .+*##*, .,*, ,######################*#***********************************#########****##***********
::::++++++++++++++::::::::::::::::++++++++::++++++++++++####          .*####################################################******::****++****#################
++++++++********++++++****++**++++**********************+*###################*#############*::++::::++::::::::::++++++::+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++::++++++++++++**************####################################################################*******************
++::++++++::++++++++++++**++********************************************++++++++++++++++++::::::::::++::::::::::::::::::++::::::::::::::::::::::++::+++++++++++
::,,,,,,::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++**++**********************+++***************+++++++++++++++++***+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++:::+++++++****++++++++++++**++++++*****
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++******+++++++++++++
$..............................................................                                                       *                                         
....................................................................                                                 +.                                        
......................................................................                                               +.                                        
........................................................................                                             +,.                                       
................................................................................                                     ::.                                       
........................................................................................                             +:.                                       
........................................................................................                             :+.                                       
....................................................................................................                 :+.                                       
......................................................................................          ....                .:+.                                       
............................................................................................   .                    .,*                                       .
............................................................................................ .,,.,,:    ..,.        .,*                         ......,:+++++++
..,,..........................................................................................,:,:,:      .   ......,:*:++**++****++++++++++::++++,,::::+++++++
...,......................................................            ,,::****++++++++*:::::::::,,:::::::::::::::::::+*::::+::::::::::::::::+++:::::,::+*+::***
..,,.................................................:++++++++++++++++++::::::::::::::*:::::::,:*:,,:::::::::::::::::+*+::++::::+++++++++:,,:+:,,,::,::::,,:++*
...:..............,..................................:++++++++++++++++::::::::::::::::+:++::::,:::,:::::::::++++++++*+*********+++++++*++**+:::,,,,,,,,,:::::::
...:..............,..................................:+++++++++++++++:++*********************:::+:,:,+****************************:,....................*######
...+..............,,.................................,++++++++++++++::**********************+:,,::,:,:****************************#*:.,,,,,,,,,,::::::,:**+::++
...+,.....,,.::,,:,,,,,,:::,..,......................,++++++++*+:,,:+:*********##***********+:,:*,,:::**********++***+*++*++***+::##++++******############**###
.*******++##:+++++,,:+++::::,+::,,:++:,,::,....,.:**+++++**+*****+++++****+:***************:,:,++:,:,,::,,::::,,,,,,,,:,,,::######++**********############**###
,,********##++***+************+:::*****:+*+++::::+::,:::::::::::,,::::::::::::::::::,,::,,,,,,,*::,:,,,,,,,,,,,,,,,,,,,,,,::##############################*####
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::,:++**,:,:,::::::::::::::::::::*###################################
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::**##################################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::::::::::::::::::::*#########**+++++++**********######
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,:+################################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:,,,,,,:,::::::::::,::+************************#################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,,:::::::::::++++++++++:++********************************
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::++++*******************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*************+::++*****+:::++:::::::++++++::::++++++****+++++++**********
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**********++******++++::+*++++***+*+++*++*+*++++++++*+*+**************++***
::::::::::::::::::::::::::++::::::::+:::+:::::::::::::::::::::::::::++++::++++++++****++++++++********++++++*******++++++++++***********++++************+++++++
::::::++::::::::::::::::::::::+++*++::::++::::::::::::::::::::::::::++++++++******::::::++++++++++++++++******#*****+++*#*+++++***+++*++****#**++++++++++++++++
+:::::::::+:::::::::::::::::::::::+++::::+++++::::::::::,:::+++++++++++++++++++*++++++**++++++++++++**++++:+++++++**********+*++++++:::+++*******++++++********
::::::::::,::::+::+:::::::,,::,,:::::::++++::+++:::::::,,,::,,:::::::::::::++++++:::::+++++*++++:+++*+++++:*#+**********+*****+:+********+++++******####****+**
::+::::::::::::,::,,,:::::::::::::::,,:::::::++++:::::+::::::::::::::::::::::++++++*+++***+**+**:+++:+:++++***++*++*++:+++++++****#****+****++****#************
++++::::::::::::::::::::::::::::::::+******+***::::+:::::,::++::++**+**+++++:++*****++**+*+*****++***+++++**+++++*************#*+**************+***************
:++:::::::::++:::::+:::::::::+++***+*++++*+++::++:++:++::::+******++++*+*+*******#****************+++*****#**++++++*****************#*#########***************#
++++++++++,:+++++++********+++++*+++*+::::::::+:::++*++:++*+:+:+:*+#**+*#+#****++**#****+++++*#***#**##*+*+******++*********##*#****#***#**********************
*+:+*******#*****+:++*#*****+++*****++++++++::::::++**+****+++****+****#***+****#*#****+*********************+*++*+**+****+*****************************+*++***
+*******+*+:+**+**++++++:***********++++++++****+**+:+****##******************+*++*+**++++**+++++++++++++++************+*+*+*****++*++******#####***+*****+++**
$................................................................                                                      .*                                       
......................................................................                                                .*                                       
........................................................................                                              .*                                       
..........................................................................                                            .*                                       
....................................................................................                                   *                                       
........................................................................................    ....                       *                                       
........................................................................................  ......                       +                                       
............................................................................................    ....                  .*                                       
..........................................................................................      ....                   *..                                     
............................................................................................... ... ..                 +,                         ....  ..  ...
.............................................................................................. ,:   ,, ...  ,...  .... +,.          .... .:::+++++********+++++
....,.....................................................................................     .:++*,:  ..,,::::**+++++**+++++++++::+++:::::::++++++++++:::::::
......,,..................................................      ,,++****++++++++:::::::++::::::::+::,:,::::::::::::::::+*+::++:::::++:::::,:++::,:*++::+++::+++
.......................................................*++++++++++++++++::::::::::::::::+:::::::,*,:,:,:::::::::::++:::+*:::++:+*+::,:::::,:::::+*******++++++*
.....,..............,..................................+++++++++++++++++::::++::::::::::::::::+,,,,,,::+************************::,,,,,,,,,,,,,:,,::::,,,,,,,,,
.......................................................+++++++++++++++,+*+*********************:,+::,:,+**************##*...................,,,##*****#*,,.. ..
.....,.................................................+++++++++++++++:+******+***************::::+:,:,:**************++##+:::::::::::::::::::+#+:,:++##+,+++++
.....::.....,,.:,  ,,,,,,,,,,...,......................:++++++****+:,:++++++**+*###***********+,,::,,:,:**++++++*:***+:+##*##################*########**####+++
...*********#*:+**++::+*****:,.+*+,,.+::,,,::,,,:+++*+++::**+*++******++**#*+:+**************:,,,**:,:,,,,,,,,,,,+######*+######################***#########*++
*+::++********:+***+*************+++*:++:::+::::::::,:::::::::::,,,,::::::,,::::::::,,,,,,,,,,,,,::,,:,,,,,,,,,,:*##############################*###########***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::::::::+*##########################################***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,::::::::**###*#######################################*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,::::::::+###########*++***************################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::,,::*##########################################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:++******************######**#########################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::,,:+*+**++***********************************************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::,::++++:::::,,:::::::+::::::::+++************************+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**######*******##*#****+::+***++++++******+++++*+++++*******+**********
::::::::::::::::::++::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::+**********++++***+***++**+++++***+++++++++******+*+++*******************+
::::::::::::::::::::::::::+:::+:::::::++::+:::::::::::::::::::::::::::::::::++++**++++***++:++:+***********+*+******++++++++++*****************+++++**+++++++++
::::++::++++::++:::::::::::::::::::+*+++::++::::::::,,::,,:::::::::::+++**++******++::::::++++++++++*++++++++*++*****+++*++*+++++++*++:++++***#***+++++++++++++
+++:::++::::::::::::,:::::::::::::::::::::+:++++++::::::::::::++::++++++++++++++:++++:+++*+++*++++++++++++++++++++++****#*****+++**++++++++++++++*++++++*******
::::::::::::::::::::++::::::::::,,::::::::*++:::::::::++:::::+::,,,,:::::::::**++++:::+++++++*++***++***++:++*++********+:+++++***++*****+***+++*********##***+
:::::::::::::::::::::::::::::::::::::::::::::::+++++:::,::+:::::::::::::++++++++++++++*+*****+***+*++++*++*+++****++++++++*+*+++*+*****+++*+**+++*+++*****++***
::++++++:::::::::::::::::::::::::::::++*****++++++:::++::::,,:+:+++++++**++++++++*****+***+++*************+**+++++:+***+**##***#+**++***#*****#***++********##*
++::++::::::::::::++::+++++++:+++++***:++++++::::+++:+++++::+*******++***+**+******#***#*#**+****#******+******++++++*++**********#*+***+#**#**************+***
+:::+++++++++++++:++*+****##**+++::+++*+++:::::,::+:*****+*+**++++*+**#+**#**+**#***#*****++++++************++++**+++***+++*********##**##**#***+***********#**
++:++********##***++*+*+********+*+*++++::::++++++:::+****++**+****+****:*****+*++***+****+++****,******###**********+**:+*,++++******************************+
:++********+**++**+*++++:++***+***+*+++++:+++*******++::+****#**********+*********++++**+*+***+++***+++++++++++*******##*:*++***++*+**+++****+**##***#*********
$....................................................................                                                     ,:.                                   
......................................................................                                                   ,+.                                   
............................................................................                                             ,*                                    
............................................................................                                             .*                                    
......................................................................................  ..                               .*                                    
............................................................................................    ....                     .*                                    
....................................................................................................                     .*                                    
....................................................................................................                     .*.                                   
........................................................................................................                . *,            ..          ......     
..................................................................................................            ..        ..*,      .    ...  ..,,,,::+++++++:   
................................................................................................ .., . ,, . ...,..........*,.. .::++++++++*****+::::::::+++++,,
.......,............................................................................              ,:*+*+:,::++**+++++++++:**+:::::::++++++++++::::::::++*****+:
.......,....................................................  ..::++****++++++++:::::::::::+:::::::,:::,::::::++::::::::+:*:::,::,+++:::++::,:++::+:+********++
..........................................................*:++++++++++++++:::::::::::::::::+::::+:,,*:,,:,:::::::::::+**+:,,:,::::,,,+***###*#******+++++++**+*
...................... ,..................................*++++++++++++++:::::::::::::::::::++++*+,,:,,,::***********+:,..,,,,,,,,,,,,,:::,,,,,,,,,,,,,,. ...,,
........,..............,..................................*++++++++++++++,**+********************+,,+*,,:,+####*,.............,,,,,,,,*#********,,,. ..........
......,.:..............,..................................+:+++++++++:++::+******+***************:,,:*:,:,:*+++*#*::::::::::::::::::::**+:::+**#,:++++++::###*,
........+,....,,,,:+  :,,,,,,,:,...,......................++++++*****+:::++++++**+**##***********+,,,*,,:,:**+*#####################**########**####++++++++***
....,.*********##:+**++::+*****+,.+**:,.++::::::,,::+++*+++++**+++++******+****++*********++++++:,,,*++,:,,###****######################**##########++++**##***
*****:,:++******#:+**++***********++++:+::::::::,:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,:,,*############################*##########**********#*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:+++::,,*########################################***********
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,+*#######################################**###****#*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:##+:*##*+++++++++**********################*+*###*+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:##############################################+::+#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,:::++:,::,,:,,:****#############################################*+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::++++*+:,:::::::,+*************************************************+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::::::::::++++++++********************+*++******++***+++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**########***####****+++++:****++++*******+++++****+++******+*******
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**********+++++**+***++**+*+++*****++**:+++***************************
:::::::::::::::::::::::::::::::,::+::::::++:::::::::::::::::::::::::::::::::::::++++**++*+**++::++:+**********++++******++++++++++********++***+***+++++++*++++
::::::::++++++::::+::::::::::+::::::::++++::::++++::::::,,::,:::::::::::++++++++****++++:::+++:::+++++++++++++++*++*****++:+++***+++++++++++++****#***+++++++++
::::+++:::::::::::::::::::::::::::::::,:::::::::+++++:::::::::::::+::++:++++++++:+++++:+++++**++**+++++++++++++++++++++***********+++*++++++*++++++++*++++*****
:::::+::::::::::,:::::::::::::::::,,:::::::::+**+::::::::+++::::+:,,,,::::::::+:+**::++:::++++++++++++++*++**::++***+**+***+:+++++**+******++***+++*********###
::::::::::::::::::::::::::::::::::::::::::::::::::+++++++::::::::::::::+++::+++*++++++++***+********+**++++++++++*+***++++++++**++*+********+:****+*+*++******+
:::+::++++++::::::::::::::::::::::::::::+++***+++++++:::::::::,,::::++++++***++++++++*****+***+++*****+*****++**+++++++*******#********+**********#*+++++******
::::::::++::::::::::::++::++++::+++++++***++++++:+:::++::++++:::+*******++**++*+****####**#*************+******#***+++++**++******+*#*#*+****#**#*********#****
++:++:::++++++++,+:++:++++*******+++++++++++++:::::,:::+***+*:**++++***+**************#****+**++++*+#*********#*+++++**++***++**+******###**##****+*+**********
+++::::+**+******#****++*+*+******+++***+++++:++++++++:::+****++**+***#*+*#*+*+**+**+***++**++:+****,++***+********+*******+:*::++****+**+*********************
++:::++********+**++*++*++:::++*+++***++++++:++++******+++::+*****#*******#*********+*+++***++++****+**+++*+++*+++*********#*+*****+++*+***+**#*+*******#******
$......................................................................                                                      .*                                 
........................................................................                                                     *                                 
..............................................................................                                              .+                                 
................................................................................                                             *.                                
..........................................................................................                                   +,                                
....................................................................................................                         ::.                               
....................................................................................................                         ::.                               
....................................................................................................                         :+.                               
....................................................................................................    ....                 ,+...........  ..  ..             
......................................................................................................       .......    ....  . ....,,::::++++++++:,  .,..     
......................................................................................................,    :, ...., ..,:::++++++*******+++:::::+++++,,,,,+*,.:*
..........................................................................................            ,++**:+,::++++:,,,:::+++++**++++::::::::++****+:+*:,:*,..
...........,....................................................    ,,::****++++++::::::::::::*:::::::,,:,:,::+:++::::::::++,:,:+++::++:::::++***+**++:**####*.
...........,.................................................:++++++++++++::::::::::::::::::::*:::::+:,,*,,,::#+,,::,,:::,,,++**####*#**+++++++++++*++*#####*:.
...........,.................................................:++++++++++++::::::::::::::::::::++++++++,,,,,,,:,,,,,,,,,,,,,,:,:::::,::,,,,,,,,:,.  ..,:,.......
...........,..............,..................................,++++++++++++++::*+******************####,,++,,:,............,,.,##**++*##:,,..   ...............,
...........,..............,...................................+:++++++++++::+:******************+*+++*,,:+:,,,,::::::::::::::+#+:::++##*,,::::::,:###,,,,,,,::,
..........,.,,....,,,,:, .:,,,,,,,,,...,......................*+++++*****+::+:::++******##****++***+:*,,:::,:,*#############*#########***##*++++++:+**+:,:::::,
.........,*********#*+++++:::+*****:,,+*:,.,*:,,::,,::::++**+++:***+**++**+***+****+*+**********#####+,,#*:.,,+*###############**###########++++*#****+*::::,,,
,**#****+,,+*********+***++************+*+:*:++:::::::::,:,:::::::::::::::::::::::::::::::::::*######*.,,::.,,:*###############*###########**+++****#****::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**#####*,::::,:,,*############################*****#*#*#*+*+,:,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+####*##*,,,,,,,,,*#####*******#####*#########*****#+*+##++*,.....
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#####:,,,,,,,,,,:*****#######**+*##########****#+*#**#*+*+.,:***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#####*,,,,,,,,,+#################################+::++*#*****+:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++********###+:,:::::,,:####################################*+::::::+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*****************+:,:::::,,:********####**############****####****+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::++****+++:::::::::+***************************++++++++++++++***++
::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::***######*****###******++++****++++********++++****+++******+***
::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::+:::+**********+++++**+***++*+**+++***+*****:+++***********************
:::::::::::::::::::::::::::::::::::,::+::::::++:+::::::::::::::::::::::::::::::::::++++***+++***++++++:+**********++*+******++++++++++********++***+***+++++++*
::::::::::::++++++::::+::::::::::+::::::::+++++:+:::::::::::,,::,:::::::::::++++++++****++++::++++:::+++++++++++++++*+******++:+++***+++++++++++++****#***+++++
++++::::+++:::::::::::::::::::::::::::::::::::::::::+++++:::::::::,::++::+++++++++++:+++++:+++++**+***++++++++++++++++++++++**********+++*++:++++*++++++++++++*
::::::::::::::::::::,:::::::::::::::::,,:::::::::+**+:::::::++++::::::,,,,,,:::::++:***:+++:::++++++++++**++*+***::++***+**+***+:+:+++*********+*+***++********
::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++::::::::::::::+::+++++*++:+++++***+**#*****+*+++++++++++*+***++++++++**++*+****+****+****+++*++***
++::::::::++++::::::::::::::::::::::::::::::++****+++++++:::::::::,,::::++++++***++++++++*****+***+++****************++++++**+****#***#*****+*********#****+***
::::::::+:::::::::::::::::++::++++::+++++++***++*+++:+:::++::++++:::+*******++**++*+****####**#********************#***++++++*++******+*#*#*+***+#**#**********
::::+++++:::++++++:::+:+::++++#*****#++++++++++++::::::,:::+****++*+++++***+*******************+**++++*+#*****#*****+++****++***++*********###**##**#***+******
++++++*+++:++*********#***++*+++********+***++++++::++++++:::+****++*++*****+*#*+*******+***++**++:*****:+*********************+:++:++++**+**+*****************
*+++++:::+************++*++*++:::++***+***+++++++++++*****++++::+******#******#*******+*+*++****++++**+++***++*+++++++********##*++++***++*+**+++****+**##**#**
$............................................................................                                                     *                             
................................................................................                                                 +                             
....................................................................................                                             *.                            
....................................................................................                                             +.                            
..............................................................................................                                   ::.                           
........................................................................................................                        .:+.                           
........................................................................................................                         ,+.                           
................................................................................................................                 ,*.                           
........................................................................................................        ..  ..............* ............               
..........................................................................................................  ...    .....::++**********+++:+  .,,,...           
........................................................................................................ .., .,,:,:+++++******+:::+:,,:+++++,.,,:*:...,,::+++++
..........................................................................................               .,+++*+:,+*++++***++:::::::::+*+++*::**,,**,..::::::::
...............,................................................,...  ,,::****++++++::::::::::::+++:::+++::,:,:,:::::::+::,:++:::::+********::+*#####:..,::::::
.................................................................:++++++++::::::::::::::::::::::+++***:,,::,*:,,::,+**########******+++++++*:*######+:.......,:
...............,.................................................,++++++++++:::::::::::::::::::++::,,,..,.:,::,,::,,:***++:,,,,,,,,,,,,.   .,,,...............,
.................................................................,++++++++++::::+,******####*:,,,,,,,,,,,.:,:*,,:,..,#**++++*#+.,,.    ...............:,......,
................:.............,...................................+++++++++++:+++,*****+**++***::::::::::,:,,*,,:,,,+#::::::*#*:,,,,::,,,+##+,,,,,.,,,,,,,,+::,
..............,.:,.....,,,+,  :,,,,,,,,,...,......................*++++******+:::++++:***+:+**############,,,+,,:,:*#########***###++++++++*#*+:,:::,,,,:,***+,
..............++*******#*:+++++::+*****:,,**+:.,*::::::,::::++**++++***+++****+*******######****#########*,,*++,:,,*##***##########*++:+*##****+::,,,,,,,,**++,
..,,.***#****:,:********#++**++**********+++++:+:::::::,:::::::,:,::::::::::::::::,:*####################*,,,::,:,:*##*###########**++++***##***:,,,::::,:*+++,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#####################*:+++++:,,+###############*********##++*:,:,,,,,,**+:,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*##*###############*:,,,,,:,,:####*##########*******#:##+++,........:+,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#####+:#*##**######**:,,,,,:,,:****##########******+*#*#++*...,:+*****+:,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+###################*::::::,,::####################::+:++####****+::,:,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**#################*::::::::::*########################*::,,,,::,,::::::+
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**********************#######*::::::::::+######################*++::::::++:::+++:::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++***************************+++++::::++++****************++:++::::+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++**########****######**++++++****++*++*******+++++*+*++++*++**
::::::::::::::::::::::::::::::++::++::::::::::::::::::::++::::::::::::::::::::::::+:::::::::::::+*##********++++**+****++*++++++********++++**********+*****#**
::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::++*******+**++::::++++*********+++******++**++++++**********++*++**++++
::::::::::::++++++++::::::++:::::::::::::::::::+++::::+:++::::::,,::,,::::::::::+++++*******+++++::+++++:+:::+*+**++++++++++****++++*++**++++++++++++++***##**+
+++++:+++::::+::::::::::::::::::::::::::::::::,,::::::+:++++++::::::::::::*+:++:++++++++++++++::+:++++++**++++++++++++++++++++++**********++++*+++++++*+++++++*
::::::::::::,:::::,,::::::::::::::::::::::::::::::::::++++:::::::+:++:::+:::,,::::::::::+**+::+:::++++*+*+++***+++**++::+*++*+******+:+++++****+***********+***
:++:::::::::::::::::::::::::::::::::::::::::::::::::::::::+:+::+++::::::::::::+++++++++**++++++*++*+*********+*+++:*+**+*+*+**++++++++*+*+++++*******+:*+*++++*
+:::::::::::++++++++::::::::::::::::::::++::::++++:+**++:++++++++++:::::::::++++++**++++++++**********++**************+***+++++++*****##********++************+
::++++::::+::+++::::::::::::++++++:+**++:+++++++**++++++::::+++:::+++:::+***#***++***+**+***#*##**######***************#**+*+++++*+++*#*******##*+***+*********
**+++:::++++:+::*+++++++:+**::++*++*****#*++:*+*++*++++:::::::++******:*++++++++******#**+******#*****++:+++*******#******++***+++**+++**+**#***###*###******+*
:+*+++++++:*:+::++*+****#******+****+************+++:+++:+:+++++:+*****+**:********#+*******++*#*++****++****:******##*******++**+**+:+:+:********+************
**++++++++++++::*##*********+++++++:++:+++:+***+++++*:++++******:+++++**************+********+++**+***++**++*+**+**+++++++*********#**+++***+++++***+****+***#*
$....................................................................................                                                       +                   
....................................................................................                                                      .+.                  
................................................................................................                                           +.                  
................................................................................................                                          .:,                  
............................................................................................................                               ,:                  
............................................................................................................................              .,+                  
..............................................................................................................................            ..+                  
..............................................................................................................              ......  ..     .*.                 
..........................................................................................................  ..    ..   .. . .... ......... .*.......  ......  .
..............................................................................................,,:+++++**************+:,,,:,  .***+. ...... .+..................
...........................................................................................,::,,,,:+++******++,,,,,,., ,,,,:.,:,,,*:....    +,......,,::++++***
........................................................................................,:,,,,,,,:********++:,,,,,,,:::::+,:,:**:,:*,...:::::+:::::::::::::::::
........................,,:,..............................................,+++++++++:++:::,,::,,,::::,+:::::++::,+**+,:::,,,,:+*#####+....::+::::::::::::::::::
..........................,.............,..................................:++:::+**:,:+**+***++:+++******++::::++:::,,*+:,:,**##*::,.........,:::::::::::::+++
..........................,...........,,,,.................................:::...............,,,,,*#######*,,,.......,,+::,:,,.................,::::::::::::++:
..........................,.............,:........................*#####**:,,,,,,,,,,,,,,,,,,,,,,,****++:+##*::,.    ,:++:,:,.........,:,,...,.,:::::::::::::::
..........................,.......................................***+*+****::::::::::::::::::::+:#*+++:+:*#*:,,,,:::,,++:,:,.,,,..,:,,,,,,:+:,,::::::::::,,::.
........................,,,,::++++*+++:+:,,,,,,,,,,,,, .......,...*****+#######################***#########*#####*++::,::,,:,:::,,::,,,,,,:*+*+,,,,,,,,,,,,,,,,
..................,,,,..:+********#:+**+++**##***+,..+*+:,::::::*+#######*****####**##****##########***########*##:::,,**:,:,:*,,,,,,,,,,,:****,,,,,,,,,,,,,,,,
,,,,:::,,,:::::*********+:,:.+*****+:+++:+++++:::::::::::::::::::+##################################*############*+++:,:::,:,::*,,,,::::,,+*+++,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::###################################*#*###########***:::,:,::::+::::,,,.,,:*+++,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#**##+###################******######*##########***+,,:,,,,,,:+,..........:*+:,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*####*+######*#####################**###########****,,:,,,,,,:*.....,:+*****+::::,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#################################################*,,:,:,,,,:+*##*****++::::,,,,,,,,,,,,,,,,,
++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*##############################################*::::::::,,+**::::::,,,,,,,,::,,:::::::::::
++++++++:::::::::::::::::::::::::::::::::::::::::::::+++**************##############################################*::::::::::::::::::::::::::::::::::::::::::
++++::::++:::::::::::::::::::::::::::::::::::::+++************************************************************#**+:::+**+++++++,,,,,,:::++::+++++++++++++::::++
:::::::::::::::::::::::::::::::::::::::::::+++++++++::::++++++++++******************************************+*###################*++*:++:+++++++++*******++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::,:::++++******++++::::+++::::+++:++***********+*****++**+++++*+++++**+++****+*++**+****
:::::::::::::::::::::::::::::::::::::::::,:::::::+::::++:::::+++++:::::::::::::::::::::::::::::::+++**********+++:::::++++++++++**++++**********+*++++*********
::::::::::::::::++++++++++++::::::::::::::::++:::::::::::+++::::+++:+:::::::::::::::::::++++************++**++++++++++++++**++++++++++++****++++*++**++++++++++
::::::++++++++::::++++::+++:::::::::::::::::::::::::::::::::::::::::++++::::,,,,,,,,:::+:+:+++++++++++++++:::+::++*+++++++**++**++***++++++*******#***+++++++++
:::::+++::::+++:::::::++::::::::::::::::,,::::::::::::::::,,:::::+++::::++::::::::::::::::::::::+++*#*++::+::++++***+++++++:+****+::****+***##**++++++*********
::::+++++:::::+++++:::+++:::++::::::::::::::++++::::::::::::::+:::::++++::::::::::::::++:::+*+++**++****++*****+********+*+++:+++*****+**++++*+++*+**+***+*****
+::::+***+::::::::::::::++++:::::::::::::::::::::::::++***+++:+****++*::+:+++++::::::+:+****++++***************+**********************++++++******##***#****+**
+::++*++++:::::::::::::::++++:::::+:::+:+++*++*****++++++++++++:++:::+::::::+:++:+++********+*+**++*****#*#####*###***##**********##***+++++**++***+*********+*
+:::::+**+++++::+++++++:++:::+++:+:::+#****+*++*##****++*:+:***+++::::::::+++*+***++++*+***++*****#*+***#*##*#*+***+*+*++***+##********+**+++****++**+******###
+:::++:::::+++++*+++:++:::+++***********************#*********+:++++::++++*++*****++*:*******#**+*******+****+**+*++****++****+*******+**+***+**::*::+********+
++:::+++::+++++::+++++++**++++:++++++++++++++++:++++++++++++++++++*************++***********+**++*********++*****+*******+****++++++++****#****#*++*+***+++*++*
$............................................................................................                                                     .:.           
............................................................................................                                                     .+            
........................................................................................................                                         .*.           
........................................................................................................                                        . *.           
......................................................................................................................                            +.           
....................................................................................................................................              +.           
......................................................................................................................................            +,           
................................................................................................................................................. ::..    ..   
............................................................................................ ........................ ... ..       ...............::...........
......................................................................................,::+++****************++**++++  :***+.,,,,:, ... ...........,+...........
..................................................................................,:::,,,,:+++******+:,,,,,,,,,+*+*+,.+*,.,+:,:,:, ... .  ....  ..,+,,::++++++*
................................,...............................................::,,,,,,,:*+++*****+++:,,,,,,,,+****:,+**:::::::+,,::::::::::::::::+::::+::::::
..............................,,,............................................,::,,,:,,,,+,+:,:::++++*+*++***++++++**::,*###+::*+:,,.,,:::::::::::::+:::::::::::
................................,.............,,.........................:+*,:+*****++::::::++++++++:::::::::::::+++:+*##*+:::*+,,: ....,::::::::::+::::+++++::
................................,...........,,,,............................,,......,,,,.*#######+,.,,,,..,..       ..,..  .::+:,,:......:::::::+++++++++++++++
................................,.............,:........:#*####**:,,,,,,,,,,,,,,,,,,,,,,,***+++++*#*,,,,.        ...........,,+::,:,...,.,::::::::::+++++++++++
................................,,......,......,........:*+++++***+:::::::::::::::++:::::#*+::+:+##*:,,,,,,,,,,.####.,,,,,.,::*::,,:,++:,,:::::::::::::::::::::
..............................,++++++++**+++++::,,,,,,,,*****+**#######################**#########***###*+++::+****#*:::,,:,::,::,,:+*+*:,,,,,,,,,,,,,,,,,,,,,,
.......................:++++,,,+********#+:**+++**##*****######*+*#########################***###########++++++*#***+*+,,,,,,:**:,:,:***:,,,,,,,,,,,,,,,,,,,,,,
::,,:::,,,+**:,,++++++**********+:.:+++++:::::::::::::::###################################*###########**+::++***#**+*++,,.,::++*,:,:+*+:,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##################################**############*******##*##++*::,:++:::.,::::+:,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::+#*###*##########################################***********##+:*..,.,,,,,,,,,:++,,,,,,,,,,,,,,,,,,,,,,,
::++::::::::::::::::::::::::::::::::::::::::::::::::::::*####***####*#######################**##########*****##++**#*+:*....,,,,,,,,,:++::::,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*######**######****####******######################*+*####+++*::+#+::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,
++++::++::++::::::::::::::::::::::::::::::::::::++:::::::++*###################################################+:::*##**#**+::::::::,:,:::,,,,,,,,,,:::::::::::
++++++++++++::::::::::::::::::::::::::::::::++++************#######################################################*+:::::::::::::::::,:::::::++:::::::::::::::
++++++::::::::::::::::::::::::::::::::++********************************************################**************++++::,,,+****+++++:,,.,.,+:+**:+++++++++++++
++::::::::::::::::::::::::::::+++++*******++********************************************************++++:::::::::::+****################*+++++::++++++++++*****
::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::+++++**********++++**++++++++++++++++::++++++:++++++**************+********+++***++****+*++++****+
::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::+++::++++*++:::::::::::::::++::::::::++::++++***********++++:::::++:::++++**+++***#**********+++**
::::::::::::::::::::++++++++++++:::::::::::::::::::+::::::::::::::::::+++:++::::::::::::::::::++++**********++********++++++++++++**++++++++++++****++++*+**+++
::++++++:::::+++++++++++++::++++::::::::::::::::::::::::::::,,,,::,:::::::::+++:::::,,,,,,,,,:+:+:+++++++++++++++:::+::+++++++*****++***++**++++++*******#**+*+
++::::::::++**++::::++:::::::::+++:::::::::::::,,,,,,,:::::::::::,::::::++:+::++*+::::+:::::::::::::::+++++*::++++:+*+++***+++++++:+#*+*++:*********#***++++***
:+::::::::::++::+:::::++::::::++::++++::::::::::::::::++::::::::::::::::::+***++:::+:::+++::++::+++++****+******+*******+***#****+*++:++****++*++++++*******+*+
++:::::+:::++:+:+::::::::::::::+++:::::::::::+::::::++::::::+******+++**+**+**++++++++:::::::+******+++*********+*****+*********************+**+**++**********#
::::++++:::::+*+++++::::::::::::++++::+++++::++++*++******++++++++:++*++::::::+:::+:::++++++******++*+**+*****##*#*###**##***#****++******#***+++++***++*******
++::++++::::::::++++*+:+++++++::++*+:+++++***#*****+++*##****++++*****++::+++++::::+******+++*+***+*#**#*******#**#***********+*****###***********++****++*****
++++++++::::++++++:+**++*+++++:::+++********+++*********+++******+***+:+++::++++++*+********:*******#**+*************++***+*****+***********++**+***+**+:+::+:*
+:++++++++::++::+::++*+:++++++::+***++++++**+++++++++*++++::++++::++::++************+**+**********++**:**********+******++**+***++****+++++++****#***###*:*****
$....................................................................................................                                                     :.    
....................................................................................................                                                     :.    
....................................................................................................................                                     :,.   
....................................................................................................................                                     ,:    
....................................................................................................................................                     .+    
..............................................................................................................................................          ..*.   
..........................................................................................................................................................*... 
........................................................................................................................................................ .*....
.............................................................................. .............,,,,,,::::::::::.. .................  .  ...   ............. .+,...
..............................................................................::++++************++++**+++++++  ,*****,.............,::,,,: ...,...........+,...
..........................................................................,:::,,,,,:++******+++:,,,,,,,,:****, +**,,,*:.......  .  ,:::::, ... .....,,::+++***+
........................................................................:::,,,,,,,:*::++****++++::,,,,,,:***+,,****,,:*:....:::::::::+::::,,::::::::::::::++:::
.......................................,..........................,::.::,,,,,,,,,,::,,:::+++**++++**+***+++*+:::*######*,.....,:::::,+*+,::::::::::::::::::+:::
.......................................,.............,,...........**,+++::++::::,,,,::::++::++:::::::::::::+,,**#*:,,..............,,:+:,,:,::::::::::::+++++++
.......................................,............,,,.........,,,,,,,,,,,,,,,,########*:,,,,,,..,..       ..,,...................,,:*,,,::+++++++++++++++++++
...............................................*######+*,,,,,,,,,,,,,,,,,,,,,,,,#**+++++##*:,,,..         ..............,+:,....,:.,:::::,,::++++++++++++++++++
........................................,......*+++++****+::::++::::::++++++++:+#*+::::+*##+,,,,,,,,,,,,####,,,,,....,::,,,,,,,++:,,::*::,,::::::::::::::::::::
......................................+*++++*++*******########################**########******#*++++::*#***#*+::,,,:,:,,,,,,,,**+*+:,:+::,,:,,,,,,,,,,,,,,,,,,,
:::,........................,.+****+:,:*++*****###################################***####*######++++++*#****+**+,,,:,,,,,,,,,,****+:::*+:,,,.,,,,,,,,,,,,,,,,,,
**+,,,::::,:++:::+***:,,++++:***+++++++:::::::*######+############################*############**+:+:++**###**+*,,,,,,,,:::,,,**+++:+*+**::,,.,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::*##################################**############*********#*#*+++*:::::::,:...,**:**,::::,,,,,.,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::+*####*##########################################*****+**#**+##*++*, ...........:**+:,:,::,,,,:.,,,,,,,,,,,,,,,,,
++:::::::::::::::::::::::::::::::::::::::::::::**####*##############################*##########*****#***+***#++*,.........,+*****+:,::::,,,,,,,:,,,,,,,,,,,,,,,
::::::++++++::::::::::::::::::::::::::::::::::::*#####*+:**#**++++++++************############**####+++*#*#*++**.,:*########**++:::,::::::::,,,,,,,,,,,,,,,,,,,
++++++++++::::::++++:::::::::::::::::::::::::::::+*###################################################+:::::######*#**:::::::::::::,::::::::,:,,,,::::,,::::,,:
++++++++++++++++++++::::::::::::::::++++**********##########################################################**+:::::::::::::::::::,:++++:::::::+::++++::::::::,
++++::++++++::::::::::::++++:+++************************************############################******#***++::::::::::::::::::,,.,+********+*+,..,:+*++**++++++
:::::::::::::::::::::::++*****************************************************************++++++:+++++++:::::::::::::::::::+****###########*****++**++::::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::++++++**********************++++::::::::::::::++++++++++++++++:+:++++++************+*********+++****++*******
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::++*++:::+++::::::::::::::+++:::::::::::+++************++++::::++++++:++++***+***##*******
::::::::::::::::::::::++::++++++**++::::++::::::::::::::::::::::::::::::,:::::::+++++++:::::::::::::::**************++**++++****++++++++:+++++++++++++:+****+++
::++++++++++++++++::::++++++::::::++::::::::::::::::::::::::::::,,::::,,::,,::::::::+++:::::,,::::,,::::::++::++++++*+++:+::++::++++++*****+++**++**++++++++***
++*+::+*+:::::++::,,::++*+::::::::::::::::::::::::::::::,,,,,:::::::::::::::,,,,::+++:++++:::::::::::::::::::::+***+::++++++*++***+**+:+++++**+*++++***********
++***+++++++++::+:::::::::::::::++::::::::++++::::::::::::::::::::::::::::::::++*++****+++++::::++::++:::+:++****++****++++++*+*****###*****+:++****++*+++++++*
:::::++*++:::++++:++++++::::::::++::::::++::++::::::::::++::++::++::::+++***+*++:**+**+:::+++++::::::+********+***************+****************************++*+
::::::++++::::++++:+++++++++++++::::::+++::+++++++++,::++++++*******++++++++**++::::::::::::++++++*+++++**++**+*******##**#*##**###*#**#**+*******##**++**+++*+
::::::++++::::+++:::::++++++:+*+++:+++*+::::+**+******#*#*+*+++*#***+*++****+++++++++::::::++****++*++*+**+******#*****#***++*+********+******#***********++++*
++:::++**+++:+++++:::++++++++*+++++++++:::************++*+++++++++***+*******++++*++++*************#**************************:++*+***************#*++*******+*
++**++**++++++++++::++++*++:++*+::++++++++++**++++**++++++:+++::+++++*++:::+::++***************+********#******++*********+*********************+***+*********#
$....................................................................................................................                                           
....................................................................................................................                                           
............................................................................................................................                                   
................................................................................................................................                               
......................................................................................................................................................    .... 
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..............................................................................,,++****************+++++, .,,:,,..............................  . .   ..........
......................................................................,+::++++++**********++++++::+*+++  ::,::+*.......................... .,,  .,:............
..................................................................,.:::,,,,,,:********++*+::,,,,:::***+..****,,:*,..............            ,+++*+:,++++++++++:
,,...............................................................:::,,,,,,,,::,:***+:+**++++,,:::::***:,:****+**,*......::::::::::::::::::::::::::,::::::::::::
................................................,..........::*+:,,,,,,::,,,:,,,:********++++*+++****+*::.+########*:.........,:::::::::::::::,+*::,::::::::::::
................................................,..........:*:*+::::,,:,,,:::::::::::::::::::::::::::,.,**:,...................,:::::::::::::,,:::,:::+++++++++
................................................,.......,,,,,,,,,,,,,,,#########*,,,,,,,,,,.          ..,,......................:::::::::::::,:*+,,:::+++++++++
......................................*#####***:,,,,,,,,,,,,::,,,,,,,,,##*+++++**#*:::,...         ................,:,,....:+,.,::::::::::,,,,::::,:,:+++++++++
......................................*+*+******+:::::++::::::::+++++++#*+:::::*##*:,,,,,,,,,,,,#**##+,,,,,,...,::,,,,,,,,*+,:,,::::::::::,,:::+::::,,:::::::::
....................................,,****+:*###################################*+***##*++::::+*+++*#*+::,,,,::,,,,,,,,,,*****,,::::::::,,,,:::**:::,,,,,,,,,,,
.......,::+:..........................*#########**##****##****############**#########*#*+++++++*##******::,,,:,,,,,,,,,,,*****+:,,,,,,,,,,,,,,:+,:,::,.,,,,,,,,
,,,:::::+*++::::++::++++:++*+:,,,:::++#######+############################*##########***++++++***#**#**+*,,,..,,,,::::,,,**+**+,,,,,,,,,,,,,,:+++*+:::,,,,,,,,,
::::::::::::::::::::::::::::::::::::::*#####*#############################**###########*****+*#***#*##++**::::::,,,,....,#***++:,,,,,,,,,,,,,::::::::,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::+#####*##########################################*****##*****:**+++*:,.............,***+,,,,,,,,,,,,,,,,,:::,,,,,.,,,,,,,
:::::::::::::::::::::::::::::::::::::::+#####:*#############################**########*******##+++*+##++*:..........,:+**##**+::::::::::,,,,,,::::,,,,:,,,,,,,,
++++::++++++++++++::::::::::::::::::::+:*#####*:*:**+++++++++***######**+**###########**####*:***####+***..,:*########****++::::::::::::::,,,,:::::::,,,,,,,,,,
++++++++++++++++++++::::++++++::++++++++++*###################################################*::::::*#########**+::::::::::::::::::::::::::,:::::::::::::,,:::
++++++++++++++++++++++++++::++++++++++*******#########################################################**+::::::::::::::::::::::::::::::::::::+++++++:::::+:::::
++++++++++::::+++++++++*****************#########################################################***::::::::::::::::::::::::::::::::::***************+,::+**##*
::::::::::::++++********************************************************************++++++++++++::::::::::::::::::::::::::::::::::::**#*****#*********+++++*+++
::::::++******++::::::::::::++**************************************++:::::++++:::::::::++::::::::::::::::++::::++::+++++:++++++************+++*********+++++**
::::::::::::::::::::::::::::::::::::::++++++**++++++:::::::::::::::::::::::::::::+**++++++::::::::::::::++::::::::::++++***********+++++++++++++++++++++++*****
::++::::::::::::::::::::::::::::++++++++++::+::,::++::::::::::::::::::::::::::::::::::::::++++++:::::::::::::+++**++********++++*+++++++**++++++++:+++******+++
::::::::::::++++++++++++:++:::::++++::::::::::::::::::::::::::::::::+:::::::::,,::::::::++++:++++:::::::::::::::::::::::::::++*+++++:::::+++++++++++++:++++++++
::+++++:++++++::++++::::::::::::::::++++::::::::++::::::::::::::::::+:::::::::::::::::::::::::*++++++:::+::+::::::::++::++++::+++++****++***++*****:+++++***++*
::::++++++:::+**+++++++++:+::::+++++::::::::::::::++++++::::::::::::::::::::::::::::::+*****++**++::+++:::::::++::::+******+++++****++****+*********+***+++*++*
:::::::::::::::::+**+:::+++::++:++++::::++::::::++++::::::::::::::+++++++*++:+++++++**++++++++::::++++++++:::+**##**********+**********************************
*+++:::::::::::::+++::::::+:++++++:::+++++:::::::::::+++*++++++*+++++++*****#*++++++++++++::::::::::++++++++++++++*+++**************####**####***#*****#####***
++++++::::::::::+**++++++++:::::::::::++++++*+++++::::+++*****#********+*+************+++++++++++:::::**#***+*+++*********#***+*+*#***+*****++*************#***
+++:+++*++++:::+++++:::+++++::::+++++++*++++++++++++::*#**+++***++++++++::++++++****++++++++++********++++****##********##**************+*+++*******++***+++***
++++++::+++++++++**+++::++++++::++:++::++:::++++:::+:::+++++::++++::::+++++++++**+++++++++++**#***##************************+********************+********++***
$................................................................................................................................                               
..................................................................................................................................                             
................................................................................................................................................               
....................................................................................................................................................           
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
........................................................................................................................................................       
.................................................................. ..,+++***********************+*, :****+:......................................... ...,:,,:, 
................................................................,+::::,,:,+*********+:::,,,,,,***:  +*:,,,+*,....................................... .., .,,:+.
....,,,,,,..................................................,,::::,,,,,,:+********++*++:,,,,,:***: ,*****,,:*:..................          ....,,::+++++::+::+:,
....,,,,,,.................................................:::,,,,,,,,::,+*+:+,+****+++++++++:+**:,+***####+**,,.....::::::::::::::::::::::::::::::::::::::::,:
,,....................................................+*#::,,,,,,,,,,,,:****##******++**++******::+**######*#**:,,.. ......,::::::::::::::::::::::::::::::*+:,:
......................................................*++::::::,,,,,,,::::::++::::::::::::+:::,.  ,+:.  ....................,:::::::::::::::+++++++++++:::+::,:
................................................,,,,,,,,,,,,,,,#########*+,,,,,,,,,,..          ...,..............,.......,..:::++++::::::::++++++++::::::**:,:
..............................*######+*:,,,,,,,,,,::::,,,,,,,,,##*+++++*###+:::,....         .................,,,......,::...:::::::::::::::::+++++:::,,::++:,,
..............................*+*+++*****:::::::::::::::::+++++#**::::,**##+,,,,,,,,,,,,.****##+,,,,,...,.::,,.,,,,,,,**:*+,,:::::::::::::::::::::::,,,,:::+:,:
..............................****+:*###################################*+++**#*+++++:++#*::**#*+:::,,,,::,,,,,,,,,,:+*****:,:::::::::::::::::::::,,,,,,,:**+,:
..................:+++,.....,.,###:#####**************##**########***####*###*##++++++++******#+#*::,,,,:,,,,,,,,,,,,******+:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,:+:::+*++::::+++:*########+##########################**##########*#*+::++*++***##*+*+*:,,,,,,,,::::::,,,******+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++**+:
::::::::::::::::::::::::::::::+######*#############################*##*########********#***#**##++*+::::,,::,,,:....,***+:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,
:::::::::::::::::::::::::::::::*#####*##############################*#*#########******##*#***+*#:++*,,...,............****+:,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::,
::::::::::::::::::::::::::::::::*#####*+####################**########*########******+#*#:**##**:+*:............,::**#****::::::::::::::::,,,,,,,,,,,::,,,:::::
++++::::::::::::++++++::::::::::+*#####**+*+**##****############**+*##########****###*:**+##+#*++*#....,+*##########****+:::::::::::::::::::,,,,,,,,:::,:::::::
++++++++++++++++++++++++++++++++++,####################################################*::++,::+######*####**+:::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++:::::::++++****############################################################**++:::::::::::::::::::::::::::::::::::::::::::::::::::++++++
++++++++++++++++******************##########################################################*+:::::::::::::::::::::::::::::::::::::::::::::::::::*########*****
++++++++****************************################**********************####****++++++:::+::::::::::++::::::::::::::::::::::::::::::::::::::++*##************
****************************************************************++++::::::::++:::::::::::+:::::+++:::::::::::::::::::+::::++::::::++++++************++++++**##*
:::::::::::::::::::::::::::::++++***********++++++::::::::++++::::::::::++:::::::::::::::::::+*+++++++::::::::::::::::::::++::++**************++::::+++++++++++
::::::::::::::::::::::::::::::::++:::::::::+++++++::::::+:,,++::::::::::::::::::::::::::::::::::::::++++++++::::::::::::++:+++++*******++++++++++++***+++++++++
::::::::::::::::::::::::++++::++:::::+:::::+++++::::::::::::::::::::::::::::::::::::::::::,,,:::::::+++++++:::::::::::::,,::::::::::::::+++++++:::+++++++++++++
::::::::::++::::++++::+:++::::::::::::::::::,,::::::::::::++::::++::::::::::::,:::::::::::::::::::::::::::++++++::::+:::::::++++++++++::++++++*******#*#******+
:::::::::,++::::::++:+++:+*+++++::::+::::+****+::::::::::::::+::::::::::::::::::::::::::+:::++:::+****++++++++::++::::::+++:::++******++++++****+*****+********
++++::::::::::::::::::::++++++*+::::++:::+*++:++::::::++::::::++::::::::::+++++++++***+++++++++**+++++++::::++++++++:+:++***#*****************##***************
::::::::::::++++::::::::::::++*+::::::::::::**++++++++::::::++::::++++++++**++**++********++++++++++++::::::::++**++++++**+++++++*****#**********###*********#*
+:::::::::::::++::::::+:++++**++::++++::::+::::::++:++++++++::++:+********+*********:+***********+++++:::+++::+::+*****+**+***********#*******#********+*******
++***+++++:::+++:::+++++++++++++:::+++++:::++:::++:++:+++++++**+:+****+++*+++++++++:::+++++++**+++++++++********++::+****##****************************+*******
+++:::::++++++++++++++++++++++**+:::++++::::++++:::+++::::++:::::+++++++::::::::++++++++++*++++*+++++++***********************###****************************++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
,,,,,,.........................................................................................................................................................
,,,,,,,,,,.....................................................................................................................................................
,,,,,,,,.......................................................................................................................................................
..,,...........................................................................................................................................................
,,,,,,,,.................................................., ..,:++************************:..*******: .........................................................
,,,,,,,,,,...............................................+::+:::::+:***********++::::::**:. ***++:,,+*.........................................................
,,,,,,,,,,,,,,,,........,,..........................,.+:::,,,,,,,,,**************+:::,:*++.+#******,,:*:,.......................................            ..,
,,,,,,,,,,,,,,..........,,.........................+::,,,,,,,,:::,**+:*******+++***++::*:,:***#####:,,#*:,,.......................,:::++:::::::::::::::::::::::
....,,,,,,..................................,.,:*:,,,,,,,,,,,,,,:+*********************++:**########*++#*:,,,,. ..................,::::::::::::::::::::::::::::
,,...........................................,*,+**+**++:::::::::::+++++++::::::::::::,.,:**+,..  .................................,::::::::::::::::::::::::::+
..,,..................................,,,,,,,,,,*#######*:.,,,,,,,,,,,::::...            .,,............ ..............,...........,::::::::::::::::::++++++:::
................,:*####*:,..,,,,,,,,,,,,,,,,,,::+##***++**#**::::::,,...  .       ........,,............,++.,.,....::*.,...........,::::::::::::::::::++++++:::
................#***++*****+::::::::::::::::::::*#*+:::++*##*#+:,,............*#####+...,,,,....,..,:,:,,,,,,,..,:*+:,+:,,:........,::::::++++::::::+++++::::::
................+*::::+*****++++++++++++++******##****++*##*++::::::::::::,:*###*****#::,,,,,,..+.+:+,.,,,,,,,,,,#******,,,,::::::::::::::::::++::++:::::::::::
................+*****###***************++++:::+*####**###########*+++++::+#:++++**:*#*+:::,,,.,+,,,,,,,,,,,,,,,:#******++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,.......:+::+*##################################***####*##**##++++++++*#***##**++*#:::,,,,,,,,,.,,,,,,,,,,,:#******++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++::::++++++++**+*#########+*########################**##########***+++++**#+*****#*#+*+*:,,,,::::::::::,:+:::,,+*#*,#**+:::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,
::::::::::::::::::*########*##########################**##*########*******###+:+***##*::#*::::,,,,,,....,,.......*#**+#*::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:
:::::::::::::::::::*#######*##############################*#######*******+###+#++#:*##::*+......................,,##*:.+:::::::::::::::::::::::::::::::::::::::
++++++++++++::::+++:*######*+###########################***#######********+#**+*:####+*:#,...........,::**###########*+::::::::::::::::::::::::::::::::::::::::
++++++++++++:::::::::*#######*+++++++++++***######**+*#####################:***##*#*+*+#*...,:#############***++:::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++*####################################################,::::+:+#############**++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++***##*#############################################################**+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:+********************###########################################################**+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****************************************##############**##**********++++::::::::::::::::::::++::::::::++::::::::::++:::::+++::::::::::::::::++::++++++++::+++++
****************************************************++++++::::::::::::::::::::::::::++++::::::::::++:::::::::::::::::::+*+++::++::::::::::::::++::::::::+++++**
++++++++++:+++******************++++++++++++:::::::::::::::::::::::::+++++++::::::+:,,++::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::+***********
::::++::::::::::::::++++::::::::::::::::::::::::++++++:::::::::::::::+++++++::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++:::::::::::::,:::::::::+
::::::::::::::::::::::++:::::::::::::++:::::++++++:::::::::::::::::::::+::::::++::::++::::++::::::::::::::::::::::::::::::::::,,::::++++++::::+:::::::::++:::::
++++++++++++++++::::::++::++::::::::::::::::::::::++:+++::::::::::::+***+::::::::::::::+++::::::::::::::::::::::::+:::::++++******++***++++++:::::::+++++++++**
++++::::++++::::::::::::::::::::::::::::::::::::::::::*++++:::::::::***++++:::::::::::::++::::::::::++++++++++***++++++++***+++++++++:::++++++++::::++**##*****
::::::::::::::::****::::::::::::::::::,:::++::::::::::::++::::::::::::++**++:::+:::::::+++++++++++:+***+++**+*****#*++++++++++*++:::::::::+++++++++++++++**+:**
++::::::::::::::::::::++:+***+++::::::::++::++++++++++:+++++:::::::::::::::+++++++::++::+:::++****************++************+++++++++:::::::+*********+*+******
++::::::::::::++++++++::::++++++*+++++::::++::+++++***++++:::::::+::::++:::+:::+:+++++++++::+***++++++++++++++::+++++++***++++++++*++*********++***************
++++********+++++++++***++++++++:::::+++++::++++::::::++++++::++++++:::+++++::+*++::::++::::++++++++::::::::+++++++++***++++++++*************************##*+++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..........,,,,,,,,,,...........................................................................................................................................
....,,,,,,,,,,,,,,.............................................................................................................................................
,,,,,,,,,,,,...................................................................................................................................................
,,,,,,,,,,,,,,,,,,,,............................................::********************+*+,.,+******: ..........................................................
,,,,,,,,,,,,,,,,,,,,....................................:+::++++++++**************+++:**: :***+,,,::*..........................................................
,,,,,,,,,,,,,,,,,,,,,,,,........,,..................,+::::,,,,::,,+********+*****+::,,**,,*****##*,,:#:,.......................................................
,,,,,,,,,,,,,,,,,,,,,,,,........,,...............,+:+:,,,,,,::::,:***********:*****++*:+,*****##*:*,::#+,,.......................................,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,...........................:::,,,,,,,,:,:,:,:+*******************:::::#########*+*#*+,,,,,,,  ................................,::::::::::::
..,,,,,,....................................:+:::,::,,:::::::::+******++++++::+++***:+:*###*:,,,,,......  ..  . ........,.........................,::::::::::::
,,,,..,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,...          .::,     .............. .........,.........................,::::::::::::
,,,,,,.........,:::,........,,,,,,,,,,,,,,:+###########+:::::::::,,.....            ....,,..............+*:,,,..... +*.,,..........................::::::::::::
,,,,.......,#####***+*,,,,:::::::::::::::::+##++:+:+#####*+::,.......... ..,**#*,.....,,,,.........,:,..:..:......*+:+:+,,.,..................,....,::::+++++++
,,,,........**++++******::::::+++++++++++++*##*++++:###*+:,,,,,,,,,,,,,,,##*****##*,,,,,,,.....::,+:+,.,,,,,,,,,,***++**,,::,,,,::,,,,,,,,,,::::::::::+++++++++
,,,,,,....,.*****:##*##################################*######++:::::::+##:++::****#::::,,,,,,*,+,.:,,,,,,,,,,,,*##******+++::::::::,,,:::::::::::,,,,,,,,::::,
,,::+++:,,...:#####+,#****************##*########**####*######*+++++::+:+*##***+*+**+::::,,,,.+,.,,,,,,,...:,,,,:##*###**:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++++++++++++####################################*##########***+::+:++:***+***###++:#*,.,.....,,,,:::,,,::+:,,,:*##***++*+,,:::::::::::::::::::::::::::::::::::
::::::::::::::##########*########################**###*######********+*#******+##*+*:#,,,:::::::,,,,,,,,,,......:####,****::::::::::::::::::,,,,,,,,,,,,:::::::
::::::::::::::+###################################**##########*******+###+##+***##*+:*+:,,,,.....................:##***++::::::::::::::::::::::::::::::::::::::
:::::::::::::::*########+*###########*#******########**#######********+###::#*:##**+:#,.................,,,::+######****:::::::::::::::::::::::::::::::::::::::
+++++++++++++++++*#######*++######################**##########******##++*#:**+###*:+##........,,:*##############****++:::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++***#########***#######****############################,+*##*#+:*+##*+:*#############****++:::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++*###################################################+,,++############***+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++**********################################################################**++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******************########################################################****::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:+::::::::::::::::::::+
********************************************************++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:::::::::::::::
****************************************++++::::++++::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::,:::++++++++++++:::::::::
++************++++++++::::::::++::::::::::::::::::::::::::::::::::++++:::::::::::::::+++++::::::::::::::::::::::::::::::::::::,,:::::::::::::::+++++++++:::::::
++++++::::::::::++::::::::::::++++::::++:::::::::::::++::::::+++++::::::::::::::::::::,,::::++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::::
::::::::::::::::++++++++:::::::::::::::::++:::::::::::+::::::+::++++++++++::::::::::+***+:::::::::::::::++++++::::::::::::::::::::::::::::::::::+:+****+++++:::
++++++++++::::::::++::::::+++::::::::::::::::::::::::::::::::::::::::::++++::::::::::+++++::::::::::::++++::::::::::::::++++++::::++++++****++********+++++++++
::::::++::::::::::::::::::::::::++**++::::::::::::::::,:::++::::::::::::++::::::+::::+++++++++++:::::::::::++++++++:::++++++********++**++++**++++::::::::+++++
::::::::::::++::++:::::::+++::::::::::::+++***++::::::::++::+++::+::++++++++::::::::::::::::+::+++*++++++:::++++**********+++++*#*****++++****++++::::++::++***
::::::::++++:::::++:::::::::++++++++++::::::++++**++++::::++::+++++++++++++:::::++::::++::++++*+:+++++++:::+**********++++++++++++++**********++:+++++++++++***
**+::+::::++::++++++++++*****+++:::+++***+++++++:::::+++::::++++++++:+++++++::::++++:::++++::::+::::++::::++++++++++++++++::++++++++:++++++++++++++************
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.............................,,,...............................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,.,........,,,,,,::+++::,,:,,,,,,,..,...........................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................,:+++++++********************+:,:***#*****+  .........................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,::::::::::::+************+::::,*+ ,*#****#*,,+*,,,,......................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................::::,,,,,,::::,:*********:******+:**:,##****##**,,+*,,,......................................................
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,::::,,,,,,,,,,,::,:****************#**+::########**,,:#*+,,,....................................................
:,,,,,,,...................................,:+,:,,,,,,:,,,,:,,++***************+++**++**###########**+#*::,,.... .............,................................
:,,,,,,,,,..............................,.+:***+++:::::::::::+++::++++++++++++::,,,,,:**:.      ..  ....  ..  ..,.....,..,....,................................
:,,,,,,,,,,,......................,,,,######*+:,,,,,,,,,,,,,,,,,::,,.....            ,,,,   ....  ..........,. .........,,...,,,...............................
::,,..,..:####*+....,,,,,,,,,,,,,,,,::+###*****###*+::::::::,,......              ....,,..............,:*+.,.,....,:+:*,.......................................
::,,..,,#*********,+::::::::::::::::::*##*:::++*##****::,,,,...........*#####*......,,,...........::,.,:..:,.....,*++:+++...,,,,,,,,,,,,,,,,....,,,,,,,........
::,,,,..**+:+*******::++++++++++++++++*##*++*++###*+::::::::::,,,,,,:###*****###:,,,,,.....,::.+::,,,,,,,,,,,,,,,*****#**,,,,:::+++++++:,,,:++:,,,::::::::::,,:
,:,.,,,.****+*######################***##################*::::::::+*#*:+***++***#+::::,,....*,,.,:,,.,,,,,,,,,,,*#**#****++++::::::::::::::::::::::::::::::::::
:::,,::,:++#####:############################*#######**###::++++::::++#*##**+*+:#*::::,,,,..:,,,,,,,,,...,:,,,,,*##***#***++:,,,,,,,,,,,,,::,,:::::::::::::::::
*********###################################**########*****+::+:++:*++***#*#*#+*:#:.:.,,....,,,,,,::,,,,::::,,,,*#****++*+:,,,:::::::::::::::::::::::::::::::::
::::::::::*####+#############################*####*######*****++*+:###***#*####+*:#:,,,:::::,,,,,,,,,,.., ......,###**+****:::::::::::::::::,,,,:::::::::::::::
:::::::::::*#########*#########################*##########*******++###,##+**###++:#+,,,,,,.....,.................,##**+++::::::::::::::::::::::::::::::::::::::
::++++++++:+#########*+*########*##******#########*######********#:###*++**,###+*:*,..............  ..,,.,:+*########***:::::::::::::::::::::::::::::::::::::::
+++++++++++++#########*+*####################***#########*******###:#***:+***#*+:##.........,,:+*#################***+++:::::::::::::::::::::::::::::::::::::::
++++++++++++++*+++*#################**##############################::+*####::++##*+:+################***++::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++***##################################################*::,:*###############**+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********#######################################################################*++::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::++:::::::::::::
**********############################################################******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++:::
******************************************************++++++::++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::++:::::::::::::::::::+**+++++
**********************************++++++::++++::::::::::::::::::::::::::::::::::::::::::::++::::::::::++++++::::::++::::::::::::::::::::::::::::::::::::::++:::
****++::::::::::++++++::::++::::++::::::::::::::::::::::::::::::::::::::,,++++::::::::++::::::::::::+++:::++::::::::::::++::::::::::::,:::::::::::::::,,:::::::
::::::::::::::::::::::::::::::::::::::::::+++++++++++:::::::::::::::::::::::::::::+**+::::+::::::::::+++::::::++:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::++++++++++::::::::::++::::::::::::::::::++::::::::::::::::::::::::+++++:::::::::++++::::::::::::::::++++++:::::::::::::::::::::::::::::::::
++++++++++++++++::++::::::::::::::::::::::++::++++++++++:::::::::::::::++::::::::::::::::+::::::::::+++*++::::::::::::::++++::::::::::::++++++++++++:+::++****+
+:::++++::::::::::::::::::::::::::::::::::::::::::::::++++:+::::::::::::::++:::::::::::::+++++::::::::::**+++++:++::::::++:::+++++++++**++++++********++++++++*
::::::::::::::::::::::::::,:::::+++::::::::::::::::::::::::::++*+++:::::::++:::++++:::::+**+::::::::::::::::+*++++++::++++++:+++************+++++**************
::::::::++++++::::+:::::::::::::++++++++++++:::::+++++++++++++++++++:+++::::::::+++++***++*++::::::::::++::::++++:++++++++*+,+**********+++++++++++++**********
$..............,,...............................................................................................................................................
..............,,...............................................................................................................................................
..............,,...............................................................................................................................................
..............,,...............................................................................................................................................
..............,,,..............................................................................................................................................
..............,,,..............................................................................................................................................
...............,,..............................................................................................................................................
...............,,,..................,,,,,,.....................................................................................................................
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,........................,...,,..............,  .,,,,,,...............................................................
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,+++**********************+:,***#**##**, .,.......................................................
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,...........,,*::::+++++++**************++++*+.:##***++:,,,#: ........................................................
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,..,,,,.........::,::::::,,,,:::********++*********::####***###:,.#+,,......................................................
,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:::,,,,,,::::::::***********+****++*:+**######.***,:,#*,,,,,..................................................
,,,,,,,,,,,,,,,,,,:,,,,,,,...................,+,,,,,,,,,,,,,,,,,,+*************++*+**+.*########*##****#*:,,,,,,...............................................
,,,,,,,,,,,,,,,,,,:,,,.................... +:+::,,:::::::::::+:+++**++++++++******++*####*,,,,,,,,......        ...,....,.....................,,...............
,,,,,,,,,,,,,,,,,,:,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,:+::,....           ,::.                 .. .., ,.........,...................................
,,,,,,,,.,:,..,,.,:,..,,,,,,,,,,,,:*##########*+::::::::::::,,......                .,,................ +*+:::......  :*,.,,..................,,...............
,,,,.:#####***#,,,,,,,,,,,:::::::::*##*+:+++####**:++:::,,........... ,+**: .........,,............,+,.,:.,,,,......++++:+:....:..,,..,,,,:::,,,,,,,,,,,,,,,,,.
,,,,,,**++********::::::::::::+++++*##*:::::#####*:::,,,,,,,,,,,,,.###****####,.,,,,,,.......,,+,:+,:,..,,..,,..,,,**+*##**,,,+:::::++++++::::::::++++++*+,,,:+
,,,,,.**++:*#####*****#######################*+++***##++:::::::::*###*+++*#***##:::::,......*:.+..,,.,....,,,,,,,,#********+++++,:::::++++::::++:+++++++++++:::
,,,,,,:++######+++++++++++++*****#########**####*##*###++++++++:*#:++******#:****:::::,,,,,,::,,.,,,..,,,,.,..,,,,#####*###*::++,,::,,,,,,,,:::::::::::::::::::
****+++*#######*##########################*########**##*++::::+:++##***#*###:*:**+++:,,,........,,,,,,,,,,::,,,,,,###***++**+:,,,,:::::::::::::::::::::::::::::
++:::::+######+###########################**##########***++*++**:*#*+*****##*++:#*,,,,,,,,,,,,,,,,,,,,,,,,:...  ..###**,+##**::::::::::::::::::::::::::::::::::
:::::::::*####+#############################*###*######********++##*:**+*#*###+*+*,,,,,,,,,,,,....................,#####**++:::::::::::::::::::::::::::::::::::
++++++:::+*#########*##########################**######*******##:##*+:+:**##**:*:#..............    ...... ...,,,:+*##**::*::::::::::::::::::::::::::::::::::::
+++++++++++*#########**######################**#######********##+:*#**#+++##*++:##.......... . .,,,,+*##################*+++++:::::::::::::::::::::::::::::::::
++++++++++++*#########+++++++++************###########**##########,+****#*##++,##*,....,+*##################***+++++++++++:::::::::::::::::::::::::::::::::::::
+++++++++++++++++++*################################################ .,:,::++###################**+++++:+::::::::::::::::::::::::::::::::::::::::::::::::::::::
++********###########################################################################*++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******###################################################################*++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**************##################################**####******++++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::++++:::::::
**********************************++++++++++::++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::++++++:::::::+::,:++:::::::::::::::::::
******++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::,::::::+:+::::::::::::::::::::::::::::::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::++++++::::::::::::::++++::::::++:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::++++++++++++++::::::::++++++:::::::::::::::::::::::::::::::::::::::::++++::::::::::+++*+++::::::::::::::++++++++++:::::::::
::::::::++++++++++++*****+::::::::::::::::::::::::::::::::::::::::++++**+++:::::::::::::::++:::::::::::::::++::::::::::+++*+++::::::::::::::++++::::::::::::::+
++++::::::::++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::++**+:::::::::::::++++::::::::::::+++::::::::::::+**++++++++::::++::++++++++++::+++++
++:+++++::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::+++++++:::::::::::+++++::::+**++::::::::::::::::++++++++++++++::+++++**********
**++:::::::::::::::::::::::::::+::++****++::::::++::++++++++****++++++++++++++++++++::::++++:::::::::::+**+*++++::::::::::+++::::+++::+++++++++++***********++*
$.................................,,,...........................................................................................................................
..................................,,...........................................................................................................................
..................................,,...........................................................................................................................
..................................,,...........................................................................................................................
..................................,,,..........................................................................................................................
...................................,,..........................................................................................................................
...................................,,..........................................................................................................................
...................................,,,..................,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,..............,.,.,,..,,.........,  .,,,,,,,...........................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,.......,+++********************++,:*#######**+...,...................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,..,.*:::++++++++******************+:.*###**+:,:,,*+ .....................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,+,::,,,,,::::::********++********:.######**###*,,#*.....................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,,::::::::::**********+,***+*+:##***###,*##*:,,**:,,,,...................................,,,,,.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,........,+::,,,,,,,,,,,,,,,,:*+*********++**+*+::*########:*###++*#*:,,,,,,,...... ....................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,....,.+,,,,,,,:::+*+********####*************+*#####*+::,,.,,,,,....         ..,.......................................
,,,,,,,,,,,,,,,,........,,,,......,,.,:,,,,,,,:,,,,,,,::::,,,,::::::::+:,,..  .        :::,               ....   ... .,.........,..............................
,,,,,,.,.,.,,.,,,,,,,,,,..,,,,,,,,,##########*:,::::::::::::::,,......                .,,,    .............,:,,,:,,...... ....,:...............................
,,,,,,+*####***,...,,,,,,,,,,,:::::*##*+++**##***+:::::::,,,.........  .  . .     .....,,..............,,.::.,,..,......++:::+:.......................,,,,,,,,,
,,,,,,:***********::::::::::::::::+*##::,:++#####*+:::,,,,,,,,......*#########*,,,,,,,,...........,:,:::..,.,,........,***++**++,,.,:,..........,,.,,:+++++++++
,,,,,,.*+:::**##**++++++++****########*****##**+++++::::::::::::,:##*######***###,,,,,,,......,:,+,::.,.,.......,,,,.,#****#****:::++:....,,:+++++++::::+++++++
,,:::,.**######*++++++:::::::::::+**######**#######*##*::+++:::::##+:+++++:*++#**#:::::,,.....:,.,..,,..,,..,,,,....,,##****##***++++:::::::,,:::::::::::::::::
**********######**########################**####*#***##+++::::::##:+*#*###***+*:#**+:::,,,,,..,,........,,,,,,,:,,,,,,###**+*****+++:,:::::::::::::::::::::::::
+++++++++#######+#########################**###########*++:+++++#:##**#+**####++:**,,:,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,###***+#***+:::::::::::::::::::::::::::::
::::::::+:+#####*###########################*####*#####**********:###*::+**:+**:*:*:,,,,::,,,,,,,,,,,,......,.........,##****:**+::::::::::::::::::::::::::::::
::++++++:::*####*#############################***#####*********#*,###:*#*+*+**#++,#+,,,.............        ........ ..,###*::,+:::::::::::::::::::::::::::::::
++++++++++++##########################*#########**####********###,*###+,+*:**##:*:*:. ..........      ....,,,:+**###########***+++:::::::::::::::::::::::::::::
+++++++++++++##########*##################**+*########********####,,**+*+*#*#*:+:##*. ........,:+*####################*****+++++++++++++:::::::::::::::::::::::
++++++++++++++++++++################################################..+**#**:+:*####*+*####################**+++++++::::::++++++:::::::::::::::::::::::::::::::
++++++************#####################################################*,,.:#################**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********#######################################################################****+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********############################################################*****+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
************************************************++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++:
**********************++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:+:::::::::::::::++++++::::::::::+
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::++::::::++++++::::::::::::::::::::::::::++:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::++::::::::::::::::::::::::++++++::++:::::::++++::::::::::::
::::::::::::::::::::::::::::::::++++++++++++***+:::::::::::::::::::::::::::::::::::::::+++++++++:::::::::::::::::::::::::::::::::++++::::::::+:::::::::::::::::
::::::::++++++++++::::::++::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::++++::+:::::::::::::::++::::::::::::+++:::::::::++*+++++++++++:::
:::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::+++*++:::::::::++++++:+::++++**++::::::::::::++::+++++++++
::::::::::::::::::::++++++::::::::::::::::::::::::::::::++****::::::,:::::::++++++++++::::++++++++++++++++++++::::::++:::+++++++++++++::::++:::::++++++++**++++
$............................................................................,,.................................................................................
............................................................................,,,................................................................................
.............................................................................,,................................................................................
..............................................................................,................................................................................
,,............................................................................,................................................................................
,,,,,,,,......................................................................,,...............................................................................
,,,,,,,,......................................................................,,.............................,,,...............................................
,,,,,,,,......................................................................,,....................,,,,....,,,,...............................................
,,,,,,,,,,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,.....,,,.,,..,,...............................................................
,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,:+***********+++:**+::,::+*****+++:,,,,.........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++*****+***********+,*##**#**+::::*#,.,....,.....................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::,,,,,,:,++++**************:.#######**####,:+*, ,......,,...,.............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.+::::,,:::::::::::+*********+,:***:*####****#####**,:*#:..,,,.....................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..+:::,,,,,,,,,,,,:::::***************,*:########++*####,,,#*+:,,,,.,,,,..,,...........................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,+:,,,,,,,,,++**#**+::::***************+##########*+:,,+*+::,,,.,,....     ....... ......................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................:*+*:::::::,::::::::::::::++:::::,,,,... .,,::                            ..,.. ...........................
,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,..,,########*:,,,,,,,,,,,,,,:::::::,,,.....                 ,,,.                ....,, ..,,. .,..... ...,:,..................
,,,,,,,,,,,,,+##**+.,,,,,,,,,,,,,,,,,,####**++###**+:::::::::::,,,........                   .....  ...............::+:,.,..,.......+::+*,.,.....,.............
,,,,,,,,,,,,#*********,,::::::::::::::*##+:::+*#######+:::,,,,,,.........,########*..........................: ::..,:...+.......,,***+,:*+*,....,+..........,,.
,,,,,,,,,,,,*+::+*******::++::::::++++*##*++++*#***++:::::,,::,,,,,,,,:###********####,,,,,,,,.......,+:.+.+,:,,..,,,...........,****###****,..,,:,...,,,,::::,
,,,,,,,,,,,,:****#######*############**#######*##########*++:::::::::###*:+*****:,#**##::::::,........+. ,,.:,...........,,,..,,*##***#####**+++++:::::::::::::
::,,::::::::::+:*#########**##################**####*#*###::++::::::##+::**####*++*:+**#::::::........+,.,..,,,,,,.......,....,.*##*##**#****+:++:,,:::::::::::
++++++++++++++*########*######################**######**##++::::++++#::#*+*+***#*##:*:#**,    ............,,,,,,,,,,,,,::,,,,,,,*##**#*******+:,.,:::::::::::::
++:::::::::::::+#######+#######################*##########********+##,####:**#*+####:*:**,,,..,,,,,,,,,,,,,,,,,,,,,,,,:.    ....,##****,.*****:::::::::::::::::
:::::::::::::::::*#####+########################**########******+*+**,+***,#*++**#**++:**,,,,,,,,,,,..............  ..      ......********++:::::::::::::::::::
++++++:::::::::::+*###################*****#########**###*********###.+***::::#*+###++,#*...............                ....,,,::+###**+::*+:+:::::::::::::::::
+++++++++++++++++++*#############################***######********####.+##**+:*:#**#:+*#*:      ..  ..   ....,::+*######################*+++++++++::+++++++++++
++++++++++++++++++:+***++++##*****************#########################.,,****##**,+,*###*......,:+*######################****+++++++++++++++++++++++++++++++++
++++++++++++++***************############################################*...,:::::######################*****++++:::::::::::::::::::::::::::::::::::::::::::::
++**************############################################################################****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**************##################################################################**++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******************################**########**********************++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********************************++++::::++++++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++++++++++++++::++::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::+
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::++::::::::::::::++++:::::::::
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++**++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::
:::::::::::::::::::::::::::::::::::+++++++++++::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::++++++:::::::::::::
::::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::+*****+:::::::::::::::::::::::::::::::::::::::::+++::::::+:::::::::::::::::::::::::+**++::::
::::::::++::::::::+:::::::::::::::::++++++++++++++++++++::::::::::::::::,,::::::::::::::::::::::::,,::::::::++++++::++++::++++++++++++::::++**+++++++++++++++++
$..................................................................................................,,...........................................................
..................................................................................................,,...........................................................
..................................................................................................,,...........................................................
..................................................................................................,,,..........................................................
...................................................................................................,,..........................................................
................,,,,,,,,,,.........................................................................,,,..............................,,,,.......................
..............,,,,,,,,,,,,,,.......................................................................,,,..............................,,,,.......................
,,,,..,,,,,,..,,,,,,,,,,,,.........................................................................,,,................,,,,,,,,.................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,,,,,,,,,,,,,..,.....,,,,.......   ..,,,,,,,,,,,,,,,,...................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,..,:+****************+***+::**######****,:..,,.,,,...............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++***************+,###***#++:::::**:,,,....,,,,,,,,,,,,,................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::,,::::::++++******++******,:########**####,,**. ,.......,,,,,,,,,,,,,,............,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+::::,,,:::::::::::***********+**+.**##******######+::**,..,,,.......,,,,,,..............,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::,,,,,,,,,,,,,,:::::+******+*******+++########**+####*:,,#*::,,.,.,,,,.,,,,.....................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,, ::,,,,,,,,:***#***+:::::+************+*########*****:,,++::,,,..,....      .,......  ...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,....,,,,..,+*+::::::,:::::,:::::::++:::::,,,,......,::,,                              ,..............,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:########:::,,,,,,,,,::::::::++::,,,,....                  ,,,                 .....,, ..,,.  .....  ....::.............
,,,,,,,,,,,,,,:,**#**:.,,,,,,,,,,,,,,,,,####****###**:::::::::::::,,,,........                  ....      ..............:++:,,...........++::** .,.............
,,,,,,,,,,,,,,,#*********,,:::::::::::::###+::::*######*++:::,,,,,.........,+#######*:. .........................: ,,...+,...:.........+**++:+*+*,....,::......
,,,,,,,,,,,,,,,**+++******+:::++++::++:+##**++++##*#*++:::,,,,,,,,,,,,,,,*###*******####+.,,..,,,........,::.* +,+ +,.,,,,..........,.****+####*++,,,,,::,,,...
,,,:++:,,,,,,,,:**+*##*#########################**#########+:::::::::::*#*#+:++**::*#***##::,,,,,,.......+:.,:...,................,,.*##**#*#*##***+++++++:::::
:::+++::::::++++++*+###**#******################**####*#*##*+::+:::::+*#:::*#*#*##*+*:***##:::::,,.......,:..................,.......:###*#####****+:+++:::::::
++++++++++++++++++##############################**#####***##+++::::+++#::*#***+*####*:*:#*#*+:,, .,,..............,,,,,,,,,,,:,,,,,,,+##****#*++***++:,,,::::::
++++++++++++:::::::*######:+#####################*#########****++*++*#:,****:*##*+##**:+,#**..,...,,,,,,,,,,,,,,,,,,,,,,,,,:,...     .##****. ******:::::::::::
::::::::::::::::::::+#####:+######################**########******+**#,:###::*#*+*:####:+***,,,,,,,,,,,,....,,..............        ..+****##*,*++:::::::::::::
::::::++:::::::::::::*#####+##########*#****###########*###*********##,:##*:,,+:+*:****:+***..  ................                 ....,,**##*+:,:++:::::::::::::
++++++++++++++++++++++*#####+#######################***####*********###.:*#*+#,+::*#**:+:#**.                     ...,,:+**###*#############****++++:::::::::::
+++++++++++++++++++++++*##***+*#+*+++++***********#########***##########..:**+*+**##*:+:###**.    ....,:+**#######################******+++++++++++++++++++++++
++++++++++++++++++++*************#########################################,.,,::++,+:+############################****++++++++++::::::::++++++::::::++::::::++:
++++++++****************##########################################################################****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
********************################################################################****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********************##################################################******+++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
************************************++++**++::::::++++++::::::::::++++++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****++++++++++++++++++::::::++::++++++::::::++::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++:::::::::::::::::
::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++::+++:::::::::::::::::::::::::::::::::++:::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++***+++::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::++++++++++++++++++::::::::::::::::::::::::::::::++::::::::::::::::::::++****++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++++::::::::::::++++:::::::::::::+++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,:::++***+::::::::::::::++++++::::+
$........................................................................................................................,,.....................................
........................................................................................................................,,.....................................
........................................................................................................................,,.....................................
.........................................................................................................................,,....................................
,,,,.....................................................................................................................,,,...................................
,,,,,,,,,,,,.............................................................................................................,,,............................,,,,,,,
,,,,,,,,,,,,............................,,,,,,...........................................................................,,,........................,,,,,,,,,,,
,,,,,,,,,,,,.............................................................................................................,,,................,,,,,,,,,,.........
,,,,,,,,,,,,,,,,..........................,,,,,,..................................................,,....., ..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,.,,..,,++********++:+***+::::::++++::+:+:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++*****************+:*###****#****+*#+,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,:::::,,::++++**************,+########*+####::+#:.,,....,.,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:::::::::::**********+++** **#######**######,+**: ,..:,......,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,::::::::*************++,+#######+########:,:#*:,,,,,..,.,,,,,,,,.............,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,:,:,,::::::::************:############*+,,,+##*******:,......    ,..,,.......,....,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,...:+++++++:::+++++++::::::::::::::+++++++**##*.  ....                        ..,...  ..............,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,:,,,,:++::,,,,,,....             ,,,.                       . ..,.:...  ..  ......,:,......
,,,,,,,,,,,,,,,,,,,.,::.,,,,,,,,,,,,,,,,,,#########**+:::::::::::::::::,,,,,....                     ...          ...........*#*+,:,,,  ,....  ,*#*,..:,.......
,,,,,,,,,,,,,,,,,,####**+**,,,,,,,,,::::::###+::++#####**:+++:::,,,,,,.........,,+###+,           ..    ............ ..::,..,:...,:,,........*+++++++#......,::
,,,,,,,,,,,,,,,,,,+*++*******+::::::::+++:##*+::,:#####*+:::,,,,,,,,,,....,.*###****######:.....................,:.+.: +,.....,,...........+***+*###*+*,...,:::
,,,,,,,,,,,,,,,,,,,*+++#####**#####################***++:+**#:::::::,,,,:,#####*++**###**###+,,,,,,,.........*+,+: ,...:................,,*#**+#####****+++++++
::::::::,:::::::::++***###:+++++++++++++**########**###*#####+:::::::::::##:++:++++++*:+#**##*:::::,........,,,..:,.............,.,......,+#***#****#***++++++:
+++++++++++++++++++++#*###########################**####*+**##++++++::::#:++*#**###*#*+++:#*##::::::..........................,,,,,,....,.*##***+:**#***+++++:,
++++++++++++++++++++++#############################*######**##+*+++++++*:+##**+#+****###:*:#**:.,,............,,,,,,,,,,,,,,,,,,::,,,,,,,,**##**++:*+****+,,:::
::::::::::::::::::::::::#####*::####################**####*##*********+*.:#***::::+*:+***:+:***.,,,,,,,,,,,,,,,,....,,..,,.................*******:***+*++:::::
::::::::::::::::::::::::*#####++########################**###********+*#,+###+,*##:*::***:*:**#,,,,,,,....  ............                   .##*****+++++:::::::
::++++++++++++++++++++++:*#####**########################*####********##,,####:,+**+:*##*:+***#       ..                    ...,,,:::+*#########******++++:::::
++++++++++++++++++++++++++######*+*+*****#########*****######*******#*###,,+*+++++++*#**:++####:            ...,,,:+*###*#######################****+++++++++++
++++++++++++++++++++++++++++++++++**#######################################..:**#####+++:#####**+.,:*########################***+++++++++++++++++++++++++++++++
++++++++++++++++++**************##############################################,,,,:,,+*##################*******++::++::::::::::::::::::::::::::::::::::::::::+
*********************#########################################################################****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********************###############################################################+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******************************************************++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******************++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++****++::++++++::+++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::::::::::::::::::::::::::++::::::::::::::++::::::++:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::::::::::::::::::::::::::::::::::::
::::::::++++++::::::::::::::::::::::::::::,,::++***++:::::::::::+++:::::::++:::::+++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::++++**++:::::
$...............................................................................................................................................,,..............
...............................................................................................................................................,,..............
................................................................................................................................................,..............
................................................................................................................................................,,.............
,,,,,,,,,,,,....................................................................................................................................,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................................,,,............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................................,,,............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.............................................................................,.,,. .......,.,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,..,,,,,,,,,,,,....................,...,:+*********::::****:::++*********+++,.,,,,,,,,,,,,,,,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++*****+************:*####**#**+++::*#+,,.,...,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,:++++********+*****,+*########++####+:+#: ,:,.,.,.,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,::::::::::::::::*********+***: ,+#####***########::*#: ..,,,,. ....,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::::,,,,,,,,::::::::*****+*******:*,*#######*#########::,#*+,:,,,,.,.,:,..,,,:.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:,,,,,,,,,,:::,::::::::+*****##****,###########**::,,.*#*****++:.......     .,.,.,.......,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+++++++:::::++++::::::::::::::+++++:*++****...      . ..  ..               ., , ,...........,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,........           ,,,.                       .  . . ,  ..............::.
,,,,,,,,,,,,,,,,,,,,,,,..:,,,,,,,,,,,,,,,,,,:#########*+:,::::::::::::::::,,,,,,....                      ..          .......... ,*#*+.:,,......... :#***:..:,.
,,,,,,,,,,,,,,,,,,,,,,####****:,,,,,,,,,,,:::##*++:+#####*+:+++++::,,,,,,,......,.,:**##+,                  ...............,:....:,...,:.,........**+:*++++*...
,,,,,,,,,,,,,,,,,,,,,,**++****++*+::::::::++:##*::,:*####**+:::,,,,,,,,,......,#####***######+......................,: +.+ :,,....,,............:#***+*:#**+*,.
,,,,,,,,,,,,,,,::,,,,,:++:###*##**##############**###*++++::++*:::::::,,,,,,+##*##****#*****###*,,,,,,,,.........++,::... .+...................:##**###*###***+
,,,,,,,,,,,,,,,:::::::+**####+::::++:::+++++*########*######*###:::::::::::*#*:++:++::+**:+#**##*:::::,,........,.,..:.................,.......:*#************+
+++++++++++++++++++++++++#*##########################*####****##:::::::::::#:+*###*#**###::::**##+::::::........,...................,,:,.......:##****.+*******
+++++++++++++++++++++++++*############################*#####**##*++++++::+#::#*+*+*+*:*#*##:+:#***...:..............,,,,,,,,,,,,,,,,,:,.,,,,,,,:##****::,+*****
::::::::::::::::::::::::::::#####*:*###################*#####*##**++*****+,,##+,+++::**:+*##+++**#..,,,,,,,,,,,,..,,..,,....,,..  ......  .... .****+**+#***++:
::::::::::::::::::::::::::::*#####+:*#####################*#*###*********#,:####,:##*:*::###:++**#,,,,,,,,,,..  ..........                      .*****++:+::*::
::::::::++++++:::::::::::::::*#####*+#######################*###*********#*,+*+**,:+**++*##*::##**.                             .....,,,::+*##########******+++
++++++++++++++++++++++++++++++######*+******##########****######*********##*.,*++*+:+::###*::*###**              ....,:+**##*#########################**+++++++
+++++++++++++++++++++++++++++++++++++++*#####################################. ,+##*##*#+:::######*:...:**#######################*****+++++++++++++++++++++++++
++++++++++++++++++++++****************##########################################:.,,::::+*##################**##******++++++:::::::::::::::::::::::::::::::::::
++************************########################################################################****++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
************************###############################################################*++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********************************************************++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::
******************++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++::::::++::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++::::::++::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++:++::::::::::::::::::::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::::::::::::::::::::::::::::::::++++++++:::::::::::
::::::::::::::::::::::::::::::++++++++++::::::::::::++::::,,::::::::++******++++++::::::++++++++++++++::++++**++++++++******++++::::::::::::::::::::::::::::::+
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
,,,,........................,,,,,,,,,,,,,,,,,,,,,,.............................................................................................................
,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................................
,,,,,,,,....................,,..,,,,,,,,,,,,,,,,,,,,......................................................................................,,,,,,,,,,,,,,..,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,,,,,........................,,,,,,,,,,........,.,.,,..,........,::++++++++::,,,,.....,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,..,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,.,..,:+**************+****+:+*############*+:,.:,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,.,:::++++++++****+***********++#####*##+*::::::##+,,,..,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,+::::,,,:::::++++********:***::*#########+:#####:,#*, :..:,.,.,,.,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::******#***+*: ,:,*##*****########+::*+. ,,,,,,.,,...,,,,,,.,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,,,,,:::::::+***********:*:*#######*#*+,+*####+,:***::,...,,::::::,,..,  ..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:,:+::,:::::::::**********+##########*++**+:.:*+,,.,..,.....       . ,,. ,  ...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*****::::::::++::::::::::::::+::,:,:,,:++:.                                 .,., . .......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,.,,,,,,,,,,,,,,,,,,,,,,:++::::,,,,......             .,,,                      ..,, ,.,,,   .,... .......
,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,:########*+::::::::::::::::::::,,,,,,....                                  .......... ,:***,.:............+*+::+*:
,,,,,,,,,,,,,,,,,,,,,,.,*###+++*,.,,,,,,,,,,::##*++++####**+++++++:::,,,,,,,......,,:*###*,.          ......................+.:,... +,. .+,.........,***++::+++
,,,,,,,,,,,,,,,,,,,,,,,,+**+****++*:::::::::::##*:,,:######*++:::,,,,,,,,,.....,######**#######,.....................,.+.:+:: +:...,,..............,****:###***
,,,,,,,,,,,,,,,,,,,,,,,,,*::******++**###########***##**++++,:++::::::,,,,,,,+#####***##*#**#####:,,,,,,,,........ *+.,*....,.....................,*******#****
,,,,,,,,,,,,,,,,,,,,,,,,,*#####+:::::::::::++**#######*#########*:::::::::,:*#:+*+:+++++*+:#***###:,::::,,......... :,,:...........................*#***#*#****
++++++++++++++++++++++++++*#*#########################**###*+**##:::::::::,+,++**#*###**#+:*,*#*###::::::,..........................,,,,,:..,,....,*#*****+*+++
++++++++++++++++++++++++++++###########################*#####**##+:+::::::::+###+**+****###*:+***##:..:,............,,,,,,,,,,,,,,,,,,.,+,,,,,.....*#***+++ :**
::::::::::::::::::::::::::::::######+*##################**#######*++++****:,+****+*::#*++*##+:,##***..,,,.,,,,,,,,....,,..................         ,****+#**:,*
::::::::::::::::::::::::::::::+######:+####################*##*##*********,,*###++:##*+*:+***,,##***,,........  ........                           .:*****+*+,:
:::::::::::::::::::::::::::::+:+######++#####################**##**********,,##*#+,***+:+*##++:##*#*                              ....,,:++*##****####*********
++++++++++++++++++++++++++++++++######*++*****#########****######*********#*.,##*+*:**+*#*#++:#####*              ..,,::****########################*******++++
+++++++++++++++++++++++++++++++++++++++++*###################################, ::#*#####++*:#######*:,..:+########################****++++++++::++++::::::::+++
++++++++++++++++++++++++**************##########################################+,:::::::*#####################*******++++:::::::::::::::::::::::::::::::::::::
++++************************######################################################################****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
**************************##############################################################*+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**************************************************++++****++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::::::::::
******************++++++++++++:::::::+::::::::::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++****++:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::::::::::::::::::::::++::::++++******++*++++::+++++++++++:::::::::::+++******++**++++++:+*******+::++************++++**********+++++::::::
$,,,,,,,,,,,,,,,,,,,,....,,.....................................................................................................................................
,,,,,,,,,,,,,,,,...............................................................................................................................................
,,,,,,,,,,.....................................................................................................................................................
,,,,,,,,,,.....................................................................................................................................................
,,,,,,,,,,,,...................................................................................................................................................
,,,,,,,,,,,,..........................................................,,,,,,,,,,...............................................................................
,,,,,,,,,,......,,............,,..........................................,,,,,,,,.............................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................,,,............,,,,,,..,,.,.,..,...,:**###******+:::::+++*********:,::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,............,,,,..,,++++++++***************+#####*******++::*#*:+,.,..,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,:+::++++++++**************:+*#########:,#####+:*#+,::,.:..,.,:,,::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:::::,,,,:::::::+********#*:::,,:######***:#####*:,#*: ,.,,:,,......,:,,:::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::::,,,,:::::::::::******##**,**######.##**+:*######::+#*:,,.,,,..::::,:::,, :.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,......,,,,,,,,,,::,,,,,,,,,,::::::::::+*++*****,#,#########+++++:,.:###****#*+:.......      .,, ,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,,,:+****#*++::::++*********+*######*:,.     ..                        ..., . ... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+:,,,,,,,,,,,,,::::++::::,,.........,,,::                               ,.,.  ..... ....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,,,,,,,,,,,,,::::::::++::::,,,,......                 .,              .........:*##+,::... ,...... .++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,*########*,,::::::::::::::::::,,,,,,....                                ....  .... .:+...::,.. ,,:,.........,++++*:
,,,,,,,,,,,,,,,,,,,,,,,,,,*##**+#,,,,,.,,,,,,##*+++####**+++++++::::,,,,,,,,...,,:########*.  ......................... ..::.+.+, ......,.............,+++**+#,
,,,,,,,,,,,,,,,,,,,,,,,,,,:******+*+:,:::::::##*,,:*#####*++::::,,,,,,,,,,...:######****######*,..,,...............:+..,+..+:... :. ..................*****##**
,,,,,,,,,,,,,,,,,,,,,,,,,,,+:+*##***++**########***#***+++:++*::::::,,,,,,,+###*+:,,:+*##***#####,,,,,,,,......... ++.. . :.................,.........****+****
,,,,,,,,,,,,,,,,,,,:::,,,,,*####+::::::::::++*#######*##*#####*,:::::::,,,*#:+++*####*++++*##*###*::::::,,..........:.......................,.........*******+,
++++++++++++++++++++++++++++++#+######################*###:+**#:::,,,,,,,:+++#**#+****#**++:#**###*+::,.....................,,,,,,....,,,,,:,,,,....,.********:
+++++++++++++++++++++++++++++++###################**##**###*****:+++:::+:::*###*:***:++*##*:,##*##*.......,,,,,,,,,,....................... ........ .+****+**+
****++++++:::::::::::::::::::::::*######################*#####******+++++,,***+,*:#*:#:++**:++#*##*,....,,,,..,,......  ........                ....  .,*****:+
::::::::::::::::::::::::::::::::+:######*##################*#*#**+*****+*,,***:.::#*:*++*##:*+#*###,      ....                            ..,,.,:+******####***
::::::::::::::::::::::::::::::::::+*######*#################**#**********,.,##+*:*,+:#+:##*::#####*,                      ....::+*##*#############******####***
::::::::::::::::::::::::::::::::++++##***+++++*#######****######**++****##. ,***++:+*,##*++:#######*       ...,,:+*#####################******+++++++++++++++++
++++++++++++++++++++++++++++++++++++++******################################.,.::+##*+::::################################**++++++:::::::::::::::::::::::::::::
++++++++++++++++::++++++************############################################*+::+**##############*##****++:::::::::::::::::::::::::::::::::::::::::::::::::
++::++++********************############################################################****++++++::++::::::::::::::::::::++++:::::::::::::::::::::::::::::::::
****************************############################################********+++++::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++*****************************************++++++::::++::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++**++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::++::::,,,,::::::::::::::::::::::,::::++++::::::::::::::+:+:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:+++++++++++++**********++++:+******++++++++::+:::::++++++*******+++**+++++****
++++++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::+**********************########********++***+++++++++:::::+****************#*********+
$,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................................................
,,.,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................................................
,,.,,:,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,:,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,:,,,,,,,,,,,,,,,,,....................................................................,,,,,,............................................,,...............
,,,,,,:,,,,,,,,,,,,,,,,,,,................................................................,,,,,,,,,,,,,,....................................,,,,,,,,,,,,.......
,,,,,,:,,,,,,,,,,,,,,,,,......................................................................,,,,,,,,......................................,,,,,,,,,,,,..,,...
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................,,,..........,,.,:+***********++::+**#########*++*.:::,,,.,,,,,,,,,,,,,,
,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,.,,,.,,:++++++**************+*#####****+*+:::::#*+::,,,.,,::::,,,,,,,,,,,
,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++**********#*++##########*,:#####::#*:,+..,:..,.,:..:::::,,,
,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,:::::,,:::::::********** +::,:*#####***+######::*#*...,,,:,..,.,..,,:,:::
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::,,,:::::::::::****#***.+#######:##*##*:+*#####***#*+ ,,.  ,,::::+::,. ..,
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,:,,,,,,,,,,,,:::::::::::+*****+#+*#########*+:+*+:,:****+*++......         . ,., ..
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,:,,+******::++::++******#**+*####**+,,,.,,...                          .... .... 
,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,.,+::,,,,,,,,,,:::::++:::,,.....,....,,,,                           .  . ,,,. . .,.......
,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.,,,,,,,,,,,,,,,,,,,,,::::++++:::::,,,....                  ..                      , +#*#+.:, . ..,....,..++++
,,,,,,,,.,:,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,########+,,,,,,::::::::::++::::,,,,,,....                              ..........  .,+:..,,:, ..:.,...........+++++,
,,,,,,,,,,::,,,,,,,,,,,,,,:*#*:*+.,,,,,,,,,:##*++*###**+::++++++::::,,,,,,...,,,+#######*:  .....................   .. ...+.:,,+ .......,..............:+*+*:##
,,,,,,,,,,::,,,,,,,,,,,,,,,******++++:::::::##:,::######*++:::,,,,,,,,,,,,,,######****#######+....,,..............+*.  +. *,. .,.:....................:****:***
,,,,,,,,,,:+:,,,,,,,,,,,,,,,:,**#***::++**####**+****+++:::+::::::,,,,,,,,####*+:::++##***#####+,,,,,,,,..........+*..  .+..................,.........*********
,,,,,,,,,,,+:,,,,,,,,,,,:::+####++++++++:::+*#######*#*#####*::::,::,,,,+#+:*+***#**+++:+***####::::::,,.......... +..................................********:
::::::::+++*++++++++++++++++++#**###################**##,:**#::::,,,::,,*::*####+*+####+:++***###+::........................,,,,,.....,,,,,:.,,,....,.+*******:
+++++++++++*+++++++++++++++++++*#################**##*###*****:+++::::++::*#*+:+**++*+##*:+***##*:........,,,,....,,...................................********
**********++++++::::::::::::::::::####################**#####*++****+++,:###+,*:**:#++*##++:#**##*....,,,,............  ......                        ..******+
::::::::::::::::::::::::::::::::::+#######################***********++,:###*,,:*#++:+:*#++:#####*..      ..                             .....,,+********#*****
:::::::::::::::::::::::::::::::::::+######*################*#**********+.,*#+:+*,::**+*#*::##*###*                      ....,,:+******##############***********
::::::::::::::::::::::::::::::::::+:*#**+++++*######**+**#####********##: ,:##++:++:###++:##*###**        ...,,:**######################******+++++++++++++++++
::::::++++++++++++++++++++++++::::++++******##############################:,.::***++::+:################################****++++++:::::::::::::::::::::::::::::
++++::::::::::::::++++++**************#########################################*+++**###############********++++:::::::::::::::::::::::::::::::::::::::::::::::
++++++++************************######################################################******++::++++::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::
**************************############################################********+++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++***********************************++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::,,::::::::::::::::::::++++++::::::::,,::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::++++++::::++::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,:::++++++*************************++*******++++++++++++:::::+++++*
::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::,,::::,,,,,,::::::::::,:+*********************########****************++++++++++++:+*******
$,,,,,,,,,,,,.........,:,........,,,,...........................................................................................................................
,,,,,,,,,,,,.........,,:,,......,,,,,,,,.......................................................................................................................
,,,,,,,,,,,,,,,,,,,,.,,:,,,,,,,,,,,,,,.........................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,......................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,....................................................................,,,,,,,,,,,,,,..,,..............................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,..............................................................,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,................................................................,,..,,,,,,,,,,,,,,................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,................,,........................................................................................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,.,,......:+*********++++::+:+:::,,*,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,.,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,..,:+**+++**++++*****+*################*:,++:,.,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++:+********#*+*######*##*:*:*##+:#*+:*+:,,,,:+::::::,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,::::,:,:++:+*******#*:*#::,:######*::+#####::#+:,:..:+.,,.,,...::::::,,
,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::::::,:::::::::::+****##,*####*,#####***########****+,...,.,,  ., ,,,::+:+++
,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::*****+#+#######*#####+::::*####***##+,. ...,,,,,.... .. :.,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:::::::::::::,+****###########+:++,*+::+,,,    .... .            .. ...  .
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,:++:+:::+++++++***#******+*****...                                    ....  ,... 
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::++::::,,,.........  ..   ,,,.                        ,..,: ::.:.,..  ,.... ...,
,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,++::,,.,.,,,,,,,,,,,,,::::::::++:::::,......                                            .. :,:,.,.... ...........:+++:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,+**,.,,,,,,,,,####**#***:::::::::++++::::,,,,,,,,..,,,,,,                ............  ....... :,.: ... .:....,:,..........,++++*::*
,,,,,,,,,,,,,,,,,,,,,,,,,,+****++*,,,,::,##*:::####**#++++::::,,,,,,,,,,..:*############+.........................,.:+.,+.+ ,+:. .,,,................,****+***+
,,,,,,,,,,,,,,,,,,,,,,,,,,,+,*****++:::::*#*::*##***+++:,:::::,,,,,,,,:+####*###**##**#####+,,,,,,,,,.......... +++.++ . . .........................,*****+****
,,,,,,,,,,,,,,,,,,,,,,,,,,,**###################**#######+:::::::::::,##*:+******+:+#***#####,,,,,,,,.............,..:....................:..........****:**++*
::::::::::::::::::::::::++:+***+#*****############*#+#**#*::::::::,,:#+*++#**####**++:*#**###*::::::,,................  ..............,,,,,..........****+***+*
++++++++++++++++++++++++++++++####################**#++**#::,,,,::,:#::*#*,:::++++###:::***###....:...................,,,,,,,,......,,..:,...........********:*
**************************+++++++###################*###*#++++++++++:,*###*+#+:**++*##::***###+.......,,,,..............................            ..*********
::::::::::::::::::::::::::::::::::###################**###*********#,,####:++##++:++##::*######...,,........    ......                              ..:*#****+:
::::::::::::::::::::::::::::::::::+########*##**##########*********#..*###*.:++::,+*##::######*                                  ....,,,::+*******#######******
::::::::::::::::::::::::::::::::::+*################****##*********##..,#*:*:*++:*,#*::###*###*               ....,,::**############################*****++++++
++++++::::::::::+++++++++++++++++++++++++*############################ .,:#*#####:+:,*#######**:.....:**######################******++++++++::::::::::::++::++:
++++++++++++++++++++++::++++++************###############################+,,::++:,**######################**********++++:::::::::::::::::::::::::::::::::::::::
::::::::++**********************############################################################******+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
********************#############################################################**+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++:::+************************************++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::
++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::::::::++::++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::++::::::::::::::++++++++::++++::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,::+++++++++++++++*******++*+++::++++:::++++
::::::::::::::::::::::::,,::::::::::::::::::::::::++::+++++:::::++++::::::::::::::::::::::::,,,,,,,,,::::::::::+**********************######************++++++:
$,,,,,,,,,,,,,,,,,,,,,,,,..............,:,,.....................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,.....................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,....,,,,......,,.............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,:,....,,,,,,...........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,..................................................................,,,,,,,,,,,,,,,,,,,,,,,,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,..................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,......................,,,,..........................................,,....,,,,....,,,,,,,,,,,,........,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,....,,,,,,.....,,,..,,..,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,..,,.....,,.:*****+***+::++++,,,+++::,,:+.,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,.,:*+++++**********#*+*#######**#########*,+,,:....,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:::::++++++*******#*+*###########,:*####*:#*+,*++,:,,,:,,+::,::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::++****#*::***#::,######*:+#####*:+*+:,:.,:+,,.......,:,:::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::+*#*:***####**#####**#########**#*+.  ..... ,,.::,.,.::::,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::::::::+###:#+#########*#**+++:,,++####**#**:,  ...,..... ...:: ,, ,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*+::::::::::+*****#+#######********:::,..,.....    ..                  ... .. 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,..,,,,::,,,,,,,,,,,,,,::++::,,,,......,,::..                                   ,   ,   . ......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::+++++::::,,,............         .,.                      ...::::,.:: ,. . .........,+***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,+######*+,::,,::::::::::::++::::,,,,,,.....                                           ....:+,...+. . ,,..........:+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,*#*++*,,,,,,.##*::####**::++++++::::,,,,,,,,.,,:+*######:.      ............................,,+ ++,.....  .. . ...........,+++**:**++
,,,,,,,,,,,,,,,,,,,,,,,,,,++*******::::##+,,#*###*++::::::::,,,,,,,,.:######****#######:....,,,,............ ,+,. *,.::+, . .,:,....................*******#**#
,,,,,,,,,,,,,,,,,,,,,,,,,,,+*#############*#*+++:::+**::::::::::,,,*###*:::::+*###*######:,,,,,,,,..........,++..... .:............................+***********
,,,,:::::::::::::::::::::::++#++++++***###*####*######::::::::::,:##:*++******+*::****####+,,,,,,,,...........+ ........................,..........+********,**
++++++++++++::::::::::::++++++##################*#,+*#*+:::,::::,#,+:*##*+++*###*:+,***####+::,,..................................,,,,,:.,......,,,*********:*+
++++******++*******************##################*##***+++++:+++#::+*#*::*#*++****+++***###+.......,,,,,,,......,,...................,    .........:******+*:**
:::::::::::::::::::::::::::::::::#################**###********+*,:##*+:++##:+**+#*+:##*###*........................  ........                    ..+*****+****
::::::::::::::::::::::::::::::::::##########*#########**+********.:##*:,*:++:+**+#+:+##*###*..    ....                                        ..,,,,+********+:
::::::::::::::::::::::::::::::::+:*################*************#  ,##++#+***:****::##**###*                      .........,:+***#########**********########***
::::::::::::++++++++::::::::::++++++++:*####****##################, ,,###*:*+##*::#########*      .....,,:**###########################*******+++++++++++++++++
++++++++++++++++++++++++++++++++**************######################*,::,:::::+:*###########################****####******++++++:::::::::::::::::::::::::::::::
::::++++++++******************##################################################################******++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
**********************#########################################################*++++++::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++**********************************++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::
++++::::::::::++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++::::++++::::::::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,,:::::++++:::::::++++++++
::::::::::::::::::::::::::,,::::::::::::::::::::::::++::::::::::::::++::++++::::::++::::::::::::::::::::::::,,,,,,,,,,::::::::::++**+++++*********************#
$,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,..................,:,,.....................................................................................................
,,,,,,,,,,..,,,,,,,,,,,,,,,,..,,,,,,,,,,..............,,,,.....................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,.....................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,:,..,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,..................................................................,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,.......................,,,,,,,,,,,....................................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,.,,,,,,,,,,,,....,....,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,..,,,,,....,+********::++**+++*++:::,,,*,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:*+++++********#*:*#######*##########**+,+:...,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++*******+*###########+,+*###*:#**:+++:::,,::.:::,::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:,,::::::+***## +***#*#,*#####*::*#####***+:,, ,,+,,,....,..:::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,.,,,::::::::::::::::+*##+*####*#######***#########**#*:     ..  ...,,,:,,,+:++:,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::*##***############**+++:,:+*####****+,      ......    .: .: :,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:+**+::::::::++***##**#######*****+**+:::,,,.....        .                    . . 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..,,,,,,,,,,,,,,,,,,::++++::,,,,.,...,:::,                                         ,   .   ......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,::++++++::::,,,,............   .    ....                      . ::++,.,+,.:...., .......,+***+,
,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,*#######,,,,,,::::::::++++::::::,,,,,.....                 .                  ......  ,.. :::. ,, ., :,..........:++++++*++
,,,,,,,,,,,,,,,,,,,,,,,,.,***++*,,,,:#*::###****:+++++::::::,,,,,,,,,:*########*.   ..............................,: +.,:,....,  ....  ............+**+*:***+**
,,,,,,,,,,,,,,,,,,,,,,,,,,+*****+*,,+#*:,####*++::::::::::,,,,,,.:######******######+.........,.......... *+.. +..:++.   .: .....................,****+*****##*
,,,,,,,,,,,,,,,,,,,,,,,,,,**#############*::**#####::::::::::::+###+:+***+:+#****#####:,,,,,,,,.......... *:.. .......................,..........**************
::::::::::+++:::::::::++++++:#+*******#######**#*##+::::::::::##+*++**####*+++:***#####+::,,,,,,.......... , ....................................*********.:***
::++::::::::::::::::++++++::++################*+****::,,,,,::**++##+*,+++***##::****###*........................................,,,,,,...........*******#+:+++*
++++++++++++++++++**++++********+##############*###*++***+*++*:,####+******+:#*::#**####,.......,,,,.............................................+****+**+****:
:::::::::::::::::::::::::::::::::################*#**********:,:####++*##::+**#::##*####:...................  ......                              ******:+**+++
:::::::::::::::::::::::::::::::::+##################********#*.,####::+:*+,+:#*::##*####:.                                          .....,,,:+++**************+
::::::::::::::::::::::::::::::::::*#*+++*#####****##********##  :##*+*:#+,::**+:##**####+                 ......,,,::+**################################******+
++++++++++++++++++++++++++++++++++++++****######################.,,:#*####*:+:#########*+......,+*############################********++++::::::::::::::::++:::
::::::::::++::::++++******************#############################+::::::*#######################**************++++:::::::::::::::::::::::::::::::::::::::::::
******************************######################################################******++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+******************************##**********########******************++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,:::::::
::::::::::,,,,::::::::,,,:::::::::::::::::::::::::::::::,,,,::::::::::::,,,,::::::::::::++++++::::::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,:::+++::++***+
,,,,,,::::::::::::::::,:::::::::::::::,,,:::::::::::::,,,,,,,,,,,,::::::::::::+:::::++*******++++++++++++++:::,:+++:::::::::::,,,::::::::::::::::++************
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,:,.........................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,:,.........................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,.::......,,,,............................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,................,,,,,,,,,,,,,,........,,.,::...,,,,,,,,,............................................................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,..........................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.,,,....,,........................,,,,....................,,..,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,..,,,....,,,,..............,,..,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,::.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,:,.,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,.,+,,,,,,,,,,,......:+****##*************++:,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,:++++++++++##*.:*##################**+,*+....,,,,,.,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++**#+,*############*:*#####:#**+**+,:,,,:::+++:,::,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::*##+*#####*########*+:+#######*:++..::+,,,.,..,...::::::+:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+::+##+*+***###########**#*######*:#**:,,,,,::  ...,::,,,,::++:,,...,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::**#**#################++:,,:+*##***#**+.::,,,,,..... . .,, .:  ,. .,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*+::::::::++#****######*******++*+:+::,,.... ...                ..              .    
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::,,,,,,.,....,,,,                                .  ...,   ,.  .            ..,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++:::::,,,,.............. ..    ...                      ...++*++.:+,::.   .,..... .,+*****+....:,
,,,,,,,,,,,,,,,,,,,,,,,+*+.,,,,##*###*,,,,,:::::++++++::::::,,,,,....                 ...             ..  ...   ..:,..:+::..,...: ,. .........+*++++****++**:..
,,,,,,,,,,,,,,,,,,,,,,,,***++*,#*:####**#*++++::::::::::,,,,+###########+,  ............................, :+ +. :. .....  ,...............,.*****+*##*+**+*+**.
,,,,,,,,,,,,,,,,,,,,,,,,****+**#+:###*+++:::::::::::::::+#######*##***######:,......,,,.........  .+  .+..,+,. .,.:.......................,******++*******#+***
,,,,,,,,,,,,,,,,,,::,:::##****++*##########:::::::::::+#*#*:****++::*#***#####,,,,,,,,,.......... *, .....................................+********************
++++++::::::::::::::::++:::#*#########*:+*#+:::::::::+*#:++***#####*+++***#####:::::,,:,........... ..........................,...........******#***.+******+**
+++++++++++++++++++:::+++:++############:***::,,:::::#+:+#*+*::+****#*:,****###:...:..........................,,,,........,,,:..........,,********+::::********
:::::::::::::::::::::::::::::::##########***++++***+#*,,####:*::++:*##+:##**###*..........,,..................................          ..,************,+*++***
:::::::::::::::::::::::::::::::*############*+****:*#*.,####,+*#++*#*#::##**####............  ..  ......                                 ..+*****+::++**++**+++
::::::::::::::::::::::::::::::::###########*********## .:##*++:+:#++**:+##**####                                    .......,,,::+**#####*******************+**+
::::::::::::::::::::::::::::::::+:*###**####****####### .:##**+*:*,*::####*#####            ....,,,::+**######*###########################************+++++++++
::::::::++++++++++++++++++++++++************#############:,:::+:+::+####*#########################################******++++++::::::::::::::++++++++::++++:::::
::::++++********************############################################################******++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::**********************############################################*+++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++:++++++++++++++++++::++::::++::::::::::::::::::::::::::::::++::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::
::::::::::::::::::::::::,,::::,,,,::::::,,,,,,::::::,,,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::::++::++++++::::++::::::++::::::::::::+:+::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,:::::::++::::,,,,::::::::::::,,,,,,,,,:,,::::::::,,,,,:::++++++++++++++++++*+++++:::::::::,,,::::::::,,:
++::::++++++++*++++++:::::::::++++++:::+++++++::::++++++++***+++**++++++++++++*++++:::::::::::++++++++++*****+**++**++*****+**+++++++**+++++::++++**+:::::::::,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................,,:,...........................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................,,:,...........................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,,.::.,,,,,,,,,,,...............................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,....,,......,,,,,,,,,,......,,.,::,,,,,,,,,,,,...............................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,............................,,,,,,,,,,,,,,,,....,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,:,,,,....,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...:,.......,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,::....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,:, ..,::++********++::,,.,::::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,+++++::****,+**###############***:**::,:::,,,,.,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++***,:#########**##:*#*###+#**+**,,:::::+::++:::,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::,,+*#++##############*+::####**#*++*..::*,,:.,,.,..,:,::+:+:,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+*##**::*###########**#########,***::::,:::.  ..,,,,::,:+:++::,...,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::*##*########***#######+:,:::*###*,***:.+::+:::,,.. .   .,..:. :,..,....,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+*##*######******+::++++++:::.,.. ..    ...        .. ., .          ..    ..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::++++::,,,,....:,::,.                          . .     . ..   ,   .    ..  ..  ..,:::.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,::::++++++::::,,,,,,.............    ...                        .:+++++.,::::.   ,........,+*****:....::...
,,,,,,,,,,,,,,,,,,,,,,,++.,,+####**,,,,,,,,,,:++++++::::::,,,,....  ..........     ..            ...    .... ..:.. ++:...:. ,,.:. .........+******+++++*#+.....
,,,,,,,,,,,,,,,,,,,,,,,:***+*#*+####*#+++++:::::::::::,::+##########*:.................................+,,+.,:  ... . .,.................*****:****:+*++*+*:...
,,,,,,,,,,,,,,,,,,,,,,,:*****#:+#***++:::::::::::::::*########****#######,,,....,,,,.......... :, .,+  +:...,. :.......................:****+*+++*******+***+**
,,,,,,,,,,,,,,,,,,,,,,,+#***++*#########:::::::::::*###+**+++++++#***#####+,,,,,,,,,..........,:....,.:................................+*********************++
::::::::::::++++::::::++::+#########::**++::::::::##*:++#*++*###++:****####*::::::,,.......................................,...........**********,*************
+++++++++++++++++++++++++++*#########****++::::::*#++:*###,+:++***+:****####...,..........................,,,,........,,.,:,...........*********:++:*****+****+
:::::::::::::::::::::::::::::::########*******+*+#*,,**##+#:+,:*#*#::#***###+...........................................          .....:*******+****+:**+***++:
:::::::::::::::::::::::::::::::*###*#####*,****+*#*.:####,:+*::#***:+##**###*.....................                                  ..  ******+:::+++:+**++++++
::::::::::::::::::::::::::::::::########********+##  .***+*+*+#*+#::###*####*                       ......  ........,,::++**####**######****************+++++++
::::::::::::::::::::::::::::::::+***################,.,:###*:#:#+:*###*#####*       .......,::***#################################**************+++++++++++++++
::++++++::++++++++++++++++**************###############,::::::,+########################################********++++::::::::::::::::::::::::::::::::::::+++++++
++**************************################################################**********++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++**********************#*************####################***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,::,,::,,,,,,,,::::,:::::::,,::::::::::::,,,,::::,,::::::::+:::,,::::::::::::::+++++:::::::++++::++:::
++++:++::,::::::::::::::++::::+:::::::,,,,,,::::++::::::::++*+::++::++**+++++++++++::,,:++::::::::::,,,,,,,,,,::::::::::::::::+++++++***+++*++++++*+::++:::::::
*+:::++++++++**+++*+++++**+++++*++++++++:::+++++++++++++++**++::++++++**********++*++*++++**++**++++:+++::::::++++::++++++++****++++***********+++**+***+++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................,,:,....,,,,,,,,,,........................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,................,.::...,,,,,,,,,,,..................,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,....,,,,,.::,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,..,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,++************+::,,,::,:+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,++::::+**#++**#################*::**,.,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*#**+#############,:*####*#**+**+:,,,::+::+:+,:::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:*##***##############*:+*######*+:*..:+*,::.,..,...:::+**++:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+##***:*+:##########****######*++#*++::,,:+. .,.,,::,,,,+:++:,,....::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+*#**#######*#**########:,,::+###*:*#*+ ++++::,,...... .,:. :. ,   :.. ,.,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::::::+*##**#####***+****+++*++::,,....  ...  ...         ., ,, ..    .    ,.    .... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::+++:::,,,,,,,... .,,:.                         .    .  .., .,  .,.. ..  . ..........,:,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,::+++++:::,,,,,,,,..............    ..                       .. ****:+::,,:,    ,.     .,:****+*+:...,:......
,,,,,,,,,,,,,,,,,,,,,,:**,.####**+,,,,::,::+++++::::::::,,,,,,....................              .....    .,:,. ,,::... .:+ ............,****+**++++++**........
,,,,:,,,,,,,,,,,,,,,,,,+**+#*+#####*++++:+:::::::::::*############*,.............................:.:+.+, +,..........  ..............:****++***+,+**+++*:......
,,,,,,,,,,,,,,,,,,,,,,,:**##****++++::::::::::::::###*######*#**######.,,,,,,,,,...........,+:: +:.. ..  *........................ .+****:**++******#+*********
,,::::::,,,,,,,,,,,,:::+:::+#####*####::::::::::###*++++++:++:*#***####*,,,,,,,,.................:......................,...........****+**++*********+***+++::
::::::::::::++::::::::::+++######*,:**:::,:,:::##++:***#****##:+*#**####*:::::::.......................................,...........,****:*****:+******+********
::::::::::::::::::::::::::::+*######**++++++++*#::+#*+#+**:+*+*:+#***###*.............................................:,............*********::+:+*********+::,
:::::::::::::::::::::::::::::::#######******+*##,,###+:+*#++:***:*#***###:....................................                ......******+*++*****+:****+:::::
:::::::::::::::::::::::::::::::#*#####********##..+#*:,:+:**+*++:##**####:..                                                ..  ...,.*******,,,,::++**++++++::+
:::::::::::::::::::::::::::::::+***#++********##+.,*##++:+#:+#+:###**####,                  ..............,,::****######################************++++++++++:
::::::::::::::::::::::::::::::::+:++**############,,::+#+##*::####**####*,.....,,::+**####################################**********+++++++++++++++++++++++++++
++++++++::++++****************##**####################+:++########################################****++++++::::::::::::::::::::::::::::::::::::::::::::::::++:
::::************************##################################**********++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::
::::::::::::::::::+:::::::::,,,,,,,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:,:::,:::::::::::::,,,,,,:::::::::::,,,,,,::::::::::++::,,,,::::::::::::+::+++:::
::::,:::+*****+**+++++++++++++++++++++++++++++++++++::,,::::++++++:::+++++*+::::++++++++**++++++*++::++*++++++::::::,,,,,,::::::::::::::::::::++:++++*******+++
:+++**+++**+++++++++:+++++++:++++++*+++++****+::++++++::+++++++:::+++*++++++*+++++++++***++***********++++++++*+++++:::+::::+++++++***+++++*+*++++++***********
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,............,,.,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,..,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:+***###***************+:::,:++.:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++****:*#######****####**##***,::+...,,+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+**#**##############,,+#######****+,,:,,::,::+:+,:++:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+##**+::*###########**+:*####+#*+:+.::+*::,,,..,...::,,+*+++:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::*##****##:::#############*####**:###:+::,,:+..+,:++,,,::::,.,. ....,+:+::::,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+*#**########*+++**#####*+:,,,:**+*+**+++:,..  .   ..  .:.:  ,.  .  ,. ...,,,,. 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++**********####*+:,,........                 . .  .   .  :,.,,.      ... ., .  ...    .
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:+++::::::,,,,,,,,...... .,,,                         .... . , .:,,,  . ..    ......  ....,:::.......
,,,,,,,,,,,,,,,,,,,,,,,,..###*:,,,,,,,,,,,,:::++++:::::::,.................. ...                          .. .,+**++, :. .  ,..........+****++++**.. ..........
,,,,,,,,,,,,,,,,,,,,,,,,**######*#:::+++++::::::::::::*######+........................  ....    ....+..:.,... ::  . .+. .......... .+*****+::,,:+++**,.........
,,::,,,,,,,,,,,,,,,,,,,,**#*#*#*+++:::::::::::+++########***#######.......,,,,.......... ,++..+, +:+. ,. , .......................+****+********#*+***:........
::::,,,,::::::::,,,:::,:#*++*#######::::::::::+####++***+:+##***####*,,,,,,,,,.......... *, ... . :.:............................:****+**++********+***********
+++++:::::::::::::::::::::++####::**:::::::::*##+++*:*:###*::*****####::::,,,,...........:.......................................+********+++***********+++::**
::::::::::::::::::::::::::::+*###*+**++:::::+##::+##*:::+++*#:,****###,...,.......................................,,,,...........*********+++************++::::
:::::::::::::::::::::::::::::::*#####******+##,,+##*:+::::#*++,#***####.......,,.................................................:+***:**+*.++**++*+*****+:+***
:::::::::::::::::::::::::::::::+**###*+*****##..:###,::*++*+*+:##*+####.................    ........                        ......******:**:*****+**++++++:::::
::::::::::::::::::::::::::::::::####********##*.,***++*,*,#+*:###**####                               .... .............,,,,::++***#*******:::+*****+++++++++++
::::::::::::::::::::::::::::::::++**############,,:+*##*.*::+###**####*       .........,::+***############################################******+++++++++++++++
::::++++++++++**********************###############+,::::*####**########################################********++++++::::++::++++:::::::::::::::::::::::::::::
:::::+******************################################################******++::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::
::::::::::::+++++++++++++:::++::++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::,,,:::::::,,::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::+++
+++:::::::::::::::::,:::+*****+**+++++++++:+++++++++++++++++++::::+:,,,,,,::+++++:::::::++++::::::++++++++:+++++::,,,,::::::::::::,,,,,,,,,,,::::::::::::::::::
::+++:::::::::::::++**+++**+++++++::++++++++++*++++++++++***++::++*+::::++++++**++**++++*+++++++++++********+++++++++++++++**++++:::::::::::::++++++++::++++*+*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,................,,,,,,,,......,,,,,,,,,,..,,....,,,,,,:,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,..,,,,,,,,,,,,................,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,..,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,......,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::.,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++*#******#***************++++,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:::+*#*+#########***++#######***,:::..::++++*,.:,,,,,,,,,,,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::**#***,+############:,,+*####**+*:,.+:,,:,,::,,.+++++++:,,,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++##**+,::,:+#########**#**####*##*+::+:++:,,,,,,,..,:::,,+++*++:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:+###*#####::,:####**####*+::#####:**#:+,,,::++++++:::,.  .,,.:. ....+.,+::::::.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,::+++##**#####***++**::###***++**++::,,..   .            .:..:.:..  .   ,.......,..   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++:::,:  ..,,::..                             .    .::.  :, ,  ..      .. ,.....,.   ...
,,,,,,,,,,,,,,,,,,,,,,,,,,+*:,,,,,,,,,,,,,,,,,,:::++++::::,,,,,,,,............      ..                      . :*+:::.,+:,: ,. ,. :........,,,. .   ,+:. .......
,,,,,,,,,,,,::,,,,,,,,,,:::####**:,,,,::+++++::::::::::::,,,..................                  ...... .,...:::,..,. . .,...  ......,*+**+++++++**,............
,,,,:,,,,,::::::,,::,,,,,,*#:####*++::::::::::::,:##############+..,........,......... .. .. ,,.+,+:.++... .....,...............,.****+++**#**++*+***........::
++**+:::++:,::::,:::,,,,,:*##*+****#:::::::::::#####*+++*##***#####:,,,,,,,,:.......... +::.,+ .:..  +..........................,***++*#*********+***+::::++***
########*,.:###*+:,,+:+++++++**#:***++:::::::*##+:++*#***++:##**####*:,,,,,,,......... . .:.,: .  ..............................****+*************+****+*******
++::::::::::::::::::::::::::+:*##++**+:,,,,:+##:++**#*::**#*,,****###*::,,,,........................................,...........****:*+++*,,******+***#+*******
::::::::::::::::::::::::::::::::+###*+++***+##,,*#*++*+*+****:##**####............................................,.............+****+****::***+**+*****::,:,,,
:::::::::::::::::::::::::::::::::*###*+***+*##..*#*,,,##:,#*#:##***###......................................     ...............++***++#**..*****+********++:::
:::::::::::::::::::::::::::::::::+###*******##. .*+++,++*+#+:+##**####.                                         ......  ........,*******,:::+++:***+++++:::::::
:::::::::::::::::::::::::::::::::+**###########*,,*##+++*#+:*###*#####                ........,,,:::++****########*###################************+++++++++++++
::++::::::::::++++++++****************############,,::::,+####*#######################################**########**********++++++++++::::::::::::::::++:::::::::
::::::::+***************##################################################**##******++++::::::::::::::::::::::::::::::::::::::::::::++::++++++++::++++:::::::::
::::::::::::::::::::::::::+:::::::::::::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::,::::,:::,,:::::::::::::,,,:::::::,::,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::++::++++****++::::::::::::::,,,,::+*****++*+::++++:+::++++++::+++++:::++::::+:,,,,,,,,::++::,,,:::::::::::::::::::::::::::::,,,,,,::::::::::::,,:::::::::
++++++++++++***+:::::+::::::::::::++****+*++++++++++++++++++++++++++++++++**+*++++++:::::+++++++::+++++++++++:::++++++++***+++++**+::+**++:+++++::::,,,,,,,,::,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,++**##**##******#***:::::::*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,:::*##**########****######*#**.::+...,,+,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*##*##***#########+,,:####*#***::.+::::,,::::::+*++:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*#***,,,:,:+*######***+**####**+*.+:+*++:::,,:,..:::,,:+++**::,,,,,,,,,,,,
,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+##***##.,,,,::+#########**####*:#**++:,::*,:+*+*++::,.. ..::.... :+.*+::++: .
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::**#*#######**+,:,,:#####***+++++++::.. .        .   :. : :  . ... ,:....,,,,.    
,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++::....,:::..                             ..  .::.  :: ,.. ,.    ....,...,,,,       
,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:::++++::::,,,,,,,,,,........      .                        .++:::.,+:,:,,, .. , .... .,,,,......,+:,.........
,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,#####:,,,::++++++:::::::::::,,...................                ......,,.. :::...+. ,..:... ...... ,****++++:+***:.............
,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,:####*++::::::::::+:,*####****#####*......,,,,........  .     :+.:+.+. +.,. ..  ,,  ...............*****:***+***:*+***........::+
::::::::::::,:+:,,,,,,,,::::,:+*+*####*:::::::::*###*+::::+#****####,,,,,,,,,...........++. *:  .  .,,.........................,****+***********+****+++*******
::::::::::::++::+++++++++++++**###*++**:++++++:##*:+:##+*##*::****###*::::,,,,........ .+... .. ...............................+*****************+****+**+*****
:::::::::::::::::::::::::::::::::::****+::::++*#*:,***#,++*+*+,#***###.. ..........................................,...........****+****+:,******+***********+:
:::::::::::::::::::::::::::::::::::::*#*******##.,##*,+:#+:#*#:****###*........................................................*****+*#+,:*++****+**+**:::,::+*
:::::::::::::::::::::::::::::::::::::+#*******##..+*++,,::+#*+:#***####.....  ........    ........                    .........:*****:*+:******+*****+++++:::::
::::::::::::::::::::::::::::::::::::::++****#####..+*#*:+:*++:###**####                         ........ ...............,,,,,,::*******+,,,::+****++++++:::::::
:::::::::::::::::::::::::::::::::::::::::+**######*,,:*++:+:**##***###:........,,,:+****#############################################**********+++++++++:::::::
::::::::::::::::+*****************##########################################################************++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++++++++++++++++************###########**+++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,::::::,,,,,,,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::
::::::::::::::::::::::::::,,::::::::::::::::::::::,,::::,,,,::,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,,:,,::+:::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,::,,,,::::,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::+****+++******+::+++++:::++*++*+:::::::::::::+*+++::::::,,::::,,,,,,,,,:::::++++::++:::,::::::::::,,,:::,,,:::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,,,,,:::::
++::++++++++:+*+++++++*******++++++++++++++++***++::::::,,::,,,,,:::++++++***+***+::++++++++++*+++++++++++++++*++++++::::::::+*+++::::::++++++::::::::++::++:::
::++++++++++++++++++++++::::**++++**++++:+++::::::++++++++::++****++++********++++*+::++***+++++**++**++++****++:+++++++::++*+++**++++++++*+++++++++++++******+
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,........,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,.,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::,:*##***#################*,*#+..::+,.::,:,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:****##########*##:,:+#####*+***::+:::::,+++:,+**+:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*#***,,,,::*#######*::+*####**:*.::+*+++....,...:+::+++***::,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+##***#:::::::::#########*#####*##**+:::+*.,*,:**,,:+::,,.:. ....,+++++:::..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*#*#######*+,,,,,:#**###*,,,,++****++:, ...   . . . :,:: :, . .......,.,,:,   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++***#****##**,...    ......               .  .  .  ..:.,:   ...   ...,,...,,,..     
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::++++++::::,,,,,,,,,,..,.    ....                    ...:+::: ,::::,+,  .:,. ..   ... .....,++: ........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,##**,,,,,,,,+++++:::::::,,,,,.................                    ........:,...,: .  ...,  ..    .+***+++++++*+:.............
,,,,..,,,,........,,,,,,,,,,,::,,,*#*##*++:::::::::::,############+..,....,,........    . . . . ++ + ,+. ..... ..... ...........,,*****:*****+:*++**........,,,
::::::::::::::::::::::::::::,:+:,:*++++**+::::::::+#####+++*##***####+,,,,,,,,.......... :,: *: .,...,.., ......................*****+******#***+****:::++*****
::::::::::,,,,::::::::::::::++::++*+**+**+++++++:*##*++:###**::****####:::,,,,,............,,.. ...............................,****+************+****+*++*****
++++::::::::::::::::::::::::::::::::::+:**+::::::##:,**+*:++*+#+:***###*....  .....................................,...........:******+++*.+**##******+******++
::::::::::::::::::::::::::::::::::::::::#********#,,:#*:*:+:,***:#***###.......,..................................,............,****:****.:***++*:**+**+:::+::*
::::::::::::::::::::::::::::::::::::::::+#*******#. ,*+::,::+#*+:#***###,...................    ....                ............*****++**.,*****+*****++++:::::
:::::::::::::::::::::::::::::::::::::::::+++****##*.:+#*++*+*:+:##**####.                           ....................,,,,,,,:********,,::::+****+++++:::::::
:::::::::::::::::::::::::::::::::::::::::+:++*######*,,:+**+::####*#**#*..........::++**####*###########################********######*********+++++++++++:::::
:::::::::::::::::::::+****************##############################################**########**##******++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++++++++++++++++++************##****++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,::::,,::::,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,,::::::,,,,,,,,::::,,::::::,,::::,,::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::
::::::,,,,,,,,,,,,::::::::::::,,::::::,,,,,,,,,,,,,,::,,,,::,,,,,,,,::::::,,::,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,::::::::::::::::,,,,,,::,,::++::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,::::,,::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::
,,,,::,,,,,,,:::,,,,:::::::::::::++++++++++++:::::::::::,,::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::++++++++++++++++*++++++*****++::+++++:,:++++++::::,,,:::::::**+++:::::,,::::,,,,,,,,,,::::++*++:::++:,::,:::::,,,,,:,,:,,,::,,,,,,,,,,,,,,,,,,,,,,::,,::::,
++**++++++++::+++++:::++++++::+++++++++*++****::++++++++++++++**++::::::,,::,,,,,,,::++++++***+*+++:::++++++++++++++++++++*+++++++++++::,,,,::+++++:::::::::+++
****++++::::::::::::++++++++++++++++++++:::::+++++++++++::++::::::++++++++::++*****++++*********++**:::+****++++**++**********++,:+++*+++:::**++++*++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,:**##********##**######+:#:,,:+:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*#**########***+:+######**::,,,.,:+++**:.:++:,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*##**:::,:+*#######:,+*####*#*:,.+*+:+:.+:., .++*+**+*+:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*##**,:::::::::*###**########*#***:+:+*...:::++++:::+:+++:,,,..,,,,,,,,..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,+##**######,::::::*#*###*:,,:**##*##:***++:.....    .:: :, :. .,:...,:::::,   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,::*##**####*+:***+++::,,. ......         .        .:..:.:.    .  ..:.....,,,.      
+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,.,::++++++::::::,,,,,,,,.   ..,.                        .... , .:.:    .,, ............. ,::::.........
****+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:##*,,,,:,,,,::+++:++::::,,,,................                           .+,::,:. ..  ..... .   ..***++++++**, ..............
*****+,,,,,,..,,......,,.,,,,,,,,,,,*####*++::::::::::++#########*..........,.......      . .   .,:+ +::.. ... .. ............ . ***+*+:***:.*++**:,........ ..
++++++::,,,,,:::::::::::::,,,,,,::,**++:++::::::::::##*##***###**####+,,,,,,,,,..........: . +, +:,  ..:.......................:****+****#**#+*+****,,,,::++***
::::::::::::::::,,,,,,,,,,,,,,::,,::++*:***:++++::*##*++*:+*#++*****###,,,,,,,,.......... ,,.,. ...............................****+************+****+*********
++++++++++++++::::::::::::::::::::::::::+**+:,::+*##:,*##:++++*+,#***###,,,,............ ..........................,..........:*******+++.****#***************+
:::::::::::::::::::::::::::::::::::::::::##******##,,***:*:+:***:****###. .....,..............................................:****:*+**::+*****+*****:::::::+*
::::::::::::::::::::::::::::::::::::::::::*******##..+#*,,::,**+:#***###*...........................            ...............*****:+***,:***++********++++:::
:::::::::::::::::::::::::::::::::::::::::::+****###*..****,:***:##***###,                           .... ...........,,....,,,,:+******+,:::::+***+++++++++:::::
::::::::::::::::::::::::::::::::::::::::++++++**#####*:,:++:::#*##******......,,,,:+****################################****##****************+++++++++++++++++
:::::::::::::::::::::::+***************###########################################**######**********++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,::,,::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::,,::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,::,,::::::::,,::::::::::::,,::,,,,,,,,,,,:+++::::::,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,::::,,,,::::::::::,,,,:::::::::::::::::::::::::::::
++++++++++::,,,,,,,,,,,,,,::::,,,,::::::::::::::++++++::++++::::::::::,,,,::::,,,,::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::::::::::++**++++:::::+++***+++*****++++++++++++++++++:::::::+:::::**+++:::::,,,,::,,,,,,,,,,,::::+++++::++::::,,::::,,,,,,,,,,,,,:::,,,,,,::,,::,,,
++++:+++::+++++++*++++++::::::::::++:+++::++++*+++++++****#*++++++++++++++++***++::::::,::,,,,,,,::+++++++*******+::++++++++++++*+++++++++++++++++::+:,,,,,,,::
:+**+++++++*++**++*+::+::,::::++++++::++++++++++:++++++++:++++++++++++++:++::,::::++++++:::+*****++++*******++*+++*:::*****+::++++++**++++***+*+++**++++:::++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,.,,:+****##########***+,:::+*:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*#**########*########*+*:,:*...,,+:,,::,,..,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+##**#*++:+#######,,::#####***::.*::+:,:+:.,+*****+:,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+##**:,:::::::,*###***+*####****:+::*:,.,:+:+,.::::::+++***+::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:,,*#***#*+*:::::::,#*#####***####***+::*++**+++:.. .., .+ .:...,.:,,+::::+:.. 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,.:,,::**######*+:**+::,:++**++::,,... ..  ..    ..   . :, , ,. ...  ,:.....,,,..    .
++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,++++++::::::,,. ...,,,                               .: ,,..., .... ..........,.:::,....     
******++***********+,,,,,,,,,,,,,,,,,:#+,,,,,,,,,,,,:++++:+:.....................                           .:*#*+, :. ..  , .     .:********:  ..,.......... +
*******+***********+:,,,,,...........,*#**#+++++::::::::::*######: . ...............         ..    +..+ .. .:: .  ::.......... ..+*****+::,+*++**:.........  .+
*******++::++++++++++:::,,,,,:::::::,+**++:+::::::::,:##*#####***####*.,,,,,,,,.......  .:+  :+ ,+*,.  . ,.....................:****+***##**+*:*+**,.....,,,:++
::::::::::::::::::::::::::::,,,,,,,,,,:*****:::::::+###+++****+:****####,,,,,,,,........., .. . .  ...........................,****+#**************************
:::::+++****+++++++++++++++++:::++:::::::::+++:,:::**+::+*:*+:*#::****##*:::,,,:........ . ...................................+***:*****,,*+*##*+***++**+*****+
++++++:::::::::::::::::::::::::::::::::::::********#*,:##**+++***:****###.......................................,,............+****++:+++++****+*****+::::::,:*
::::::::::::::::::::::::::::::::::::::::::::*******#*.,**:.,+:+#*:#***###+................................      ...............*****:****::***++**********++:::
:::::::::::::::::::::::::::::::::::::::::::::+*******,.,##+:*+++:*****###:                              ..................,,,,.+******,.++::++**++++++++++:::::
:::::::::::::::::::::::::::::::::::::::::::::+:+**####*::::++::*###******.......,,,,::****##############################********##************+++++++++++++++++
:::::::::::::::::::::::::::+****************################################################**********++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,::::::::::::::,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,,,::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::,,,,,,,,::,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::,,::::::,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::
::::::::++::::::::::::::,,,,,,::::::::,,::::::::::::::::,,,,,,,,,,::+:::::::,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::::::++++++++++::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++*++*+:+++::::::::::,,:::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::
++++++++***+++++++++++:::::+++::::::++**++++::::+++++++++*****+++++++:::,:++++*+::::::::::::::*++:+:::::,,,:::::,,,,,,,:,,::::::+:::::::::::,,,,,,,,::,,,,,,,,,
++++++**++++++++++++:+++::++++++++*+++++::::::::+::::+++++::++++:++++*++****++++++++++++++++**++::+:::,,::,,,,,,,:::+++++****++++:::++++++++++++++++++++++:::++
::::++++++++++++::+++++++++++:**++*++++:::,,::+++++++++:++++++++++++++:::::+++++++++++++++:::::::+++++++::++++++++:++*******+++++++:::++++*+++++++++++**+++**+*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,....,,..,,.,.,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,:**##***###############*+**: ,:+:+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:****############::+*###*#+**+,:+++++.:+:+++***+:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,+*#**+::,::::+#####+::*#####*+:.++++,,,,,,+,.,:::::+*+*+++::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,+#****:+:,,:::::+######**+##**##:*::::::+*+**++,.   , ,+... .+..+::+:+:...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:+########***::,,::,:*****+**++,,.. ...         :: :.:,  . ...:,...,,,,.     .
,,,,,,,,,,,,,,,,,,,,,,::++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++::....:::.  ..                       .. ..:+.. : .... ..  ........:::,..    .. 
,,,,,,,,,:++++++++++++++********++,,,,,,,,,,,,,,,,,,,,,,,::+++::::,,,,,,,,,,,,......                        . ****+,+:,,,. . ,..    .+******+,  .,,...........:
,,,,:+***************++**********+:,,,,,*###*..,::+++++++:::::::,,............,...            ...   , ::  .. :,    *............ :*****+:::++++*#:.........   *
++**++++**+++++*******++********++****+:+****+::::::::::+#####****####*,....,,,,....       ,, +: +:+. ,...,....................,****:***###*+*+****,....,,::++*
::::::::::::::::::::++::::::::::::::::::,+#*##::::::::*##*++++++:****####:,,,,,,..........+, . .,., ..........................,****+***********+***************
::::::::::::++++::::++++++++++++++++++++::+:::+::::::##*::#+#:**#::#***###:::::::.......... ..................................:***:****+,,*+********++*******++
::::::::::::::::::::::++:::::::::::::::::::::**++++++#*,:*+:*+*:**:+****##.......,................................,...........:*****+:++:++****+*****:::::::***
::::::::::::::::::::::::::::::::::::::::::::::++***+*#:.+##,:++:#*:*#***###...........................            .............****+:****:+***++******++++++:::
:::::::::::::::::::::::::::::::::::::::::::::::********..+*+*,++*++##**####                             ..................,,.,,*******,,::++++******++++++++:::
:::::::::::::::::::::::::::::::::::::::::::::::::+**##*#+,,+#*::+###**##**,.  ....,,,,:+****################################**######********+++++++++++++++++++
:::::::::::::::::::::::::::::::+*************#######################################**####**********++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,::::,,,,,,,,,,,,,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::
::::::::,,,,::,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::,,,,::,,,,,,::::,,,,::::::::,,,,,,,,::,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::::::,,::,,,,::::::,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,,,,::,,::,,,,::::::::::::::,,,,,,,,,,,:++::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
++++**++++++++++++++++++:::::::+++::+++++:,,,,,,,,,,,,,,,,::,,,,::::::::::::::++*+++::++::::::::::,,,,::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::
::++++::++:::+:+++++++++**+++++++++++:::::++++::::++*+++**:::::++++++++******+++++++::::+++++++:::,,,:::::,:++++:::::::,,:::::,,,,,,,,,:::::::::::::+::::::::,:
++++++*++::+++:++++++**+:+**++++++++++:::++++++++++++++::::::::::+:+++++++:+*++++++++++*#*+:++++++++++:+++***+:::::::,,,::,,,,,,::::++++*****++*::+++++++++++++
:+++++++++++++::::::++++++++++++:+*+++++++*+++**++++::::::,,++++++::++++++++++:++++++++::+++++++++++++:++:::::++++++++:::++++**+++++**+*****+*++++:::+**++++::*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,.,.....,,::+++++::,,..,,,,+,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,+##**################*,+:+...,,*:.,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::##*###*++*#####,,:+####***,,,+::+,:++...:+++***+:,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*##**::+::::,:+##***+*#####*+,:+++,..,,:::,:+++++**+::...,,,::,,....,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:****#*,**:+,,::,+#*##:::*###***+*++*++:...  . .:. + . ..::.,,.,:::.   .:.,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*#*####*,,,#+**++++:,,.                  . :.,: , ..     .,,...,,,.       :,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++**++++++++*****+++,,,,,,,,,,::::+:::::,,,,    ..,                   . .... .,.::,,  ..,. ....    .....:+:......... ..,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:************++++++****+++++++::,..,...............                         ,,.. +........  .    .*******++*+*+.............*****:
,,,,,,,,,,,,,,::::,,,:+:,:,+***************###++++++::+:::*#######*:..........,...     ..     ,+ + ::. .   .,.  ........... *****:****#*+++***.......,,,,:::**+
,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::+*+:++++:::::::####****#***###*,,,,,,,:...      +:,.*. ....:.......................****+*#**++****+*******************:
::::::::::::::::::::::::::::::::::::::::::::++*::::::*#*:+:+##*+:#***###::::,,,.....  ..+...     ..........................***+****+:+*****+***+*++:*******+:+:
::::::::::::::::::::::::::::::::::::::::::::+:*+::::+#*::##,::+**:****###..,.. ...........................................,***:****:+++++**+****+::::::::+*****
::::::++++++++++++++:::::::::::::::::::::::::::****+*#.,**:+:*,#*:#***###,..............................                .. ****+:**:,::+*+**********++++:::::::
:::::::::::::::::::::::::::::::::::::::::::::::+*****#. ,#+::+:#*+#***###,                                ..  ..  ......,,,+*****+.::::+****++++++++++++++++:::
::::::::::::::::::::::::::::::::::::::::::::::::+*#####*,,+##+*:*##**#### ..   ......,,,:+**#######################***####***###******+++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::+************############*###############################**********++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::++++++::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::,,,,::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,:
::+:::::::,,,,,,::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,::,,::::,,::::::::::::,,:::::::::
++++::::::::,:::::::::::::::::::,,::::::::::::::::::::::::::::,,,,,,,,:::::,,,,,::::::::::::::,,,,,,,,,,,:+:::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
****++++++::::++++::++*+++++**++++++++++++++++++::::::++++++++++::,,,,,,,,,,,,,,,,::,,,,:::::::::::::+++*+*+::++++::::::::,,,,,,::::::::::::::::::::::::::,,,::
:::::::+++:++::+++++::+:::++++++::+:::++++++:+++**++++++:+::++::::++::::::++++++*+::::::+++++++******+::++++++::++++++::::::,:::::::+*++::::::::,,::::::,::::,,
+++++*++++***+::++:::::+++++++**::::+++++++++*#*++**++++++:::::::+++++++++++++++:,:::::::+++++::::++*+++++++**+*#*++::++*+++++++++***+++:::::,,,:::::,,,::::+++
++++::,,,:::::+++++:++++::++++++:+::+:::::::+++++++++++::+++++++++*++++++++:+:,,::,:++++++:+++++++++++:+++++::::+++++++**+++:::++:::::++++++++++::++++++++++***
::::::::::::++++++++++++++++*+::++++:::::::::+++++:+::++++++++++*+::::,,::::::::::++**++++:++++++++++++:::::++++:++++++++++++::::::::+++++++++++++:*******++**#
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,+***#########*#+:+*,++:...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****######**#**######**,.,,,:::+*+:,,*::.,,,,.,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*#**#+:::++####:,:+*###***,.:*,::,,+,.,.:+++**+**+:,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+#***+:,,::::::+#**###*###**++:::+*.,,,:+,,,::+:,.. ....::+++++:...,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:,*#***##::*:+:,::::##*,,,,++*****+:      .. . :,:. . ... :....,,,..    ,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,:::::++++++++++:,,,,,,,,,:::+*#######*+++,...                      .,,  ,. ,  ,.       ,..,,:,..    ..::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,.,,:++++++******++++++++++::::,,,,,,,,..     ..                   .+*+:,,++,: ..,. . . .,:****+, . ,:......... ,++++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:+***#:*****+++++++::::,,,,..............                   .:,.  .+..  ,  ... .     ,*****++++*++**:...........:*****:::+
,,,,,,,,,,,,,,,,,,,,,,,,:::,,,::::++:::::*#*++:::::::::+####***####* ,....,,, ..       .: *..+:, :.  ,..................,****+****#*#*+++**,....,,++*******++++
::::::::::::::::,,,,,,,,::::++++++++++++::**##:+:::::###:+***:*****###,,,,,,, ...... .*.  ..............................**++******+*********+**++*********:::::
:::::::::::::::::+::++++++::++:::::::::::::::+:,,,::##:+*#*****:****###::::::.......     ...............................***:*++++.+**#******+****+++++++++++++:
::::::::::::::::::::::++::::::::::++::::::+++*+++++*#:,*+*++:++*+****##,................................................***++*+*.:++++++*****+::+++*****++++:::
::::::::::::::::::::::::::::::::::::::::::::::+*****#.,**::,:*++****####..    ..                          ..    ..  ....+****:,*:+**++********++++++++++:::::::
:::::::::::::::::::::::::::::::::::::::::::::::++***#*.,##:+++++##**###+            ..  .   ........,,,,::::****##****************++**********++++++++++++++:::
::::::::::::::::::::::::::::::::::::::++++++*********##*,::::*#########*+**###################################**##******++++++++::++++:::::::::::::::::::::::::
::::::::::::::::,,,,,,,,::::::++++**************################**********++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,::,,,,,,,,::::,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::::,,,,,,,,::,,,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::,,::::+:+:++::+:::::::::::::,,,,::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,::::,,,,,,,,,,::::::::,,,,::,,,,,,,,::,,::::,,,,::::,,::,
++++:,+++***++:::::::::::+++**++::++:+++++::::++:+++::::::::::::+:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++:::,,,,,::::,,::::::::::::::::::,,:::
++++++::++++++::++++++++:++++++++::::::+::::+++++++++++++++*++++****:+++::::::::::,,:+++::++:+++::++++*+++++++++****++++++++++++:::::::::::::::::::::::::::::::
:::++++::++::+++++::++*++++++::::+:::+++:+++::::++::++++**++++++++++++++:::::::::+:::+++++++::::++::++*+++++++*+++++++::******++++:::::+++++++:+**+*++:::::::::
+++++++*++++****++::::::+++:::::+++:::::++++++**::,,::::++*++++++++*++++++++:**++**++++::::,,:::::+**+::::+*++++::++++++++:+::++++++++**++*+::++++::::++:::::::
++++++++**++:::::::::::+++::++++++++++++++::++:::::::++++++++:++:::+++++++*++::::::::::,:::+++++++::+++*+::::+::,,:+++++++::++:+****++:::+++::,:++::++++++++++*
++++++++++++++:+++++++++++++++**++++++:+++++++++::::::++++:,:+++****::++++++::::,:::,,,,::::++++++++:+++++++++++++++:::+++*+++++::::::++++++++++++:+++++++*++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,............,,,,........,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,..........,,,,,,......,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::..,:**#########****::++**,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:+***#######****#####**,..,,,::**+,,:*:,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::##*##+,:,:+###*,,+*###***:..*::,.,+,,.,+++**+***::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*##*#*::::::::,+####*#**#*#++:,:++..,.++:,,::+,,,.  ..::+++++:....,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,*#**#*#::***:,,,::#*:,,,:+*#**++:..       . :.: ..   .,.. .,,,,.    .:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::++**+++++++*++::++:+*#****##:,,..   ..                   .:.  +...  ,.    ...,..,:,...    .,:::,,,,,,,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:******::++++::::,,,,,,,,....     .                   +++:,,:::,  .,.. ....+*****:... +..........:+::,,,,,,,,,,:
.,....,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,#**:*:::+*+++:::::::,,...............               ..,:... .:.   ,.  .. .    .+****+:::++++*+...........:*****,,,,,,,:+
,,,,::,:,,,,,,,,,,,,,,,,::::::::,,:::::#**++::::::+:######***####:..,,,,,,..    ...+. *, +.: . , ,................ .****+****#****+***,,,,::**********:::::::::
::::::::::::::::::::::::::::::::::::::::+*+*+:::::###:+**+++#***###:,,,,,,......  , ..,.. .........................,***+***********+***+**+**********::::::::::
::::::::::::::::::,,:::::::::::::::::::::::+,..,:##+:*+:*++*:****###,,,.........    ...............................:****+::+:+*+***+******+++++++:++*+++++:::::
,,,,,,,,::,,::::::::::::::++:+++++++++:::::++++++#+,+*:++*+*++***###........................................  .....:***+****.+++*++***+*++++******+++::::::::::
::::::::::::::::::::::::::::::::::::::::::::****+#, :##+:+*#,****###:.                          ..  ..  .... .....  *****::+++++++**********++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::***####:,:*+#*+:###*####..       . .......,,::++****######*****#####****##************+++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::+*************######**##################################********++++++++::::::::::++++++++::::++++:::::::::::::::::::::::::::
::::::,,::::::,,,,::,,,,,,:::,::::::::::++++::::++++++****++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::
++::::+:+++::+++::+++:::::::::,,::+:++::++::::::::,,,:::::::::::::::::::::::::::,:,,,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,,,++:::::::,,,::,,,,,,,,:::::::::::::
++::++*+**++***+**++****+++++::::++++++++++++++**++++++++++++++++++:::,::+:+::+++++:,,,,,,,,,,,,,,,,::,,,,,:,,::,,::::::++*+++*+*+::::::,,:::,:::::::::::::::::
:+++++::::::+++:::::::++++:+::+++:++++::,+::::++++::::::++++++++++***+++*+++::++::::++++::::+*+++:+*:++++++*++*++*******++:+++++:,+++++++++:::::::::::,:+++::::
++++++*+,:++++++++++++++::*++**++::++:::::++:++++*++::+++:++++++**+++*++++++++++::::++++++++++++++:::+++++:::+++++++:++*:+++*+***+*****++++++++++:+++**+::+++++
++++++:+*+++++++:+::++::,,,,:::::+++::::+++:++++:+::+::::,::::++++++++++++:+**+++::+++:+*****::::,,:,:,:::::++++++**++++:+*+++++::,:++****++++::::++::::::++:::
:::::+++*+,,:+++++::::::::+:::+++*::++++++++*++++:++*+::::,,::::+++++:+::++:++++++++::,:,,::,,:::::++++*+++:+:+++++++*++++:::::++++++++******+++::++++::+++++++
++++++:++:::++::::+++++++++++++++++:++++++++:+++,+**+++++:++:+++:+++++++++++:+++++::::::::::::::::+:++::++::+::+++++++++*+++:::+:+**+++++::+++++++++++++++:++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,...............,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................,,,,....,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................................,,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,..............................,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,,.,,,,,,::,..,..,,:,+,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*#**##############**,:+:  .,*,.,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*#*###::,:+###:,:+*##***+, ,,::,,*+.,,***+***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*#***+,::::::,+#***#******+++::+...,,,:,:+:+:*++:,, .,,:::,....,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,.,,,,,,.,,.,:#***#*::*++:,,,,,*#,,,,++***++*+::. .     ,,, :.  ..,,..:.:::.    +,,,,,,,:,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::++++:::+:+*#######*++:,,....                    .  :.,,  . .    .,...,,,..     .+,,,,,,,::::,,:::,,
,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::+++:::::,,,,,,....     .                 .:+::: ::.:., . ... ...:++:.... ,:......... ,,,,,,,,,,:::,,::,,,
.........,......,,,,,,..,,,,,,,,,,,,##*:++,:++:::::::::,,,..............              ...,,,...,:   ... .. .    .,****++++*++**...........,*****:::::::::::::::
,,,,,,:::,,,,:::,,:::::::::::::::::,#*+::::::::::#####****###*,,,,,,,,..     ..:, *, :+. . .,................. :***+****##+*:***+.....,,::******:::::::::::::::
:::::::::::::::::::::::::::::::::::::++**::::::##*++++*+*****##+,,,,,,....   .: ..,...........................,***+**********+****+************+:::::::::::::::
::::::::::::::::::::::,,::::::::::::::::+::,::#*:+*#::+++:****##,,,.........    ..............................:***+*+:+:+*+***********+++++++++*+++++::::::::::
,,,,,,,,,,,,,,::::::::::::::::::::::::::+*++*+#:,**:+++++:****##*.....,...............................    ....:*+*:****,++:+*+**+*++::********++:::::::::::::::
:::::::::::::::::::::::::::::::::::::::::+****#, ,+*+**#+*#***###                             ..  .......... ..*****,,+**+:+******++++**++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++**##+,,##,,:########:        . .....,,::++**#####***************##**************++++++++++++++++++++++++::++::+++++
::::::::::::,,,,,,,,,,,,::,::::++*********#########*########################**##**********++++::::::::::::::::::::::::::++++++++++++:::::::::::::::::::::::::::
,,::,,,,::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,::::,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,:::::::
:::+::::,,::::::::::::::::::++::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::
++:+++++++::+:++::::::++::+++:::::::::,,::+++++::::::,+:::,,::::+:::::::::::::::::::::::,:,,,,,,::::::,,,,::,,:::::::,::::,,,,,,,,,,:+::::::::::::,,,,::,,:::::
++::::::+++:+***+++++*++++::*+++++++++:::+::++****+++++++:++++++++++++++++++::::::++:+++++::,,,,,,,,,,,,,,,,,,,,,,,:,,::,,::::::++*+++:++++:::,,,,:::::::::::::
++++++++++++++::::::+++:::+:::++++:+::+++:++::::,+:::+++++::::::++++++:++++*++++++++:+:+::::++++::::+*+++++*:++++++*++*++*******++++++++:,:+++++++::::::::::::,
+++++*++**++++++:::+++++++**++:*,:*++*+++:,:+:::::++:+:++*+++:+++:++*++***+:+*+++++++:++::::++++++++++++++:::+++++:::+++++++::+*::++++*+#*******++++++::+::+++*
,,,,:::::+++++++*+++:+++:++:++::::,,::::+++++++:++::**++:+++:::::,::::+++++++++++++:**+++::+++:+*****::::,,:,:,::+::*++++:++*++++:*+*++++:::::++++++*+::+:+++::
::,,:::::::::++++:,,++++++++::+++++:::++++++++++:+++*+++:+++++::::::::++++:++:*::+::++++++++::,:,,::,,:::::++++*+++:+::++:+++*++++:::::+++++++++****++++:::+++:
,:::::::++::++:++::+++++::++:+++++++++++::+:++::++++:+++:+**++::++++::++:+++:+++++++:+++++::::::::::::::::+:++::++::++:++++++++**+:++:,+:+**+++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,..,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,............................,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..........................................,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*#**##****#####*:,+,,,::*:,,,,,,,,,,,,,,.,:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+#**####**#*+,+,*+###**+,,:::++,*++,+***+:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:#*****:::::::*#*::+##**+*,,:+,,,,.,,. ,++,++*+****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:+#**+*+**,:::::,:*#*++*+****+,:::++++:,.    .: +,.,.. ,:::+::  ..,,,,,,,,,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,.,:::*####***++*****+++::,,                ., :.,..      ,....,,,.      +,,,,,,,,,,,,,,,,,,,::::
,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::::::,,,,    ...                   ... ...:,.  .,,. .. .. .....:+:...    .. :,,,,,,,,,,,,,,,,,,,,:::
,,,,..,,.........,....,,,,,,,,.,..#*,:*:,,::+++:::::,,,.............                  ..  ,:...:.........   ..*+*****++**:...........,*+***+:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,##*+::::::::,*##****###*.,....,,, .     .  .,: + : *,.  ..  ....  .......:***+**#*+:*++***......,,.,::***+:::::::::::::::::::
:::::::::::::::::::::::::::::::::::***:+::::+##*++:++****###,,,,,,,...     + .  ..........................+**+***++***#*+****+*************::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,:::::,,,:*#*:**#++++:***###:::,,,.....      ............................***+***+:,*++**+***+******++++:+++::+::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++#*,+#+:++**,****##,.....,............................      ....**++++:++++*+++*++*+::::+********+++:::::::::::::::::
:::::::::::::::::::::::::::::::::::::::***+** ,*+,::#+****###*                                    ........+****::+**++++****++******++:::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::+++##**,:**##:*##*####.        ........,,::::++**####******************************++++++++++++++++++++++++::::::::::+++
::::::::,,,,,,,,,,,,,,,,::::::++*********#################################**##**********++++++::::::::::::::::::::::::::::::::++++++::::::++++++:::::::::::::::
::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::::::,,:,,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
*++::,,,,:::::::,,::::::::::::::::::++::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,:::::::::::::::::::::::::::
++::,::::*:++++++++:::++::::::+:,++++:::::::::,,::+:++++::+:::+:::,,::::::::,,::::::::::::::::+:,,,,,,::,,::,,,,,,,,,,,:::::,:::::::,,,,,,,:::::::::::::,,::,,:
+:::,:::++::::::+++:**+++++++++:+++:++++++++++::++::++***+++++**++++++++++:++++++++:::::::++:+++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::+++*+*++++:::,,,,::::,
::::::::++++++++++++++::::::+++:::::::++++:+:++++:++::,,++:::+++::::::::++++++:++++*++++++++:+++::::++++::::+++++:*+++++++**++*++++****+++++++++:,:++++:+::::::
:::,,,,:++****++**++:+++,:::++++++**+:++,+++++*++::++:::::+:++++**::::++::+*+++**++:*+++++++::++:::+++++:+++++++++:+:+++++:::+*++++++++*:+:++++:********++++:::
,,,,,,,,,,,,:::::+++++***+:+++++:+::::::,,:::::+++++++++++:+*+++++++::::,::::+++++++++++++++*+++++++*:+*****+:+::::,,,:+:::++++++:**+::+:+++*+::+:::+::+++++*:+
,,:,,,,,,,,,:::::::::++++:::+++++++:::+:+++:::++++++++++:++**+*+::++++::::::::++++++:++,++++++++++++:,::,,::,::::::++++*+::,::+++:+:+*+++:++::++++*+++:+****+++
,,,:::,,,:::::::++::++:++:+++++++++++++++++:+++:::+:+:::++++:++::+**++++++++:+++:++:++++++++:+*+++::::,,:::::::::+::++::++::+:++++++++++*+:+:::+++**++*+++++::+
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,*.,,,,,,,,,,,,,,,,,,,,,
,,,,,,........,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.*.,,,,,,,,,,,,,,,,,,,,,
,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..*.,,,,,,,,,,,,,,,,,,,,,
,,,,................,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,,,,,,,,,,,,,
,,,,............................,,,,,,,,................,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,
,,,,....................................................,,,:,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,
,,,,......................................................,:,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,
,,,,....................................................,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,......,,..,,..,,..,,,,..........,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+*##*##########****++,,,,::::+:,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,.,,,,,,,,,,,,,,,,,,,
,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,****##*+:,+#*,::+*+***::,:,:,,++.::+***++:,,,,,,.:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,
,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+.,,*#*****:,,,,,,+****#*#**::+:+:. ,,,,.,+:+:***+,....,,,.,...,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***#*++***+::::::++:::++****+::,,. . . .,, + . ..,..,,:+:... .:,,,,,,,,,,,,.,+,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:+*:#**++**:..      ..               .,  :...  .      ....::..      +:,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,
,,,,,,.,,,,,,,,,,,,,......,,,,,,,,,,,,,:++:::,,,,,,,,,,,....                    .,***:,:::   .     .,+***:,.. :,......  .,::,,,,,,,,,,,,,,+::,,,,,:::::::::::::
....,,,,,,,,,,,,..,,,,,,,,,##*++++++:+:::*###*,.....,,,,,.        .      : ,,  .:.  ..      ....,*+*+++++,+*+*,......   .+****+:::::::::::::::::+++++++++++++++
,,,,,,::::,,:::::::::::::::+**+:++:::**#++*****###:,,,,,,...     +,.:. .. ,....................+**+*********+**+::+***********:::::::::::::::::::::::::::::::::
::++++++++++::::::::::::::::,::::::+#*+*::**++****#*::::,........,  ..................    ....,**+***+++****+***:+::+******+++:::::::::::::::::::::::::::::::::
::::::::,,::,,,,,,,,,,,,,,,,,,:++++#*,**++++*:****##  . ......................................:**+***::+++**+****+::++::::+**++++*+::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::*****,.+#:::+*+#***##,...  ..                                ..,***:::*****++********++++++:::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::+**##*,,:#++:+##**###      ..       ...  ........,,::::++*************++++****+++****++++++:::::::::::::::::::::::::::::::::::::
::::::::::::::,,::::::,,:+***********##***########################****##**************++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,::::,::::::::::::::::::::,::,,::::,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,::,,,,::,,,,,,::::::,,,,,,,,,,,,,,,,::,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::,:::::,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::++:+::++++++::,,,,::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,:::::::::::::::::::::::::
:*:+++:+++::++:,,:::+*:++++:++::::+:::+::::+.*++::::::::,,,:::+:+:::::::,::,:,,::::,::::::::::::::::::::,,:,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,::,,:::,:,:::
+++++++++++++:::,:::++::::::++::**++**++**+++++++*++:+::::::++++++:++++:++**++++++++++++++::++:::::+++:::::::::,,,,,,,,,,,:,,,::,,,:,,,,,,,,,,,,,,,,,:+:+*+*+++
+++++++:++::::::::::++++++++++++::::::::::::::::,:::::++:+::::++::::+:,::+++:+:++:::+++*++++++**++**+*+:*+*:::,:::::::,:++:::+*++++++::++**+++*+:+++******:,+++
+++++++++:::::::,,,:++++**++*+++++*:,:+:+:+++++++:+::+*+**++::++:::::++:++++++::+++::+++++***+++*++++++++++::::+:+++*+::++*++++:++:::+:+*+*+++++::**++*+:*::**+
+,,,,,:,,.,,,,,,,,,,,,,,,,::::+++++++++:+*+:++::++::,,,,:::::++:++::::,++:+:*::+:++:::,::::+++++++++*:+**+++*+*++*+*+*++++::,,::::::::+*++++++**++++++:++::+***
::,:,::,,,,,,,,,,,,,,:,,,:::::::::++*+:.::+++++::::::::::::+*+:+++++++++::*::+++++::::::+++++++::*:+:+++++++++::+::::::::::,:::++:**++::*+**+:++++::+,++*++++++
,,:::::::,,:,,,:::,,,:::::+:+:::++:+::+++++++:+++++++++++++++++++++++++++*+::+*++:++:::::+*++*+:+++***+::+++:+++:::,::,,,,,,:+:+++++++++:+++++:+::**++++:::++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.*.,,,,,,,,,,,,,,,,,
,,,,,,,,....,,,,..,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..+.,,,,,,,,,,,,,,,,,
,,,,........,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,,,,,,,,,
,,,,................,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,
,,,,............................,,,,,,,,,,......,,,,....,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,
,,,,..............................................,,....,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,
,,,,..........................................................,:,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,
,,,,..........................................................,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,......,,......,,..,,,,........,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,:*####**##******++:,+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*#*#####***+,::#+****,,:,:+:+++::***+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+***:**::,,::,+*+:****+,,:++:,,,,,..,:,:+++****++::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:****+++#+:,,,:::,*::++***+::*+*++:.   ...:.,,.:.,..:::+,  ..,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,.:+::*#####***++:,..  ..  ....          .,,,.. .     ,...,:,.     .+:,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,.........,,,:+++::::,,,,,,,,. .. ..                ,+++.::,:.... .   .,,::,.   ::. .     ...,,,,,:,,,,,,,,,,,,,,,,,,,:++,,,,,,:::::::::
,,,,,,,,,,,,:,,,,,,,,.*#*+++++::++:::+*+,.....,,,,.,          .    ,.,..  +.  .,         .*****+:+*++**........  :*****:::,,,,,,::::::::::::::::::::+++++++++++
,,,,,,,,,,,,::,,::::,:+:++++::::###***#***##*,,,,,,,..  .  :. :..:. ........  ......... :****#******+***::::++*********::::::::::::::::::::::::::::::::::::::::
::::::++++++++++::::::::::::::+#*++#+*#:****##:::::,.......,....     ...........  ......**+*+++*+*+**+***++::+******+*+::::::::::::::::::::::::::::::::::::::::
::::::::::::,,::,,,,,,,,::++++#*,*++++**:***##: . ......................................**++**::*++**+****+:++++::++**++++*::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::*****:.:#:::*+****###...  ..                              .. .***+:+****++*********++++++::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++**##,,**+*+*##*###:         .. . .........,,::::++++****************+*****++****++++++++:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,:::+++*********############################************++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,::::::::,,::::::::,,:,:,,,,,:,,,,,,,,,,,,:::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::,,,,,,::,,::,,,,::::,,::::,,::,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::::::+:::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::,
+++++:++++++:+****+:::,,:::::::::,,,,,,,::::::::,,:::+::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::
+++++:++++++++++:++:,,::++::+++:+*:::::+::+::+++:+++::::::::::,,::+:++*:::::,:+,:::,::::,:,:::::::::::::::+:::::,:,,,,,,,,,,,,::::::::::,:::::::::::::::::,,:::
+:+::+++++*:+++++:::,,:::+:::,::::+::**+++*++++:+++:*+++++++++:::+::+++++++:++**+:++++:+++++++++:++:::::::++::++++::,,,,,,,,,,,,,,,,::,,,,.,,,:,,,,,,,,,:::+++*
++++++++++++::++:::::::::::++++++++++++:::::++::::+:::++++:+::++::++:::,++:::+++++::+:::++*+++++++**::++++*+:+++,:::+:::+:::+*+++:++:+++:+++++**++*+**++++*****
++++:+++++++::::::::,,,,::++**+*+*++::++:::::+:++++++::*,:+++++++::++:::::+::+++**+:+,++++++*++***+:**++++++:+++:::+*+*+:+++:++++++*+:+++:::++**+++++++++++++**
++**:+,,,,,+,,,,,,,,,,,:,,,,,,,,:+++++***+:+:+::,++::++:,,,,::::++++:+::++++++++:*:+::+:,::::::+++++*+++++,+**++++++**:***++:::+:::,,:,::::**+:+,:++**++*+:++*+
+++++::::,:,,:,,,:::,,,,,,,,::,:::::::++:+,:++++++::::++:++:::++++:+*+**++++*:++::++++:+:,,,::+++++++++::++++*++::::::,:,,+:,::::+::+*+**+:::++**+,:::++:+,+:*+
,,::,,:::::,,,,,,,,,:::::::::::::+::+::+:::+++++,+:+:+:*+++:+++:::+:++++++:+:+:::+**++:+++++::++++++:+:****::+++::++:+::,:::,,,,,:::++++**+++:++++++++:++*+++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.*,,,,,,,,,,,,,,
,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,,,,,
,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
,,,,,,,,............,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,
,,,,.....................................,,,..,,..........,,......,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,
,,,,...............................................................:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,
,,,,..............................................................,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,,
,,,,,,,,,,........................................................,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,
,,,,,,,,,,,,,,..,,,,,,......,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+##********##***::,::++:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:##**###*++**::+*##***,,+::,,::::+****+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***::#+*:,,,,+****#***+::+*:..,:,.,:,::++*+:,...,,.,...,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:#*#*:+:**,::,,::,:,,:++***++,,. ... .,: + . .,..,,:::,   .::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,::+++*+++*+,..  ........            :. ., .  .     .,..:::.      :+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:
,,,,,,,,,,,,,,,,,::,,,::...,::+:,,,.,,,,,,,,....                  ..,*#*,,...  ..    .******:.  ,. ..... .:++::::,,,,,,,,,,,,:,,,,,,,,,,,,::::,,:::+,::::,,,:::
,,,,,,,,,,..,,,,:+*#**++:::++:######+..,..,,,,..      .   ..: :,              .. ..***+****+:*+*,..... ::.+*#***::::::::,,::::,,,,,,,,:::::::::::::::::::::::::
::::,,::::::::::::+**+++::+##*+++****##*,,,,,,..     +. :........................:**+*********+****************+:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::,,::*#++*+*++:****##:::,:......        ..............  .....**+****:,*+**+***++*+*****+,:*+:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,:++++#:,*++++*:****##...............................      ...***:*,.+++***+*++++::++*******+:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::+****, +#*+*+*#**###,                  ..           ...     :***:,:***+********++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::**,,::+*######*.   ...,,::++**############****####*****************+++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::::::::+++********###########*+********++++::::::::,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::
:::::::::::::+++++::::+:::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,::::::::::::::,,::::,,,,,,:::
++++++++++:+++++++*++++:,,,,::++++::::,,..,,.+,,,:::::+::*+:::::::::::::::,,,,::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
++*+++++++++++:+++++++:::,::::++++++:+++:+:+::::+,::*++**+::::::::::::++++*:+++:,+*++:::++,::++:::::::::::::::,::::,,:,,,,,,::::,,,,,:::::::::+,,,::::,,,,,,::,
+:++::+:++::::++:::+:::::,:::+::++:++:+:::::++::++:::::+++::+++++::+::++++++::::++++++++**::++:+++:++++++++:++**++++:+::,,,,,,,,,,,,,,,:::,,,,:::,:::::::::::++
+++++++++++++++:::+::::,,,,,::::++++++++++++:::::+++:++:::*+++::+++++++::::::::::+++++++::+::++:+++++*++++++++:+:+++::::++:::::::+*+*++*+:++:+++**+*++*******++
+++++++++++:+*+:::::,:::,,,,,,,:++*+:+++++::+:+++++*++++*+***+::+::++++:++++++++:::++*+++*++::++*++::++:++++*:+++,:+::+:*+++++*+*+*+++:::::++++:+:+++*++++++*+:
*+*+++**+:,,,,,:,:,,,,,,,:,,:,,,,::::+++++++++:+++::++*+:,,:::::::,:+*:+++::++:++*++*+:::+:::::::::+++++:*:+::::*++++:,:+*++*+:++::+::,,:,,:+++**++++++++*:+*:+
++++++::,:,,:::::+:,:,:+,,,,,,,,::,:+++:++++:+:+++++++:+:+++++++::++++++++**+++++:.:++++:+::::::::++:++,+:++:++:::++++**+:::,,,::::+::::+*++++++:+:+++++++**+++
**+:,,,,,,,::,:,,,,,,,,,,,:+:::::::::+++:::++:++:+++++++::+++:+:::++::+:+++::+:++:++*+:+++:+++++++:++::+::,::::++++++++:::::,::+::::++*+:*++::++:++:++*++**++**
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,
,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.*.,,,,,,,,,
,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,
,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,
,,,,,,,,............,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
........................................,,,,..,,..........,,........,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,
....................................................................,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,
,,,,................................................................,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,
,,,,..,,............................................................,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,
,,,,,,,,,,,,,,..,,,,,,..,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,:+***####***+:::+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,
,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*#**#####**:+*##**,,,:,:::**+,***+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,
,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+#*+::#**:::,*+:+*#**+,:+*+:,..,.,:::+++****++:::.::::++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,****::*++:,::::,*++*+**++:++**+,,   . :.,..,.,.,:++,. ..,::++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,:,:**#*****+*+:,,.. .......         :.: ...    ., .,::...    :::,++++++++,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,+:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:::+:::::,,,,,,, ..   .              ,+:+.::,.. .  ....::*+,.  .:......   ,:++:++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,:++:::::,,
,,,,,,,,,,,,,#**::++:::+::+*+,.,.,,,,,,,..     .      ..,.   ,   .      .. .****++++++***,....,....+****+::::::::,,,,,::::,,::,,,,,,,,,,:::::::::::::::::::::::
::::,,,,,,,,:+++:::::+###******##*,,,,,,..  .  :,.+. . .......  ...........***********+******************+:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::*#+++:*#+****##:::::......          ..................:**+***++*+**+**++*++*****+,+*++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++*+,*+:*+*:****#:.. ...................................+**::,++++**+****+++::+*******++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::+****..*:::***#**##*                          ..     .....,***:,+***++********++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,:::+*+,:#+,##**###.    ......,,++****##**##********####**************++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++********############**********++++++::::::::::,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::++::::::::,,,,,,,,,,,,,,,,,,::,,,,:::::::
::::::::::::::::::++::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::
++++++*+++++++++++++++*+*++:,,,,,:++++:::,,,..,,.:,,,:::::+::*+:+:::::::::::::,,,,::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,
+++++++:+++:++++++++++++:+::,,::::++++++++++++:+::::+,++*++*++:::::::::::++++++:+++::*++::::++,::++:::::::::::++::,:::,:,::,,,,,::::,,,,,:::::::::+:,,::::,,,,,
:::++:++::+:::::+:++:::+::::,,:::+:::::++:+:::::+++:++:::::+++::+++++::+:+++++++::::++++++++**::++:+++:+++*++++:::**+++*::::,,:::,,,,,,,,,,::::,,,:,::::+::::::
+++++++++++++++++++:+::::::,,,,,,:::++++++:+++++::::++++:++:::+++++:++*++++:+::::+:::++++++:::+:++::+:+++*++++++++:+:+++:::::::::::::++**++*+:++:+:+*++*+++****
+++++++++++++++++*++:::,,:::,,,,,,,:++**:+++++::+:++:++*++++++***+::+:::::::++++++++:+:+:*++*++*:::+*++::++:++:+*:+++,:+::+:*+++*+*+++*+:+,::,,:+++:+++++*+++::
*++*++++++***:,,,,,:,:,,,,,,,:,,:,,,,,::++++++++::::+:::++*+:,,:::::::::+*:+++++++:++*++*+:::+::::::,::+++++:+++,:+:*++++:,++*++++++*::++:,,+,,:++:*+**+:+:++**
+*++++:+++::::,,:::::+:,:,:+,,,,,,,,::,:+++:::++:+++++++++:+:+++++++:::+++++++**++++:+.:++++:+:+::::::++:++,+:*+:**:+,++++*++:::,,:,::::+,::+*++**+*:+:+++++++*
++:++++:,,,,,,,,:,:::,,,,,,,,,:::::::::::++::::++:++:+*+++++::+++:+:::++::+:+++::+:+:::+*+:+++:+++:+++:++:,:::::++*+++++++++:::::::+::+:++++:*++::++:++:+++*+++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,
,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,
,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,
,,,,,,,,,,,,............,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,
,,,,,,,,,,,,........,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,
............................,,......................................,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,
......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,
,,,,....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,
,,,,..,,............................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,+,,,,,,
,,,,,,,,,,,,,,..,,,,,,..,,,,,,..,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:+**##******+:+++****::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:#*##*####*::+##**+,,,:++:+++:***++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,*#*:::**#::,+*+:****+,++*++:.,..:::::+****::::,,,,,,,:+++++++++++++++++:,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:#**++,+::+::,:::+,:****++*++:..   ., : . .+..,,++,.  .,::++++*++++++++++++++:,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,::,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++#**#**+::...........        ..  :.,  .     .,.,::,..  . :+:,:+++*++++++++++++++:,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,::,,,,
,,,,,,,,,,,,,,,,,,,:++::,,::,,,,,,...   .             .,***,,,..  . . ..+*++**,  ......... ,+++:++++++++:,::::::::::,,::,,,,,,,,,,,,::::::::::::::::::::::+:::+
::::,,,:*#*+++:::+:*#####,.,,,,,,,..          . :.:.            ..  ,***+****:++**......::.:*++***+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,:+**:++:+##++++*****#::,,::....   +.., .....................,**+*#******+*****************+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++:::::::::::#*:+*:+*:****#+::,,......     ......................+***++++,**************+++::**++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::+****,:*::*++****#*....,.......................      ...:**:+**,*+*++****::++******++::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::***#..**:+*+#**##*        ....              ...........:****:+::+*********++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++**::,*######*+::+***########****######****##****##**********++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::+++++++******+++:::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::,,,,,,,,,,,,::::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::,,,,::::::::::,,,,::,
::::::::+:++:+:::::::++:++++++:::,,,::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::
+++++++:+:+:++++++++:+++:+++++:,,,,,:+:::+::::,,:::,+,:::::+++::++::::::,,::::,:::,,::::,:::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,
++++++:*++++:++:+++++++++++++:::,:::++::::::++++++++**++*++*+**++**+++++::::++++:::+:+++:+++:+++++*++:++++:++:,:::+::++::::::::,,,,,,,,,,,,,,,,,,:,,:,,:,,::,,,
+++:::++++++::++++++:+++::::::::::::++++++:+::+++:+::+::::+:::::::::::+++++:+++++:::::::+:++:+:+++:+:++*++++++*++++****+++++:::,::,:::,:+++++:++:+++::::+*+*+++
++++++++++++++++++++++++::::::::,,,,++++++++*+++++*+:,::*++++++++:+++++++++++:++:::::++:++++++::+++::+++*++**++:*++++++++++::::++:++:+:::+++*+:+::+:++:++*+*+++
++::++++++*+++++++:,,:,,,,,,,::,,,,,,,,,:::+:::+++:+++:+:+*+++,:++::,,,,::,:+++:+::::+,:+:++++++*+*:::,:::++++*++++++++++*+++:++**++****++*+,:,,,::::::+*+*:+++
++:++++++***++++:::,:,:,,:.,,,,,:,,,,,,,::,:::::::++++:.+++:+++:::+:::::::+:+++++++*+++++:++:++:+++:::::++::+++:,+++*::++:+++++:+:,:,:::,+::,:,:++,+++:::+:***:
++++++++**+:,,,,,:,::,:,,:,,,,::,,,,,,:::::+:+::++:++:::::+:+::+++*:+++:++++++++*+:++++++**+:++*++++++++++*+*+:::+++***+:+++::++::::,:+:,,,,,:::++++++++*++++++
++++**++++::,,,,,,,,::::,,,,,,+:,,:,:+::::,:+**+:::+:++:+++++++++++++++:+::+++++++++++:::::+++:+++:+:+++++:+++::::+++:+::+***++::::::+:++**++*:+++:::++:+*++*+*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,..............,,,,,,,,....,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,..............,,................................................,,......,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................,,,,........,,....................................,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................................,.,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................................................,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,....................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,..,,,,,,....................................................,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:+***##*****+::+***+++,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+**###**###:++##**:,::++:*::,+##*+::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++:,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.***++::+++*::*++*#*+:+++::+:,.,::,+***:,..,,... .,:::,,,,,,,,,,,,,:++++:++***+:++++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,**:+*+++**+*++::,,:****+:,.   . ,: ,....,..,++:.   ,::::,,,,,,,,,:+++***++++****+:++++++++++++:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,+*+::+*,..                 . ,, ...   .    ..,++,..  . .:::,,,,:+:::+::++:+++:::+****++:+:+++++++++:,,,,,,,,,,,,,,,,:,,::,,::::::,,:::::
::,,,,,:::+:,,,,::,,,,,,.   ..            .,+++..     .  .:***++**:...........+++***++::::::::::::::::::::::::::::::::::::,,,:,,:::::::::::::::::::::::::::::::
#*++++:+:#######+.,,,,,,..... . .:.:: :.            ..  #****#***++**,.......:++******+:::::::::::::::::::::::++++++++::::++::++:::::::::::::::::::::::::::::::
++::::*#*++++****#*::::,....  , .......................**+**+***********************++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++++#++*++++****#,.. ................................**+*+,:+***********++++:+****++*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::+****.:+.:+*****#*..................              .. **+:+**+**+**********+++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+***:,++*:*#####,.  .     ...........,,::++**************************++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++****##*#################**********++++++:::::,,,::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::
,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::,,,,::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::::,,,,::,,:::::::::::
,::::::::::::::::::::::::::::::::::::::,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,:::::::
++++++++++:+++++++++++::::++:++:++**++:,,,,,::+++:::,,..,.,,,,,,:::::::++:::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
++++++:+++++,:+::++::+:::+:+++++++++++:,,,:::::+++::*+:+:+::+::::**+*+*+::+:::::,,,:++++++::++,:*+::::::::::::::::::::::::++:::::::.,,,,,,::::::,,,,:::::::::+:
+++:+:::+++:++++:+++:++:+:++++:++::+:::::::::::::,:+:++:::++++:+::::+:++++:+++++:++:++++++++:+++++*+:+++::++++:++:++++++*+:++**+++++:::,:,,,:,,:,,::::*:++,::+,
:+:++++++++:++++::++::++::++++::::::+:,,::,:+::++++++:++:++,+:::+:+::+:::+:+:::+**++++:+::+::::+++++++:::::+++:++++++++++++++++++++::,::+:+:::::+++*++*+::+::++
++++++++++++:++++++++:++++++++::::,,:::,,,,,::++++*:++::++:++++:+:*+++++:+*+++:+:::+::++++++:++,+:+*+++*+++:::**::,:++:+*:+*++++,:++::++**++++**+:+++:,:,,:::+:
++++++++:+++:+++++++++*+:+,,,,:+:,,,,,,,,,:,,,,,,,:::++++++*+:*++++,*++:::,:::,:::+++:++*:++::++**+*::+:+:::::::+++++++++++:+::*+++:+:++**++*++**,+*:::::,:++++
+++*+++*:+++**++++++++:::::::,:,:*:,,:+:,,,,,,,,::::+::::+::+*+:+++++:++*:+++++::+::+:+:**+++++:+.*+:*+:::+:::::::+::*,*:*+,++:::++*+*+++,::.,::::++,:,:+**++*+
++++++++++++++++++::,,::,,,::,:,,,,,:,,,::+:::::::::++::::++,:++:+:++++:++++:+:::+:::::+++::+:*::++++++++::++++:+:+:+,:,+::::++++**+*:+:+:,,::++::++*+++:*+:++:
+++*+++*++*+++++++::,,,,,:,,,,::,,::,,:,,::,+:,,,:,:++++::++:++++:+:++:+++::+:++:+++::,,,,+++++::+:++:++:::+:+:+++++::++++:+++++:+++++:::::::::++*++:+::+:+:+**
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,............,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,............,,,,,,,,....,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,............,,................................................,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,..................,,,,....................,,,,..,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................................................................,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,..........................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..............,,,,............................................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:*###*#####**+,:,,:++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:*#****#:*#*,,+*#*,.,+::,+,.::+++***+::,,,,,,,..,,,,,,,,,:,,,,,,,,,,,,,,,,::++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,+##*:+:::+**:**##*#*+++*,:,+*,,,::,. . ,,++++.. .,++:,,,,,,,,,,,,,,,,,,,,:+++**+*******+:++++++++++++:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,+#*#+*+:++++**++++,,..  . .   : ,,    .:. .+*,    .+:::::,,,,,,:,,,,,:,,,,:+++***+*++******++++++++++++++:++,,,,,,,,,,,,:,,,,,,,:::::::::::
,,,,,,,,::::++::+:....,,         ....... ..:,.  ...   ..  ..++. ...... ....,,,,,,,,:,,,,,,,,::,,:,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,:::::
+++++:::,,,,,,,,,...    .. .  .,,...+  ...      .:*******+** ........:*****:++*+::::::::::::::::::::::::::::::::++++++::::++++++++:::::::::::::::::::::::::::::
:*##*#***##+:::::..... ,. + +,..................********:++*#+++************+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#*++***+***#*+++:.....   .      ...............:******+***+*****:+*****::***+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*,:*++*+****#....,......................    ...+#++**:+*+*****+++++********++::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*.,*::*****##             ....  ....      .... :**++++*+**************++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*:::+####**:..,::****################**############****++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*******+++::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,::::,,,,::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,::,,,,,,::::,,:
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,::,,,,:::::::::::::::::::
:::::+::++::::::::::++:+:::::::+::++++++:,:,,,::::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:++::++:+++++++::+++:++++++++:++:++++++:,,,,,::::+:+++:,::::+::::+:+:++::+:::::,,:,:::::+::::::::::,,,,::::::::::::::::::::::::::::,,::,,,,,,,,,,,,::,::,,,:::
::+++:+++++++++++*++++:+++++++++++++*:+:::,:::++:::+::+++:++++*+++*****++***++++::+:+:++++++:+++:+:**+++++*++++:++:+++:+:::+:+:++::+++++,,,,,,,,,,,,,,,,,,,,:,,
::::::+++++++:::++++++::++++++:++::+::::::::::::++++++::++::+::::::::::+:::::::++:++:::++++:::+:::++++:+:++:++*+**:+++***++:**++*++++:::,:+:::::::**+++:*+:++*:
+++:++++++::++:+++++:+++++++++++::+::,:::,,,::++++++:+*+++++*:,++++:+++++++:+:++++**++,:++::::+++++:+**+::+*++:++++++**+:+**++++++++++++:+++++:***:+*+++:+::++:
:+++++++++++::++++++*+++++++:,,,,,,,,,,:,,,,,,,,,,,::+:+:+++:*++::+*+:+:::+::,,,,::::::++:::::::,+::++++++:++::,::::+++**+++++*++*+*++++*+*+***+*+::*++:::,:::+
++++++++*+:+:++++++*++++++::,,:,,,,,.,:,,,,,,,,,,,,,::,::::::++::::++++::::::::::::::+++:*++++++:*+++::++++:::,,::++::::++:*++*+++++*+:+::+:,+,:+:,,::,:::+****
++++++:+++++++++++**+:,,,,,:,::,,,,::,,,,,:::,,,::::::++:++++++:++++::::::+++++*++++*+++:+:+++:++:+*+::+*++:+:+++:+:+:+++::+****++++*++:++++::,:::::,,:::++++++
++++++*****+++**++++::,,,,,,,,:,,,,,,:,,::,,:,::::::,:*+:*::+::+::+++++++++++++::+++:++++++:+:+++::+++++:++:++:+++++++:+::,:*++:::+++*+++::::::+::+***+*+::+::+
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,........,,,,,,,,........,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,........,,,,........................................,,....,,..........,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................................................,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................................,,..+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................................................,,+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
,,,,,,,,..........................................................................,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,
,,,,,,,,,,..............,,,,..................................................,,,,,,:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,.,:+********+:::**#*++*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,+***#****#+:+#***,:,:+,**::*#**++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,:::+::++::++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,***::::::******#**::++:,+*,,++:+**+:,.,,,,....:+++:,,,,,,,,,,,,,,,,:,,,,,,,,,,,,++************++++++++++++++,,,,,,,,,,,,..,,.,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,.:****+++**+*+#*:,,+**+:,.     ,:.. ...,. ,++..  .:+:+++:,,,,,,,,,,,,,,,:,,,,,+,,,:++++++**+*+*****++++++++++++++++::,,,,::,,,,,,::,,,,::::::,,:::
,,,,,,::::++...,:...        ..     .,:. ,         ..:*:   ... ::::,.,,,,,,,,,,,,,,,,::,,,,::::::,,,,,,,,::,,::::::::::::::::::,,,:,,,,,,,,,,,,,,::::,,,,:::::::
:,,,:::::,,..       .    .. +. , ...     .+***#****, ...... .+*****:+:::::::::::,,::::::::::::::::::,,,,:::::::::+++++++++++++++++++++++:::::::::::::::::::::::
**##+,:::,...... ,.+ :: ,............. .:***#*###++**,..,:++*********+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+****#++::,.......  .................. .**********+***++:+*****++***++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+***#,................................,**+**,*+********+++*********++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#***###             ..  ....    ..  ....**+:******************++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####**. ..,,::***#**##############****####**##****++++++::::::::::::::::::::::::::::::::::::::,,::,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
**++::::::::,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:::::,,,,,,,,,,::,,,,:::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,::,,::::::::::::::,,:::
+:::::++++++::::::::::++++:::::::+::++++++:,:,,,::::::::::::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:++:++::++:+:+*+++:::++::+++++:++++:++++++:,,,,:+:++::::+:::++:++:::+++,+++:::+::::::,::++:++:::::::+:::,,::::::::::::::::::::::::::::,,::,,,,::::::::,,,::::::
++::++*:++++++++++++++*++:+:++++:+*++++:+:::,:::*:::+,:::+:+**++*+*:**,:++**++*+++:++:+:::::+*+++++++*++:+++*+:*:++*+:++*+++:::+++++++*:++::,,,,:,:,,,.,,,:,:::
++:::::++++++++:::++:+++::++++++++:+++:::::::::+++++++*++:+++:,:::::+::::+:::+:++++:++:+:++++:,+::::++++::::+::++*:*::++++++++++++:++++::,::*:+::::::**+*+**+:+
++:++::+++++++++:+++++:+++++++++++++::,,,::,,,,::+++*+++++++:++:::+++,++++++:+:.++++++++,:++::::++::+:+*++++:++:+***+++**+:+*+**++++::++:::++*+++**+++++++::::+
+++++++++++++:::++++++***+*+++,,,,,,,,,,.,,,,,,,,,,,,::::+:+:++*+++:+++:+++:+:,,,,,::::::++:*:++::++++++++++::::::::++++++++++:++::+*++++:++*+++*++**++++,,::::
:++++++++++*:+:++++++++*++++:::::,,:.,,,,,,::,,,,,,,::::,:::::::+,++++:::+:::+:+++:::+++*+:++++:+++**::+++++::::::,,::+::+:+,*:.:+++****++++::::,,:,,:++::::**+
++++++++++++**+++++++++:,,,,,:,:::,,::,,,,,,::,:,,:::::::+:+::+++:+++++::+::++++++,:++:::::+:+:++++::++:****+++++++++++:++::+:+:+:++:**+++++,:,,,::+::+:+::+:++
++++++**++***+****+++++:,,,,,,,,,,::,,,:,,,:,,:,:+::,,,:*++*::+:+++++:+:++:+++:+::++++++++::,,:++++:+++:++:+++++:+:+++++::::::++++:+:++++++:::::,:::+++++++:::+
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,........,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..,,,,,,........,,,,,,......................................,,....,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..................................................................................,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,
,,,,,,,,..........................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,..............,,,,..................................................,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,..,,......:,+*##**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,.,,**####**#**##*,.:,::++*::***+::,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,,,,,,,,,,,,,,:::+:::+++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:#*+:::::::**:***::+**+,.,.:+:::+***+:++:,,,,::::,,,,,,,,.,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:******+++*****+++++++++++++:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,****+***#*,*+*+::*#***+:..  .: , .....,.+*, . ,++++++:,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,+,,,:+++++++++++****+*+++:++++++++++,,,,,:,,::,,,,::,:,,,,,,:::::::
,,::***+*+,,. ..   .     .  .,. , . .     ..:*:..... .++:+..,,,,,,,,,,,,,,,,,,::,,,,,,,:,::::,::,,,,,,,,,,,,::::::::::::::,,::::::::,,,,,,,,,,,,:::::::::::::::
:::,..        .   ...,::..        ,*******...... .  :***+***++++::,,,,::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++:::::::::::::::::::::::
:::,.... ...,.,,,,..............:***####+++*,... ..,+*********+*::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::+,.... ........ ..............*************++++***********+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
...............................,*++*,:*+********+++****#*****+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
                ..  ....      .,**++********##********++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 ....,::++**################**####********++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::::,,::::::::::::::,,:::::::::::::::::::::::::::::::::::
::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,::::::::,,:::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,::++++::::::,,,,,,::::::,,:::
::::::::::::::::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,::,,,,::::::::,,:::::::::
++::::::+++++:::::::::,:::++:::::::::++++++::,,,,:::::::::::::::,,::,,,,,,::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:
:::+:++:+++:+::++++::+:+:+++++++++++:++++++:,,,,,++:::+::*::::++:++::+++.+++:::+::::,,,::++:+:::::::,:+:::,,::::::::::::::::::::::::::,:,,,,,,::::::::,,,,:::::
:::+::++:+++++++:::+++*+++++:++++::*:+:+::::,,:::++:::.:::+:+*++++++**+:*+::**:++++:++:+::++:+**+++++:*::+++++::++++*+:+++++::+++++*++**++:::,,,,,,,,,,,,,:,:,:
:+:+::+::+:+++++::::++:+::+++++++++++::::::::::::+++++*++::+++:::::::+::::+:::+::++++:+++:++++:,::::++++++:+::::++*:*++++*++++:+++:+++++:::::*::+::++:+*+*++*+:
++:::+++++++::++++++++++++++::+::+++::::,,::,,,,::++**+++*+++++++,:::+++++++::++.:++++*++,:+::++:+++:+:++*+++:+++:+**+++**::+*++*+++*:.*+::++++++*:*++++:+::,::
++++++++*++++:+:::++++++*++*+++:,,,,,,..,,,,.:,,,,:,,,,,:++:++++**++:+++:+:+:++:,,::::,+++++++::++:+**+*++++:::::,::::++++++++++:+::**++++++++*+***+**+:+:::::,
::*+:+++++++*:+++*+:++*+++++++::,:,:,,,,,,,,,,,,,,,,,:,:,:::::++:+.:++++++++:::::+:+:::+++:++++*++:+++++::++::::::,,:::+:+*+*+*+,:+:++:+*+***+:,:,,,::::*+,::++
++++++++++++++++++++++++:,,,,,:,,+,:,,,,,,,,,:,:::,:::::::+:++:+:+:+:*++:+++:*++:++:++::,:::+:+:++**::+:++**+++:++++:+:+:++++++::+:+++**++++:::,,:::++:::++:+:+
+++++++++++***+++*++++++::,,,,,,::::,:,,:,,,:,,:::::,,:::+++*,+++:+++++++:+:++++++:+:+++++++:,,:++++++++::+:++++::++++++:::::::++**:+:*++*++,::::::::+*+*+:*+++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,........,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..,,,,,,........,,,,,,............................................,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,............................................................................,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,................................................................................,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,..........................................................................,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,......................................................................,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,.,+*##########*+:.,:,,:+++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,+++:+++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,+#*+:+***:+::***,,+*,,:..:++******::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**++++*+******+++++++++++++:...,,,,,,,,,,,,,,:,,,,,,,,,,,,,
,*#*::++**+:+**###*+++,:+**:,...,...,,::::....++***++,,,....,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,+:,,:+++**++++++******++++++++++++++::,,,,,,::,,,,::,:,,,,,,::::::,
***##***::,,.. . . ........     .,..*+......:+:::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::,,::,,,,,,,,,,,,,:::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::
..  .... .   +*::::...   .,+**, . ,.......,:***++++:::::::::,,::,,,,,,,,::::::::::,,::::::::::::::::,,,,::::::::::++++++++++++++++++++:::::::::::::::::::::::::
  . .., :..............,**********,... .+,:************+::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.: ...................,***********#***************++:+::,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
......................+*+**,+**#**#**********+******::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
            ..      ..:*+:**************###*++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
..,,,,::++****##*#######****************++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::,,::,,:::::::::::::::::::::::::::::::::::
::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,:::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,::++++::::::,,,,,,::,,,,:::::
::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,::,,,,:::::::::::::::::::
+++::::::::++:::::::::::::+:::::::::::+++++::,,,,:::::::::::::::::::,,,,,,::++::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:
:::::++:+++:+:+++++:++:+:+++++++++++:++++++:,,,,,++::::::*:::::::++::+++,+++:::+::::,,,::++:+:::::::,:+:::,,::+:::::::::::::::::::::::,:,,,,,,::::::::,,,,:::::
::++:+++::++++++:::+++*+++:+:++++::+:+:+::::,,:::++:::,:+++::**+++*+:*+:*+::**:++++:*::+::++:+**+++++:*:::++++::++++*+:+++++::+++++*++***+:::,,,,,,,,,,,,,:,:,:
:+:+::+::+:+++++::::++:++:++++++::+++:+::::::::::+:+++*++::+++::+:::::::,:+:::++:+:++:+++:++++:,::::++++++:+::::++*:*++++*++++:+++:+++++:::::*::+::++:*++*++*+:
+++::+++++++++++++:+++++++++::+:++++::::,,::,,,,::++**+++*+++++++,:::*:+++++::++.:+++++++,:+::++:+++:*:++*+++:+++:+**+++**::+*++*+++*:.++::++++++*+*++++:++:::,
++++++++*++++++:::++++++*++*:++:,,:,,,,,.,,,::,,,,:,,,,,::+:++++**++:+++:++::++:,,::::,+++++++::++:+**+*++++:::::,::::++++++++++:+::*+++++++++*+**++**+++::::::
++++:++++++++:++**+:++*+++++++:,,:,:,,,,,,,,:,,,,,,,,:,:,:::::++:+.::+++++++:::::++:+::+++:+++**++:+++++::++::::::::::,+:++:++*+,:+::::+*++**+:,:,,,,:::++,::+*
++++++::+:++++++++++++++:,,,,,:,,+,:,,,,,,,,,:,:::,:::::::+:++:+:+:+:*++:+++:*++:++:++::,:::+:+:++**::+:++**+++:++++:+:+::++:++::+:++:**++*:,:::,:::++::++*++:+
+++++++++++***+++*++++++:,,,,,,,::::,:,::,,,:,,:,:::,,:::+++*,+++:+++++++:+:++++++:+:++++++++:,:+:++++:*::+:++++::++++++:::::::++*+++:++++*+,:::::::++***+:*:++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,....,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,....,,,,,,......................................,,,,..,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,....,,,,....,,,,,,,,,,,,..,,....,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..............................................................................,,..+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,.................................................................................,+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,
,,,,,,,,........................................................................,,,,,,+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:,,,,,,,,,,,,
,,,,,,,,................................................................,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,
**#*++,+***##******:,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,:++++++****++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+***:++*,+:::****++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,:*******+******++++++++++++++,..,,,,,,,,,,,,,,:,,,,,,,,,,,,,
#*++*,.+*++:*+*+:,.,::,....:++++++++,,,,,,,,....................,,..,....,,,,,,,,,,,,,::,,,,++,,::::+++++++:+*****+++:++++++++++,,,,,,,,,,,,,,,,,::::::::::::::
,. ......,. . .,.,+*, ...:++++++***++:,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:,,,,,,:::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.,,. ., .. . ..++....... .......,,:::::,,,,,,,::::::::::,,,,::,,::::::::::::::::,,::::::::::::::::::::::++::::::::++++++++++::++++++::::::::::++:::::::::::::::
......+*******+...... .:****+:********::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.....***##***+*****#**#*##********::*++:::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
....,****::*#***#*#*##***+++*******++:::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.. .,*::+*#***##**#######****+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**************************++++::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::,,:::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,:::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,,,::::::::::::,:,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::
+++::::::++++++:::++:+::++++++::::::::++***+:,,,,,::::::::,,,,,,,,,,,,::,,::::+:::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,::,,,,,,:::
:::+++++::+::+::++::::::+::+++:+:+++::++::++:,,,::+:::++::*::::+:::::::+*:*:++::::::,,:,::++++++++++,:*++:::::+::++:::::::::::::++:::::::,::,,,,,,::,,,,,::,:::
+:+:::::+:+:+++++:::+++*:+:+::++:+:++:+++::::,,:::+:::,,:::+,:+++++++++++::++++:+++++::+::+++++++::+++++++:++*+:++*:+++:++++*+++:+***+++++,,:,::::,,,,+::+:::+:
:+++:::+::+++++++:++++::++++:+++++:+::::::::::::::+:++++++::++:+*,+::++:+::+::++:++::++++:++::::+::::+++*:+++:+::+++:+:+***+++++++++:++:+::::,+::+:++++:+**+++*
++++:++::+++++++++:+++++:+++++:::++:::+:,,,,:,,,,,::**++++++::++:+::+++++*++++:+*::::+:::+::+++++++*:::,+++++*++*:::+*::,:++:+*:+*++*+::+++:+++*++*+***+*+::,::
++++++++++++++::++:++++++*++*+:+,,,,::,,,,,,.,,,:,,,,,,,::+++++***+:+++++:**+:::::::,:+,:++:++*::+::+**++*::+:+:::::+::+:+++++++++:::*+++++:++***+*++**::*::,::
+++++++:++++++:+++**++:+*+::::++,,:,,,:::,::::,,,,,,,,::+:+:::++::+++++++++:+:*:+++++::::++:*:****+++:+.:+++++:::::::::+:+++,+***+**++,+++++++::+:,,::,,,,:,::,
++++++++++*+++++++++:::+::,,,,,:,::,:,,,,,,,.,::::::::::::+++:::+:::++:++:+++:++++:+::++:::::+++:++:+::+++::+++:+++++:+:+:+.+:::::+++++*+*+++::::::++*++++++**+
++++++*++++++****+++++++::,,,,,,,,,,::,,,+,,,:,,:,+::,,:,:++**:++:++:++:+:++++++:::+++:+*:::,,,,+++++::+:+::++::::::++++++::++++:++*+++++++++::::::::+:*+**+*+:
$...............,...............................................................................................................................................
...............,...............................................................................................................................................
::++::::,......,..........................,,,,,,,,,,::::::::::::,,,............................................................................................
:::::::::::,...,................,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,::,:::::::................,,...............................................................
,,,,::::::,,,,:,..........,:::::::::::::::::::+:::::::::::++::::::,,:,,,:*:,,,,,+:,,::::::,,,..,.............,.........,,,.,,.........................,,.....,.
,,,,,,::::::,,::,,,,,::::::::::::::::::::::::+::::::::::++::+++++::::::++*:.., #+*,,:+***+++:+::::::::::::::++++++++++++++::++::++**++++++++++++++*::::::,,,,,,
::,,,,,,::::::,:::::::::::::::::::,.,,,,,,,,,,,,,,::::++++,.,:,,.,.....,***:,.####+:,,,:,::+*+,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,.,.....,..
::,,,,,,,,::::,,,,,,::,,::::+++:,:,.,,..,...........,,,,,,,,,,:,..::...,+###*#,###,,:,,:,,,+#*,,,,,,,,,,,,,,,,,,,,,,,,,,::::*:::,:,,,,,,,,,,,,,,:::,,,,,,,,,.,.
..............,,,,,,,,,,,,,,:,...+,.,,,,........,,,,,,,,,,...#*+,##*+.::++****:***,,,******:*:,,,.,.,,,,...........,,,::::::+:::,,,,,,,,,,,,,,,:::::,,,,..,,.,.
................,,,,,,+:,,,,+....+:.,,,.........,,,,+:...,,.,++#+*++*:.,+,***++.+*,,,*****++::,,:+..,,..............,,::::::+:::,,,,,,,,,,,,,,:::::,,,,,,,,,...
**####*####+####,,,,,++++:::::::.+,.,.,.........,,:*++*,,,,.,+,*:+:*:*:*,****+++::,:++:::+:::::++:+:,:::............,:::::::+:::+,,,,,,,,,,,,,:::::::,,,,,.....
++*****+****++*++::,   ,,... .,,,+:.,,...,....,,,,:****:.:,.,::,:+:***+:,:++:::,,,,,:+++:+:::::::,.,,,:+............::::+:::+::::..+,,,,,,::::++::+*++::+::,.::
+**+:::::#,.,,....,*,. ***.:::::+.,,,,..,,,.,::.,,:+++,,,,.,:,:,:::+**:::.++::::::,::+::::::::::::+++:++:,,.........::::+:::::::,+:,,+,,,:+++****+***:,:*,+:.:+
##:,+++++.::::,,,,,..........,::+** ,,,,,,::::::,,:::,,,,,:::::,,,:,::,:,:::,,,:::::::::+:++++:::,:::::::::,,,,,:::,,:::::::+:::****++,,::++*+*+::+:++::::,,::+
#*::+::::::+******:....................,,,...,..........,,,,,,,,,,..,,....,,,,,,,,,,,,,,..,,,,..,,::,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,
,,,,:+:,,,,,,,,,,,,::,............,,,,,,..,,,,,,,,,,,,..,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,,,,,,,,,,,,,,,.,:,:+::+++
,,,,,,,,,,,,,,,,,,,::...........,,,,.,.*:#,:.:::,,++,,,,,+::++*+:,,,,,,,.,,,.......................,.,,,,,,,,,,,,,,,,,,,,,,,::,.,,,,,,,,,,,,,,,,,,.,,:+,:++++++
,,,,,,,,,,,,,,,,,,.,+:,,,,,,,,,,,,,,..**#+##.*:,,,,.:::+++++++:,,:::,,,,,,,,......,,,,,,,,,.,,,,,,,,:,,,,,,,,,,,:::+:,,,,,,,,:,,,,,,::+:,,,,::+:::,::*:::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,....,:+:.******#.+:::,,,,,,,:+++++::,,,::,++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.,,::+++
:::::::::::::::::::::::::::,,....... .....::..+******+**++::,,******++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+,,,.*###
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,+**.:,,,.....,.........:,,*++#****+++**+*+*:***..:,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++++:############
+:++++::++::++++::::++++::::,###*,,,,,,,.,,..:##.....  .:****:+:+:++*+++*##*++:.::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::+++++########****
:::::::::::::::::::::::::::::*##*:,,,,::,,,,+####...,.:+**##++****+***##*#####*+,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#####****+:+
:::::::::::::::::::::::::::::+#*#+.,,,,,,::,####**, ..+ *####:***++****#######*++:++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++****#########
++++++++++++++++++++++++++++++**#+.........,*#####:. .,.##*##*****++++:::+####++*:::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++++++++++++++++***################,. :.######################*+::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::+++++++**#####*...,.#############**++:*####*:,,,,,,,,,,,,,,,::::::,,::::::::,,::,,::::::::::::::++:::::::+:::++++++++++++++
::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,. .+.,,,,..,,,,,,,,::::::,,.,,,,,:::::+:::+++++++++++++++++++++::::+++:::::++++:+++*+++++++**++++++++:::++::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,.  .,.,,,,,,,,,::++++++:,:::++++::::::::+++:+++++++++::+++*+++++++++++++++++++++++++++++++*+++++++++++++++**+
,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,:,. .. .::::++:::+++::::::++++++++++++::++++++::++++++++++++++++++*++++++++++++++*++++++++++++++++++::::++::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.. .. .+++++::++::::::::+++++++++++++++:++++++++++++++++:++:++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,::::,,,,,..  . ,++++++++::++++++:++++++++++:+:::::::++++++::++++::++++++++++****++++++++++++++++++++++**+++++++++++++++
::,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,.......,,:::::+++++++::+:++++::+++++++:::::+++:::::+:::::::::::::++::+++++++++++:++++++++++++++++**+++++++++*+
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++::,,,,,,,,::++++:::::::+::++++++::+::::::+::++++:++++:::::::+:::::,,,,,,:::+++:::++++++++++++++++++++++++++:++***
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++::,,,,,,,::::::::++:::,,,:::::::::::::::::+++++:+*++:++++:::,+::++::::::++::::++::+::+++::+++++++++
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++++++++++++++++**+++:+++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::::::++++**++:++++**+++++++++++:+++++++:++++
,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++:+**++++++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$...................,...........................................................................................................................................
...................,...........................................................................................................................................
:::::::::+::,.....,,..........................,,,,,,,,,,,:::::::::::::,,.......................................................................................
::::::::::::::,,...,................,,,:::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,..............,,...........................................................
::::,,,,::::::,,,,,,....,.....::::::::::::::::::::::::::::::::++::::::::::,,:*:,+.:,+:,,,,::::::,.............,,.,......,,.,,,.,,,....................,.,,..,,.
::::,,,,,,:::::::,::,,,,::::::::::::::::::::::++++::::::::::::,:::::,,::::::++:,,,,#+*:+****:+,+:+::::::::::::::::::::++++++::::::::::++::::::::::::::+:,,,,,,,
:::::::,,,.,,,::::::::::::::::::::::::,.,,,,,,,,,,,,,,,,:+++::,.,,,,.,.....:***:,.####+,,,,:,::+**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:,,.,.,,,
,,,,,,::,,,,,,,,,,,,,,::,,,,,,:,+:::,:,.,,..............,,,,,,.,,,+:..:+....+#****:**#,,:,,:::,+**,,,,:,,,,,,,,,,,,,,,,,,,,,::::*::::,,,,,,,,,,,,,,,:::,,,,,,,,
...................,,,,,,,:,,,,,:....+:.............,,,,.,,,,,.. #*:,****.,:******:++*,,,******.*,..,.,,,,.............,,,::::::+:::,,,,,,,,,,,,,,:::::,,,,,..,
....................:,,,,,,+:,,,:,..,+,.:,,.........,,,,:+...,,.,*:#:*+:*+,:+,++*++,++,,,+*+**::,:,,::,.,,..............,,::::::+:::,,,,,,,,,,,,,,::::::,,,,,,,
+###**####*####+####,,,,,+*+++::::,,,+,.,,........,,,,:*++*,,,,.,+:*:::*+*:+,+++++++::::+*:::+::::+++:+:::::............,:::++::+:::*,,,,,,,,,,,,,::::+::,,,,,.
+##*+***+**+****+**+*++:,..:*:.,,,,,,+:,,,........,,,,,****:,+,.::::,+:***+::,::::::,,,,:+++:::::::,:..,.,,:............::::+:::+::::..+,,,,,,::::++::**++::++:
*##*+*++:,,,,#,.,,...,.++..+**,,,:::::,,,,..,,..:::,,,:+++,,.,,::::::::+**,,::+:::::::,:::::::::,,::::+++:+++:,.,,......::::+:+:::::::::,+,,,:*+++***+**+:,:*:+
*#####+:****+.,::+:,,,,,....  ....,,,::...,,,,,,::::,,:::,::,,:::::,,:::::::::::,,:::::::+::::++++::+,:::::+::::,,,,:::,::::::::::::++++:+,,,:++:++::,+:++::,:,
*****+::::::::,+****++:.,,,,...,..,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,::,,,,,
,:,:,,,,:::,,,,,,,,,,,,::,............,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:+++++++
,,,,,,,,,,,,,,,,,,,,,,:::,..........,.+***,+,,+:::++.:,,::,+++++,.,,,,,,.....,,,.......................,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,..,,,,,.::::::::++:++
,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,+**#*##.+,,,,,,+,++++++::,,,::,,,,,,,,,,,,,,,,,..,,,,,,,:,,,,,,,,,,:,,,,,,,,,,,.,++::,,,,,,::::::::,:+:::::::+*:::::::::::
,,::,,,,::,,,,,,,,,,,,,,,,,....,::+.+*#**+**.+:::,,,,,,:+++++++,,,,::,+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,+++++++
::::::::::::::::::::::::,:.:.......... . ,*:,,:+*+*+**++:::::,****+++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++,,,.*#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,.***,,,,,.....,,..,......:,+*:++****+:+**+*+*:+#*..+,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::+*########**###
::::::++::::+:::::::::::::,,#*#*,,,,,,..,:,.,:##,... ..,.,,,*+:+:+,**++++*****+,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::*#######******
::::::::::::::::::::::::::::**#**,,,,,,,,,,,:####:.. :#*:.,+*+*********#####*#*::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*#####+**++++*
::::::::::::::::::::::::::::++***,,,,,:::::,*#####,,.,#*..*.*****+++****#######*:,++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++****###########
::++++++++::++++++++++++++++++##..,,....,,..*#####*,,,#:. ,.##::::,,,,,,,,*###*+:,::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++++++++++++++******#########**##########.. :.###################**:::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,::,,,,,,,,,,,,,,:,,,::::::,,,
::::::::::::::::::::::::::::::::::::+++++****#########*...,.########**++::+#####,,,,,,,,,,,,,,,,::::,,,,::::,,::::::::,,::::::::::::::::++++:::::::::++++++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,,. .+.,,,,,,::::::::::::::,,,,,,:::::::+++++++++++++++++++:+++++:++++++:+++:++++:+++++++++++++*+++++++:::
::::::,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .,+,,,,,,,,,:::+++::::,:++::++++:::::++++:::++++++*:++++*++:++:+++++++++++++*+++++++++++++++++++++++**+
,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,:,. .. .::::++:::+++::::++++++++++++++++:+++++++++++++++++++++++++++++++++:++++++++++++++++*++::++++++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:.. .. .++:+:::+++:::::::+*+++++++++++++++++++++++:+++++++++:+++++++:++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,::::,,,,,..  . .++++++++++++++++:++++++++++:+:::::::::++++:::++++:++++:::+++++*+++++++++++++++++++++++**+++++++++++
::::::::::,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,......,:::::::+++++:::+:++::::++::+++++:::+++:::::+::::::+::++++++::+++++++++++++++++++++++++++++++++++++
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:**++:,.,,,,,:+++++::::::::++++++++::::::::++::+++++++++:::::::+:::::,,::,,::+:++:::++++++++++:++++++++++++**+:+
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::::+:::::,,::::::::::::::::+++:+++*++++++++++:+::++::++,+:+::++++::+:::++:::++++
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::++++++++++++++++++*+++:++++++++++++++++++++:++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++***++++++++++++++++++:
,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++**++++::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
$.........................,.....................................................................................................................................
..............,,.........,................................,,...................................................................................................
::::::::::::::::::,,.....,........................,,,,,,,,,,,,,,,,,,:::::::::,,,...............................................................................
::::++::::::::::::,,,,...,................,,,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,:++::,,,...................................................................
::::::::::,,,,,:::::,,,,:,........,,::::::::::::,,,,::::::::::::::::++::::::::::,,,+,,,.,,+:,,,,,:::::::,...,..........,,.........,,..,.......,,..,,...........
,,:::::::::,,,,,::::::::::,,::::::::::::::::::::::::::++::::::::::::.,,,,,:,::::,:**+#*,*#*#++*+:+::,++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,
,,:::::::::::,,,,,,,::::::::::::::::::::::,:,,,,,,,,..........:+::,,,,,,.,.......:**+,..*#**:,,,,,,:+*#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,:,,,,,,,,,,,,,,,:::,,
:,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,.,,..............,,,,,,.,.,*:..*+..,.+*****:***,,,,,:+,,+**,,,,:::,,,,,,,,,,,,,,,,,,,:+::+:::+,,,,,,,,,,,,,,,:::,,
,,.......                ,,,,,,,.:,,,,:,...+,.............,,,..,,,,,,,:**::***:...*:++:*,:**..,******,*,......,..............,,,::::::+:::,,,,,,,,,,,,,,::::::,
.,....,..,,,,,,,,,,,,,,,..,,,,,,:+,,,,+.,.,+:.:,,,......,,,,,,+:,,,,,..*,#+*:+*:,:::+++++,++..:+++**::,,+:::,.,,..............,,::::::+:::,,,,,,,,,,,,,,::::::,
*#*###+##*+*####*###*+####::::,++++:::::::,+,.,,,,......,,,,+*+:*,,,,.,,:++::+:+:,,+++++++:::++++::+:,::::::+:,,,:............,,::++::+:::*,,:,,,,,,,,,:::::+::
**::::+###****+*+:*******+*+**.  +*+.**+:.,+,.,,.......,,,,,,++++:,:,,+,,,,::+++:,,:::::::,,,,::++:+:::::,:,.,.,:+............::::++::+::::..,.,,,,,,+::**+:**+
#**:**+##***++:,::+*,,,,,..,.+: .***.:::,,::,,,,.....,+:+,.,++++,,,::++:::::::++::::+:::::::::+:+:::::,,::::+++++++::.........::::+:+:::::,+*+:+,,,:++++***+#**
##*:++*#####+:****:.,+++++,,.,....... ......,.....,,.,::::,:::::,,,,:::::,,,:,,:,::::,,,:::::::+++++++::::::++++++++::,,,,,,,,,:::::::::::::++:+:,::++:::::,:::
**:,::::::+::,,,,,,,,,::,:::,.,,,,..,,,,,,,,....,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,..,,,,,
,+,,,,,:,,,,,,:::,,,,,,,,,,,,+:,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:+++++++++++
,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::......+**+:*,+,+:,::*.,.,+:+:+++:,,,,,,,,,,,,,,..,,.,.........................,,,,,,,,,,,..,,,,,,,,,,,,++,,.....:*+,::++++++++++
,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+****##::+,,,,,+:++++++++,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,....:::,,,,,,,,:,,,,,,,,*,,::::::::::::
::::::::::::,:::,,,,::,,,...:+++++.+*#*++*#*.+,,:,,,::,,++++++,,,,,:,,++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,:+++++++++
::::::::::::::::::::::,,.,............ .,+*+.,:+,:++::::,,,,,.**+++++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**,,,.+########
,,,,,,,,,,,,,,,,,,,,,,,,.,.+*:,,,,,,.....,,.........,,,*++::+*++::****+:*.+*:,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++*########****###
::,,::::,,::,,,,,,:,,,::,,#*#**,,,,,,,,,:+,.,,##*.....  +*****..,,+.****+**##++: :::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++*########*+******
::::::::::::::::::::::::::***#*+,,,,,,,,,,,,,#####...,+#******,.,,++****######*+:*::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++#####***++:*****
::::::::::::::::::::::::+:****#:,,,,::,,::,,:*####*,,,.######+. :.+++***#######*+:,:++++++++++++++++++++++++::::::::+++++++++++++++++++++++++++*****###########
::++++++++++++++++++++++++++**# ..........,,+#####*:,,,######,. ......,,,,,*###*++,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::++++++++++++***###########*+,,+*#######*#+**###.. ..##############,*::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::
::::::::::::::::::::::::::::::::::++++++***#################+  ...**++:::::#####:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,,,::::::++::::+++:::::::+++:+++
::::::::::::::::::::::::::::::::::::::,,::,,,,,:::::::::::::,  ,:.++++++:+++**+:,,,,,,,,,,,:::++++++++++++++++++++++::++++++:+::+++:+++++:++:+++++++++::+++++++
::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,., .:+,,,,,,,,,::++::+++:::::::::++,+:+++++++::+++++++++::::++:++:+:+++++++:+++++++++++++++*++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,:,,,......,:::::::+++:::::++++::+++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,::,,,,.... ,:+++::+++:++:::::+++++++++++:+++++++++++++++*+++++++++**++++:++++++++++++++++++++++++++++++++
::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,:::,,,,,... ...:+++::++++++++++++++++++++++::+::::::::+++:::+:+::++++::::++++++++++:+++++++++++++*+++**+++++
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,......,::::,:,:::++::+++:++::++++++::+:::::++:::::++::::::+:::+++++::::::+++++++++++++++++++++++++++
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:****+::,,,,::::+::::::::::::+++++:::::::::*+::+++++++++:::::::+:::::::::,,::::++::::++++:+++::*++++++++++
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++:::::::::::::::::::::::+++:+++*++++++++++:+++++:++:,+:+::++++::+:+::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++++++++++++++:+::::+++:++++++++++++++
,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++**+++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,
$.............................,.................................................................................................................................
........,,........,,.........,....................................,............................................................................................
,,,,::::::::::::::::::,,.....,........................,,,,,,::,,,,,,,,,,::::::::::,,...........................................................................
,,,,::::++::::::::::::,,,:...,...............,,,,:::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,:++:::,,...............................................................
,,,,::::::::::,,,,,::::,,,,,::........,,:::::::::::::,,,::::::::::::::::++::::::::::,::+.,,.,,::,,,,,:+::+:::,.............,,.,,....,,,,.,,,,,.................
,,,,,,::::::::,,,,,,::::::,,::,,::::::::::::::::::::::::::::::::::::::+:.,,::::.::,,,+*+*##:*#*#:+:::+,:,++:::,,,,,,,,,,::::::::::::::,,,,:::::::::::::::::::::
,,,,,,::::::::::::,,,,::::::::::::::::::::::::::,.,,,,,..........,::,,,,.,,,,,,,,,..,+*+:,..****,:,:::,:+**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*+:::,,,,,,,,,,,,,,,:
:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,:,:,.,,..,...........,,,,,,.,.,*,..*:..,,**+***,***,,,,::::,+++,,,::::,,,,,,,,,,,,,,,,,,,+:::+::::,,,,,,,,,,,,,,,:
..,,:,..........  ..    .... .,,,,,,,:,,,,:....+,.............,,.,,,,,..,,:**++:**,.,,*:+*++,::+..,*****+:+...,..................,,,::::::+:::,,,,,,,,,,,,,,,::
.,..,,.,,,..,,,,,,,,.,,,,,,,,,,,,,,,+*,,,,:....+,.,,,,........,,,,+:,,,,,.,*:#+*+++::,++::+++,++,.:+:+*+::..++:+:.,,..............,,::::::+:::,,,,,,,,,,,,,,:::
*##**#+###+##*:*####+####+*###,,,,,+++++::,,,,,+,.,,,,......,,,,+*::*,,,,,,,:++,::++,,:+++++++:::+:+:+::::::::::::,,::............::::++::+::+*,,:,,,,,,,,:,+::
##+#**,:,,:###***+**++****+**+++**.  +*+,*+*:.,+:.,,.......,,,,,,+++*:,,,,+,:,,::+++:,,,::::::,,,,:++::+:::::::.,,,,++............::::+:::+::::..,.,,,,,,*::**+
###****:**+####*++,,,,+*.,,,...,.+,. ***.:,,,,:::.,,..,,.:::+,,:++++,,.:+++::::::,+:::::++:::::::,::+:::::,:::::+++:*+*::.........::::+:::+:::,***+*,,,:++*+**+
###****:+++#####+:*++*,.:*++:+,,.,....... . ..........,,,:::,,,,::::,,,,++:::,,,:,,::::::,,,::::::++++++++++::::+++++:++::,,,,,,,.::::++::::::::++:+::::++::+::
::,::+:,,::::::::,,,,,,,,,,,,:,,..,,,,......,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,
,,,,,+,,,,,:,,,,,,:::,,,,,,,,,,,,:,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,+:+++++::+++:
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*.#:+: +:+:,:++.,.,++++++::.,,,,,,,,,,,,,,,,,,,,,.,,........................,,,,,,,,,,,,,,,,,,,,,,,,,:+,:+*:+:+++++:++++++
....,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,.*+#,###,+:,,,,:::++++++:,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,.,::::,,,,,,::,,:::::::::::::::::
::::::::::::::::::::::,,...,***+:,.**#:*++#*.:,,:.,,::::+++++:,,,,:::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,:+++++++++++
:::::::::::::::::::::::.::.......... ..,:***.:::,::::,,,:,,,,.+++++:::,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+,,,,##########
,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,:,.....,,...........,+::,.::+:,,:,::,:*,,::.,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++#########****#####
::::,,::::::,,::,,,,,,:,.**##*,,,,,,,,..,+,.,.##*....... *##***:*+.:,,****+*#*+::.::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++######*#**********
:::::::::::::::::::::::::*###*#,,,,,,,,,,,,,.*####+...+##***##***+.,.,***#**###+:+,:::::::::::::::::::::::::::::::::::::::::::::::::+++++++++#####**+++:+++++++
:::::::::::::::::::::::::+****#,,,,,:,,,::,,,*####*,..,,#######+*,..,.****######:+,:++++++++++++++++++++++++++++::+++++++++++++++++++++++++++*****#############
::::::+++++++++++++++++++++###.. .,.......,,,*######,,,,########......::::**####+:#:++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++++++****###########*,,,,,*#######**+,*######*.....##########:++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::
:::::::::::::::::::::::::::::::::::+:+****######################:.....:::::*####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++::::++::::+:++::::+++++
::::::::::::::::::::::::::::::::::::::::,,,,,:,,::,,::::::++++++,  ,,.++++**##**::,,,,,,,,,,,,::++++++++++:+++++++++++++++++++++++::+++:++::+:++:+++++++++:::++
::::::::::::::,,,,::::::,,,,::,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,.. .::,,,,,::,:::::::::+:::+::::::::+++++++++::++++*+++++::++++++:+++++++++:++++++++++++++++++++
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.......,,,,,,,,,,,,,,,,:,.......,::::::::::+::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,:::,,,.......:::+::++++::::::+*:+++++++++:+++++++++++++++*+++++++++**++++:++++++++++++++++++++++++++++
::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,... ..,:+++++++++++++++++++++++++++::::::::::++++::::::++++++::::++++++++++:+++++++++++++++++**+
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:,,,......,::,:,,,,::++::+++:++::++++++++::::::::+::::++::::::+:::+++:+::::::++++++++++++++++::+++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:**++:+++::,,::::::::::::::++++++:::::::::+++::++:++:++:::::::++:,::,,:::::::+:++++::++:+:+++++*++++++
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++:++::::::::::::::::::,:++++:+++++++++++++:+++++++++:+:+::++++::+::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::,:++++++++++++++*++++:+::::++++++++++++++
,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++**+++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,
$......................................,........................................................................................................................
..............,,::::::::,,............,.................................,,,,...................................................................................
.........,,,,,::::++::::::::::::,,....,.....................,,,,,,,,,,:,,,,,,,,,,,,,,,,,::::::,,,,.............................................................
......,,::,,,,::::++::::,,,:::::,,,,,,,..............,,,,:::::,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,:,::::::,.................................,....,,...........
:::::::::,,,,,,,::::::::,,,,,::::,,,,,:,,....,,,::::::::::::::::::::::::::::::::+:++:::::::::,:::+....,:::,,:,,,,,::++::::..........::,.,,,,,,,,,,,,,,..,,....,
::::::::,,,,,,,,::::::::,,,,,,::::::::::::::::::::::::::::::::,,,:::::::::,,,,,,,,::::,,:.,,,,,+++********,:,::::,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
,,::,,,,,,,,,,,,::::::::::::,,,,::::::::::::::::::::::::::.,,,,,,...........:.,,,,,,,,,.......,:*+:,:,+***,:,:,,:,:+++,,,,,.,,,,,,,,,,,,,,,,,,,,::,:+:::,+,,,,,
,,,...,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::.,,,..,.........,,,.,,,,.,,::..,+,..,:+*:***,**:,:,++:+:,++,,,,,,,,,,,,,,,,,,,,,,,,,::++::+:::,,,,,,,
,,,,,,,,,,,,.,..                        ,,,,,.++,,,,,....+,...,.........,,,,+,.....,*,**:,:+.,.,:++*+*,+.+,.+*****:++,..,,,.,,....,,,,,,,,.,,,::::::+:::,,,,,,,
::+::::+++:+++*:::::,+***:****+****+****,,,,::*+,,,:,...,+....,.........,,,+++,,,,.,++::++++:::,++:++++:+,.,::,++::::,:+++:.,,.,............::::::::+:::,,..,,,
:+#+#*++*:+#****+###:##++++:,:,...,:*:++,,,,:*++::::::,,,:..,,..,.....,,,,*++++,,,,,,:,:::::++,:++++++::::,+:++++::::+::,,,:,,::............::::+:::+::::,::,,,
:**+*+**#:**+#**:::..,###***+*:+##+,::******..,++,,:,,:,,:,.........,+,,,,:::+:::,,,:,,::::+:::,::+++++:::,:+:::::,::::::::::+**............::::+:::+:::,....,,
*#*+++#######***:,**+#####*+,,.:,..,,...,,,....:::,:,,,,::,,....,,,:+++:::++:::,,:++:::,:.:.:::::++:::::::,::+::+:+++::+:+++:+**:+..........::::::::+:::*****+,
**#+**##########::***#####,,++::.,::,,,:..,........,..............,:::::::::::::::++:::.,.,.,,::::,,,,:::+::+++++++++++++++++++::,:,........::::::::+:+++:+::*,
,,,,,,,,,,,,,,,:,,,,::::::,:::,,,,,,,,..,,.,,...............,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,.,,,,,,,,,,,,,:,,,,,,,,,,,,,::++++++++++:::::
,,,,,,,,,,,,,,.+,,,,,,,,,,,,,,,,,,,,,,..,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::::++:::++
..............,:,,,,,,,,,,,,,,,,,,,.#+#,:++.+:::,:++.,.,+++:++:,..,,,,,:,,,,,,,,,,..,,..,,,,,,,,.,,,..,,........,,.,......,:,,,,,,,,,,..:**:+::+:++++++++++++++
..,,,,,.,,,,.,,,+:,,,,,,,,,,,,..,..**#,####+,+,,,:,:++++++::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::::::::::::::::
:::::::::::::::::::::....,++*+::..***,**+*#*,+:,,,,::+:::+::,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++++++++++
,,,,,,,,,,,,,,,,,,,,..#................,:+*#*.+::,,,,,..,,,.,.,+::,,:::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,###,,,,############*+#
::,,,,,,,,,,,,,,,,.,,,,,:*+,,,,,,,......................:.,,.,.,,,,,,,,..,+.....::::::::::::::::::::::::::::::::::::::::::::::::::::::::##########**########**#
::::::::::::::::::::,,,+##**:,.,,,,,.....+:.,,.+##:... ....+*##*#+#*##*#**+,...,#,.:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::########*************++
:::::::::::::::::::::::**###*:,,,,,,,,,,,,,.,,#*####....+:*++#*#***********:.,.,*,,*,:::::::::::::::::::::::::::::::::::::::++++++++++*+######***++++++++++++::
::::::::::::::::::::::++*+*##:,,,,,,,,,,:::,.,#######...,,######*+**+******, :.:##**,:::::::::::::++::::++++++++++++++++++::::++++++++++++******###############
::::::::::+++++++++++++++*###..............,,:**#####*,,,,########+***+++*:. :.+#*::#,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,:::
::::::::::::::+++++++++***##########*+,,.,,,::*#######+:,,:###############,. ,.*#*,+*:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,::,,,,,,,,,,,,::,,::,,::::::+
:::::::::::::::::::::::::::::::::+:++**#######################**#*++:::::,.....*#*,,..............,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++++++::++:::+++*+++:+::+
::::::::::::::::::::::::::::::::::::::::::::,:,:::::++++*****************+.. :.*##,,,,,,,,,,,,,,,,,,,,::++++++++++++++++++++++++::+++:+++++++::++:++*+++++++*++
::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,.. ,,,,,:::::::++:::::,::::::,,,,::+++++::::+++++++++++++++++*+++++++++++++::++++++**+
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,::::::,.  . .,::+++:::+:::::::++++++++++:+::++++++++:+++++++++:++++++++++++++++++++++++++++++
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,..  ...,::+:::::::++::::++++++++++:+++++++++++++++++++++++++++++++++++++++**+++++++++++
::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,..  ...,:++++++++++++++++++++++++++++++:::::::::::::::++++++:+++++++++++++:++++++++++++
::::::::::::::::::::::::::::::::::,,:,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,.....,,::::,,::++::++++++::::++++++++++++:::::+::::::::::+::+:+++::::::::+++++++++++++
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,,,:::+****++++*+::,,,,,,:::+++++::::::::**++++::+++:::::++::::::::::::,:++::,,::::++++++*++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:+::++++++++:::::::++++::+:::+::++++*++*++++++++:+++++++:+:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,::::::++++:++**++++++++++:++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$............................................,..................................................................................................................
....................::++++::::,,,,..........,...............................,,,,,,.............................................................................
..............,,,,,,:::+::::::::::+::,,,....,.....................,,,,,,,,,::,,,,,,,,,,,,,,,,,:::::::,,,.......................................................
...........,::::,,,:::::+:::,,,,::+:::,,,,..,.............,,,,::::::,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,::,,::::,,,,..............................,.....,,.....
::::::::::::::,,,,,,,::::::::,,,,,:::::,,,,,,,....,,::::::::::::::::,,:::::::::::::::::+::::::::::,,:++,.. ,::,:,,,,,,,,::::::::,,..,,...,::......,,,,,,,,.....
::::::::::::::,,,,,,,:::::::::,,,,,,::::::,,:::::::::::::::::::::::,,,,,,,,,::,,,,,,,,,:,::,,,.,,,,,:*++*******::,:,:,:,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....,,::,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::::+++++:,,,,,.............,,,..,.,,,,........:+*+:::,***::,,,::,,+++,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
,,,,,,,,,,,,,,:::::::::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+,.,,,.............,..,,....:,..,+:...,**+***,***,:,:+:++:+*+,,,,,,:,,,,,,,,,,,,,,,,,,,:+:::::::,
....,,,,,,,,,,,,.,,.....                     .,,,,,:+,,,,:.,..+,.,..........,,,,.:,......:++++::+:,.,+:+*+::,:*,,,*****+**:,::+,,:,,,,,,,,..,,...,::::::::::::,
:,,,,,::+:+:++*+****+:::::******##**####+####:,,,,,+::,,,:.,..+,............,,,,+++,,,,,.,+::++::::::+++++++:+:,,,::+++:::,:+*++,,:,,............,::::::::::::,
#***#**+****+***###**+###*##*:*::,.: ....*:,::,,:,++::::::,,,,+,.,,,.,......,,,:++++,,,,.,,,,::,:++:,:++++++:::::+*+::::::+:::,,:,,:+,...........,::::+:::::::,
***++**+*************++:...*##**++++++#*,,,:++++:,..++:.::::,.:,........,,+:,,,,:::::,.,,:,,::::++:,,,::::++::::,:+::+::,:,::+:+::+**:...........,:::::::+::::,
###****#*++*######**##,+**####***:..,,.,,,..,.......:::,,,,,,,::,,..,,.,++++:,:::::+,,,+::+:,,,,.,::::+++:::::+:,+++,+:++++++:++*+:*+*::.........,:::::::+::+:*
####*#+****###*###**#*++***###*+:++::,.,:,,,,:,,........,,..............:+::::::::::,,::::::,,.,.,,,,,,:,,,,::++++++++++++++++:+++++++,:+........,:::::::+::++:
,,,,,,:,,,,,,,:,,:,,::,,,,:::,,,,,:,..,,,,,,,,,,,,..............,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,......,,,,,,,,,,,,,,:,,,,,:,,,,:++++++++++++++++::,
,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,..,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,:,,,,,,,,,,:++++++::::::::+++++
....................,:,,,,,,,,,,,..+*#,,+*:.+:++:::*,,,,++++++:,,,,,,,,,,,.,,:,,,,,,,,,,....,,,,,,,,,,.,............,.........,,,:,,::**,+++::+++++++++++++++:+
..,.,,,,,,.,,,,,,,,,.,,,,,,,,,,,,.+*#,####*:.+,,,+,:::++:::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::::::::::::::::::
:::::::::::::::::::,...,+**++::,.:*#.,#***# :,,,..:+++++:+::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++
,,,,,,,,,,,,,,,,,,,..#................,+**##*.*,,,,,,,,,,,,,,,,,,,,,,::*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,##+,,,.############**##*.
,,::::::,,,,::::,,,.,,.:*:,,,,,.........,.::...........,,,,,:,,,,:,,....,,+:.,,,,....,::,:,,:::::::::::::::::::::::::::::::::::::::::#####*##############*#####
::::::::::::::::::,,,,**##*+,,,,,,,......,:.....,+: ........**####+#*##***#**+**+...,,,:,,,,,,,,,,,,,,,,::,,::::,,:::::::::::::::::::######*#*++**********:++*#
:::::::::::::::::::::+*##*#*+,,,,,,,,,,,,:*,,,.#**###....:.*+*#**#*#*#**######*#+....,::::::::::::::::::::::::::::::::::::::++++++++*#####***++:**********+:,+*
::::::::::::::::::+::++*+*##+.,,,,,,,,,,,,,,,.*#####*#.....*####*::::,:*+*+*++**,..:,+::::::::::::++++++::::++++++++++++++++++++++++++****#####################
::::::::::::::::::++++***###,.............,,,,+########,,,.###*####+****++******.....#,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
++++++++::::++++++++*****######**+:,,.,,.,,,:,+########:,,,:########***********:  ..,#,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,:::
::::::::::::::::::::::::++::++++++**#######################**#########*******##:  ...,................,,,,,,,,,,,,,,,,,,,,,:,,::::::::::::+++++++++++++:+++++++
::::::::::::::::::::::::::::::::::::::::::::::++**####**###############***+::*#,  ,.......,,,,,,,,,,,,,,,,,,:+++++++++++++++++++++++++::++::++:+++::++:+++:++++
::::::::::::::::::::::,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,::::::,.....,:::++++:+::::::,:,,:,:,,:,:::+++::::::+++**++++++++++++++++++**++++*+::+++
::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,::::,,:,,. ...,:+++++:++::::::++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,,,,,,,::,,,,,,,.  ...:+:::::::::+::::+++++++++++++++++++++++:+++++++++++++++++++++++++++**+++++
::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,.,,,,,,.......,:++++++++++++++++++++++++++++++::::::::::+:,::+++++:::+++++++++:++++++++++
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,..,,,,,,,,,,,:,:,,,.....,:++:,,,:::::++++++++:+++++++++++++::::::::++:::::,+::++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::+********+:::,,,,,:::++++++:::::::+**++++::+::::::++:::++::+::,:,,:+::::,:::+*++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::++++++++++++::::**++::+:::++::+++++++++++++++++++++
::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,:::+:++++:+++**++++:+:+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,
::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
$...............................................,...............................................................................................................
......................,,::::::::::::::,,.......,..............................,,,::::,,,,,,,...................................................................
..................,,,,,:::++:::::::::::::,,,...,....................,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,,..................................................
..............,,:::,,,,::::++:::,,,,::::::,,,,,,.............,::,:::::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,+:,,,:::::,,,,............................,.....,,.
:::::::::::::::::,,,,,,,,::::::::,,,,,:::::,,,,,,,..,,::::::::::::::::::::::::::::::::::::+::::::::::::::++,,,.::+:,:,,,,:**,:::::::::,,::,,::::,,,,,,,,,,,,::,
:::::::::::::::::,,,,,,,::::::::::,,,,,,::::::::::::::::::::::::,::::,,,,,,,,,,,,,,,:,,,,,,,:,:,.,.....,+*:+:,+****,:,::::::+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,+:,,,,,,,,,,::::,,::::::,,::::::::::::::::::::::++:::::,.,...............:..,,...,,,.......,+*++**:***+,,,,,:,,,+++,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:
,,,,,,,,,,,,,.,,,,::::,,::::,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::,,,...............,......,,::.,++,,..:+*:**+,**:,:,++*++,**,,,,,,:,,,,,,,,,,,,,,,,,,,,+:::+:
    ................ .  ....                    ,,,,,,,*+,,,:,...,:..,..........,,,,,:...,..,+,*+*,+:,,.,:++*++,*:,,,+*****:*+,:,*+:,,..............,,:::::::+:
,,,,,::::,.,,..:***+####:,::,:####:####+####*##**,,,,,+++,,,:,..,,:.............,,,:++:,,,,,,::::::++::::++:++:++:,,,:::+++::::+++++,,,,,...........,::::::::+:
+++*+****++#:***+#++##**+:##*:##+,...,:,....++.. ,...,,,,,::::,,,:,,,,,,......,,,,,++++:,,,,,,,,:+::+++,,:+++++:,::,++*+:::::::,+,.::,,++............::::+:::+:
:*###*+:*+#*:*+#*#++#*#**+:+,,*#**+*::+:++*,...:+::++..,:+.,,,,:,,,,........,:+,,,,::+::,,,,::,:::::++:::,:+::::,::::+:,::::,:::::++++***,...........::::+:::+:
:**###**#**#::+######*:+#+:*******#+,,,,,,,,,,:,.,......::,.,,,,:::,,,....,,::+:,,::::::,,++++::.,,,,,::,::+:,::::+:++*+:+++++:+*:+++++++++,,,,,,,,.,:::::::++:
**#######***++#########*+::*++#****,,:::,,,,,,,,:,,,........,...............,:,,,,,,,,,,,,::++,:,,...,....,,,,,,,::::+::++::::,,,,++++++,:,:,,,,,,,,,,:::::::+:
,:,,,,,,,,,,,,,,,:,,:,,:+,,,,,:,:,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,.,:,:,,:++++::+++++++++++++:,
,,,,,,,,,,,,,,,,,,,,,,,.+,,,,,,,,,,,............,,.,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,:++++++::::::::++::+++
........................::,,,,,,,..**#.,.+:.+,::,:+:,,,,++:+++:,..,,,,,,,,,,,,.,:,........,,,,.,,,......,,::..........,,,,,,.......:**,+::++::+:++++++::+++++++
,,,,,,::,,,,,,,,+,,,,,,,,,,,,,,,,.***,####+,.+,,::::++::+::,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::::::::::::::::::::
::::::::::::::::::......::+++::..***:*#*++*,:.:,,,,,:+::::+:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++++++++++++:,.
::::::,,,,,,,,,,,, .#..................,+**#*+.::,,,,,,.,.,,,,.,::,,,::+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:##+:,,,############**##:..,
,,,,,,:::::::::::,,,,.:**,.,,,,,,:.................... .+.,,,,,,,:,,.,.. ,::::,.,:::....,:::::::::::::::::::::::::++:::::::::::::::#####*###**#########+####**#
:::::::::::::::::,,,,:###**,,,,,,,,,.....,,,..,. ++,. .......**####+*####*#***:#*#, . .:,,,,,,,,::::::,,,,,,,,,,,,,,:::::::::::::::#######**++**********:++*###
::::::::::::::::::::+*####*#,,,,,,,,,,,,,:++..,*######....+.**##**#*#*########*###*,. ..::::::::::::::::::::::::::::::::++++++++++*#####**+++:+++++++++++::+*##
::::::::::::::::::+:++****##,,,,,,,,,,,,,,,,..,#*######....,***#**:,::::++++******+:..+.:+++::::::::::::++++::::::::::::::::::::++++******#####################
::::::::::::::::::::+****###..............,,,,:*#######+,,,.########:*****++**#####...: ,,::::::::::::::::::::::++::::++++::::::::::::::::::::::::::::::::,,,,:
+++++++++++++++++++++***######***+:,,.,,,,,,:,:*########,,,,*#########******##**+##,. :.,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,:::::::
::::::::::::::::::::::::++:::++++**########################**###########**###*####*...: ................,,,,,,,,,,,,,,,,,:,,::::++++::++++++++++::++++++++:::::
:::::::::::::::::::::::::::::::::::::::::::::+++**######################***+::####+. ...,,,,..,,,,,,,,,,,,,,,,::++++::+++++++++++++++++++++++++++++++++++::++++
::::::::::::::::::::::::,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,....,,,,,,,,::,,::::::::::. ....:++:++++:++:::::::::::,:::::++::::++::++++**+++++++++++++++++*+++++++++
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,::,,,,,... . .:+++++::++:::::::+:++++++++++++++++*+++++++++++++:+++++++++++++++++++++
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,....,,,,,,,,,,,,,,::::,,,,,... . .:+:+:::::::+::::++++++++++::++::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,........:::::+++++++++++++++:+++::+++:++::::::::::::::++++++:::::+++++++++::+++
::,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,,,,,::,:,,,.....:+++:,,,::::++++++++::,:++::++::+++++::++++:+:::+::+:,::+:::::++:+++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++*++**+:::,,,,,:::++++::::::::::+++++:+++:::::++++++++++++::::::,,::,:::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++::::::::::+::+:++:+++++++*++++:+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,:::++++,+::++++*++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
$....................................................,,.........................................................................................................
..........................,,,:::++++++::::+:,,......,,............................,,,,::::::::::,,,,,,.........................................................
.......................,,,,,::::++:::::::::::::,,...,,..................,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::::::,,...........................................
,,,,...............,::::,,,,,:::++::,,,,,,::::,,,,,,,,...........,,::,::::::,,,,::::::::::::::::::,,,,,,,,,,,,,,,:,,,,,,,::::::,..........................,,..,
:::::::::::::::::::::::,,,,,,,:::::::,,,,,,,::::,,,,::,,,,,:::::::::::::::::::,:::::::::::::::::::::::+::::::::+.,,,:*+:,,,+***++:+*::::::::::::++++++++++++++:
::::::::,,::::::::::::,,,,,,,,::::::::::,,,,,,::::::::::::::::::::::::::,,,:,,,,,,,,,,,,,,,,,,::,,,:,,,.....,+*+:,.,****,:,:::,,:+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,....,,+:,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::,,.,..,...........:.,,,,,,,,,,,.:,..,:**+**+:***,:::::,,,+*+,,,,,.,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,:::,,,:::,..,,..........,,,,,,,,,,,,,,,,,,::,,,+..,,..,.........,,,,.....,,::,,**+..,,+*:*++,**+,::*+*+*,+*:,,,,,,,,,,,,,,,,....,,,,,::
......................  .  ,......  ....  ...    .  .,..,,,,++,,,,,....:,.,.,.........,,,,:,,,...,,,++++:++..,*+++*+::,:,.:*****:+:.,.:+..,,..............,,:::
****::::+:::::+,++::,+++*###*#+***+*###+##**+****+****,,,,,::::,,,,,,:,:..,,,.......,,,,++:+,.,,,,::+::++++:::++:+++::::,:+::+*:::::++++*,::,,............,,::+
#**#,:::**+++++**++****:####**:+:++**+:,::+::,::+::,,,:,.... ......,,,,:,,,,........,,,,++:::,,,.,,,,,:::+++,,:++:++:,,:,:+*+:::::++:::,:::,::.,..........::::+
+**:+**#****+++#**+****+##*#**++*++****++::::::+,...::,.,+...::,.,,,,,.:,,........,+,,,,,::+,,,,.::,,,:::++:,:,::::+:,::,::+:::::,:,::+++++***+...........::::+
*####:+*#######***::*######****:**+****+,,,,,,,.,,,,,.,,,.....,,.,::::::..,,,,.,::::,,,,::::,,,:+:++,,,,:,:+:+:+::::++++::+++:::++++++:+++++**+*:,::,,::,.::::+
+###++*########*#+**##*#*#**++::++++:+::,,,,,,,,,,,,:::,:....................... .,,,,......,,:,++::,,........,.,,,,,,:::,::,,,,,,.....:::,,:::,,:,,,,,,,,,,,,,
*+,,,,:,,,,,,,,,,,,,,,:,::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::::::++++++++::::+++:,,,
+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,................,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,,........,,,,,:::++++++++::++:+++:+:+,,,
:+.,.........................,,,,,+*#*...,,+,,,:,:+++,,,,:,++++:,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,.,,,,,,,.,,,,,,,,,:,......,,.,,,,,+**::::+**++++++****+++++++++:*
:++:,,,,,,,:*:,,,,,,:+,,,,,,,,,,.,*#::####,,:,:,::::::+++::,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,
:::::::::::::::::,..,  .:::+::,..**++##*+++,:,::..+,:++:::::,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++++++++++,,..,
::::::::::::,,,,,..#...................,:+*##*,:.:,,,,,,,,,.,,.,::,,,,:,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::##+,,,:############*+##*..,.**
:+**::::::::::::,,,,,:+*:,,,,,.,.,........,,:,...........,,,:.,,,,::..,..,.:+:,.,::::::::,...,:+::::::::::::::::::::++::::++::::####**##############**####*###*
::::::::::::::::,,,,:*###**,,,,,,,,......,::,.....,:........ .:*#####**#*#**#***#+**..,,,..:+,,,::::::::,,,,::::::::::::::::::::######*#**+**********+++######*
::::::::::::::::::,:**####**,,,,,,,,,,,,.::+,..,+##*##*,....:+***##**###########*##*:*#,:, ,.,::::::::::::::::::::++++++++++++++#####***++:**********+::+*#####
::::::::::::::::::++*++**###,,,,,,,,.,,,,,,,..,,######*#.....:******+::+++++********+:+*,. ..,::::::::::::::::::::::::::::::++++++****#########################
::::::::::::::::::::*++#*##+..............,,,,,:**#######,,,,:###*####+***++++**##*#,,,*,..+.,,,,,::,,,,,,,,,,::::::::::++++++::::::::::::::::::::::::::::::,,:
::::++++++++++++++++****######++,,,....,,,,,,,,:*#####*##+,,,,########**********++:#,..*,. : ,...,,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,,,::,,::::,,,,,,,,,,:::
::::::::::::::::::::::::++:+++***###################################################:.,:.. +................,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++:+++++::+
::::::::::::::::::::::::::::::::::::::::::::++****#####################**+++++:#####*,,,.. .....,,,,,,,,:::::::::::::++:::::++++++++++++++++++++++++++++++++:++
::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,....,,:::+++++++++++:::::::. . . ,::,+++::::+:::::++++::::++++*+::+:+++:+++++***+++++++++++++:+****
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,:,,:,,,,......:+++++:++++++::::+:++++++++++:++++++++++++++++++++:+++++++++++++++
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,...,,,,,,,,,,,,,::::,,,,,,,.  ...,++++++::::++::++++++++++++::+:::::++++++++++++++++++++++++*****++
::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,,,,,,,,,,,,........,:::++++++++++++++:++++:++++++:::::+::::++::::+++:::::::+++++++++
::::::::::::::::::::::::::,,:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,.,::,:::,,:,....,,++:+::,,::::++++++++:::::::::::+++++++:+++::++:::+::,::,,.:+::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,++***+::,,,,,,,:::::++:::,:,,:::::++::::::++::++++++::+*++:+::++:,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++++++:++*+++++
::,,,,,,::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::+:,+:::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
$........................................................,......................................................................................................
..............................,,::::++::++::::+::,......:...........................,,,,,,::::::::::::,,,,.....................................................
..........................,,,,,,::::+:::::::::::::,,,...:.................,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::,........................................
::::,,,,,,............,,::::,,,,::::++::,,,,,:::::,,,,:,:...........,,::::::::::,,,,,:::::::::::::::::,,,,,,,,,,,,:,,:,,,,,,,:::::,,...........................
+:::::::::::::::::::::::::,,,,,,,,:::::::,,,,,,:::::,,,,,:,,,,::::::::::::::::::,:::::::::::::::::,::::::+::::::::+:.,:.***,.,++***++:++::::::::::::+++++++++++
::::::::::::::::::::::::::,,,,,,,,:::::::::,,,,,,:::::::::::::::::::::::::,:,,,,,,,,,,,,::::,,,,::::,,,,,.......:+++,,,+****,,,,,,:,+**,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..,,::,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::,.,,,..............,,,,..,,.,,..,:....+***+*:***:,:,,,,:,,**:,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,.................,,,,,,,,,,,,,,,,:,,,::..,,.............,.......,*::,+++:.,::++:**++**:,:++****,*+,,,,,,:,,,,,,........,,,
,,:,..........................,. ...  . .. .  .         .+.,..,:::,.,:....::.,,,,.......,,,,.,:.,,...,::*++::+,,.::++++:,+*,.,***#**+:+,:,::..,,.............,:
::++****:+::*:++++::*+::,+++:###*:+***:****+#************+,,,,:+::,,,,,,,,::....,.......,,,,+++:,....,::+:::++::::+++++++::::++::**::::::*:*+:,:,,............:
::+*#*#*,:::*:++++:+#:*+*+*:+#***:,::+:**+.,:+++,::::+:::,:,...........,,,:,,,,,........,,,,++::,.,,.,,,,,:,++++:,++::++:,,,,:**+:+:::++,+,,:,,,+:.,..........:
**+*+**+*+##****:++**+*##**:*#**#*+:+++***++::,:::++,..,::,.::..:::.,,,,,,,,........,.::,,,,+:+:,,,,,:,,,,:,+++:,:,:::++::::,:*::::+:::,:+:+++**+*.,.........,:
*#*:*####,*#######*#*::,######****::++++++::,,,,,,.,,,,,,,,,.........,::::::,,,,,,.,::::::::::,:,,,+:+:+,.,,::::::++::,+++++::++::::++++++,*++***+++:,::::::,.:
*###+##*++*#######***++*#####**+:+::::::::::,,,,,,,,,,,,::::,........................,,,,,,,,,,,,,,::::,,,....,,..,,,,,,,,,,,,,,,,......,,,:::,,,,,,,,,,,,,,,,,
::::+:,,,,:,,,,,,,,,,,,,,::,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++::+:,,,,,
,,,,+:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,............,,....,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,::+++++++++++++++++:+++,,..
,,.,*:.,........................,.:*#*,,.,,:.+,,,:+++.,.,,::++::,,,,,,,,,,,,...,,,,,,,,,,:,,..,,,,.,,,,,,,,.,,,,,,,:,,,,,,,,,,:*#+++:+**++++++****++++++++++,*#
::,,:+::,,,,,,,+:,,,,,,,::,,,,,,..**::####,,:.*,+::+++++:::,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,::.
::::::::::::::::,... ..,++*+::,..**+:###++*:,+.+,,,,,::+:::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++,,..,,,
::::::::::::::,,..+*...................,:+*###* *,:,,::,.,,,,,,,,,,,,,:,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::##+,,,.############*+###...,,**:
++++++**::::::,,.,..,:+*,,,,.,.,.,........,,::............:,,,,:,:::,,..,,.,::.,::,::::::::::..,.,:+::::::::::::::::::::++++:+####################**########**#
:::::::::::::::,,,.:+*##**:,,,,,,,,........:+.......,. ....... :#*####+*#****#*++*+#:.,,,,,,,.:+:,,,,,::::,,,,::::::::::::::::########*************++**#####***
::::::::::::::::::,**####**+,,,,.,,,,,,,..*:*....*##*#*#:....,:***##**###########*#*+:*#.,:::..:.:::::::::::::::::++++++++++++*#####***+:+++++++++++:*+*#####**
::::::::::::::::::+****#*#**,,,,,,,,.,,,,,,,,,..,#*######+..,.,*******++*+++++***###*::+*:::.....:::::::::::::::::::++++::++++++**############################*
::::::::::::::::::+:+***###:..........,,,,,,,,,,+#########,,,,.###*#####**++++***####,.,**,... :.,,,,,,,,,,,::,,::::::::::++++++::::::::::::::::::::::::::::,,:
::::::+++++++++++++++***#####*,,,......,,,,,.,,,+*#########.,,,*########++::::::::,,#,,.*+,....,....,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,::,,::::::,,,,,,,
::::::::::::::++++++:::+++****#######################################################:,:*.....,:..............,,,,,,,,,,,,,,,,,,::::::::++**+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::++**########################**+:::::::#####*,,.,,, .,,,,,,,,,,,,,,::::::::::::++::+:::++:++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:+++************::,,,,,. ...,,::++++:+++::,:,:++::::++++++++::,:++::++++**++++++++++++++:+*
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,::,,:,:,.. ...,++++++:++::+:::::+:+++++++++:++++++*+++++++++++++:++++++++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,.,,..,,,,,,,,,,,,,,,:::::,,,,,.  ..,++:++++::::++++++++++++++++:++:++,:++:+++++:+++++++++++++*****
::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,........,::::+++++++++++++++++++::+++++::::+:::::::::::++::::::::+++++
::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:::+:,,,:,....,:++::,,,,::::++++++::::::::+:::::++++++++++::+:+::+,:::,,,,+::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,++**::::,,,,,,::::::++:::,,,,:,:::++::++::++:++++++++:*++:+:::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:::::::::::::::::+++::++++++*+
,,,,,,,,,,,,::::::,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:+++:,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
$.................................................................,.............................................................................................
......................................,,,:::::::::::::::::.......,..........................,,,,,,,,,,::::::::::,,,,,,.........................................
..................................,,,,,,,:::++::::::::::::,,:,...,................,,,,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::,..............................
::::::::::::::,,,,,,...........,::::,,,,,:::::+::,,,,,:::::,,,,,,,..........,,::::::::::,,,,::::::::::::::::::::,,,,,,,,,,.:,:,.,,+:,,::::::::,,...............
:::::::::::::::::::::::::::::::::::,,,,,,,,:::::::,,,,,,::::::,,,,,,,,::::::::::::::::::,,,:::::::::::::::::.:::::.,::::::+:.,.,:*:*,:**+*::,::::::::::::::::::
::::::::::::::::::::,,,,,,,:::::::::,,,,,,::::::::::,,,,,,,,::::,:::::::::::::::::::,,,,,,.,,,,,,,,,,,,,::::.,,,,,,......,**:,.,****:,,,:,,,::*+,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..,,,,,,,,.,:::,,,:,,,:,...,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:+:::,:,.,,..,...........,,,,,,.,,,,,..+,...,+*+***,***,,,,,::,,:**,.,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,.,..................,,,,,,,,,,,,,,:,,,,:,.,,..,.........,,,,.....,,:::,*+*,,,:*+:*:+,*+*,,:*+***+,*+..,,,,,,.......
++:++::,:::,..........      ..  .    .........    ....  .........,,,,,,,++,,,,,....+..:,,.........,,,.+,,,,,,,,,+*,+::+,..*,:++:+,:+,.+***#*:+,::,:::.,,,,.....
##*+::+:,:::****+:++*#++**+:***+*+*+******+*************+***++****,,,,,:::,,,,,,,,,:,.,,........,,,,++::,.,,,,,:+::::++::::+++++:::::+**:+++::::+++:*+:,:+,....
*+*:::+*#:++#**#::::+*::++++:*+*+*++******:+++:**+::+++:::+++:::::::,,.. ,,....,,,,:,.,,......,,,,,,++++:,,:,,,,:,:::+++:,,:+:::::,::,**++:+::+++,+,,:,,,+,....
++#+,:*+***+++#+:**#****++++**:*****+*****+:++:+**++::,,:::+,.,,.::,.:...:::.,,,,,,,,.........,:,.,,:+++,,,,,::,,,::++++::,,+:+++:::,:++,::::,,,::+:*+*****,,..
**#*::+,*##***###*:+####*#**#*+::#**+++++++::::+++++:,:,,,,.,,,,,..,,........,,,,,::..,,,,,,::::::::::,,:,,::::::,::::::::++::::::++:::+::::++++++::++++:+:+:,:
+*#****+:*###*##**+*####*#***+++:++:::::::,,,,::::::,,,,,,,,,,::::::,,..................,,....,,..,,,,,,.,,,:::,,,,,....,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::,::*,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..............,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::++++++++++++++++++,,,,,,,,,
,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,.,,,,::++++++++++++++++++++++,,,,,,,.
,,,,,,,,,,.,,*..................,. **#,,::**+ +,++:::+.,:,:::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,.....,,,,,,,+#*::+++**++++::++++++++++::++,***...
:***:::***::::::,,,,,,::::,,,,,,,.***,####:,,, ++:,+::::::::,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,:,.....
::::::::::::::,,....:+::,,....,..+**.+####*::,*.:,,.::++++::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++++++++++++++...,,,,...
,,,,,,,,::::::,..:*,.............. ..,++*#####**.,,::,,,..,,..,,,,,,,,,:,:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+#*:,,.,#############*###*..,,:::,,,,
::::::::::::,,:.,*#.,,,,,:,,,...,...........+:#+...........,,.,,,,,,,,......::,,,,::::::,,,,,,:::::::,.. ,::::::::::::::::############****######*########**,,,,
::::::::::::::,,:+,:***#**..,,,,,,,,.........:,.......... .......:+*##**#*+*+*:**+#*+#,.,,::::::::,,,..,:,::::::::::::::::######*#*#*****#*##############***,,,
:::::::::::::::,,,***####**,....,,,,,,,,...:+::.....##*#*#* .. .*,...***+********++:*#:**##.:::::::::, ,.,::::::++++++++++#####***##++**********+###*####*#*,::
::::::::::::::::++#**#*##***,,,,......,,,,,,,,.....##**#####......#*#####+****++***####+::#*::,,::::,. .,,,,::::::::++++***###############################**+++
::::::::::::::::::+**#+*#**#..,,,,,,,,,,,,,,:::,,.+*#########,,,,.*#######+#***+++**###::,.#,,,,,,,,.. ,..,,,,,,,:::::::::::::::::::::::++:::::::::::::::::::::
::::::::::++++++++++*+***##......................,+*######*###,,,,,###*####+::::::::+*##:.,*+.....,,...:..,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::,,:
::::::::::::::++++++**###################**+,,,,,.+*###########*++::####################,.*#....... .. :..........,,,,,,,,,,,,,,,,,,,,::::::::::++**+++++++++++
::::::::::::::::::::::::::::::::::++****########################****+++:::,:,,,,,,######,,,,......,... ,,.,,,,,,,,:::::::::::::::++:::::::::++++++++++++++:+++*
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::++++++**************++######,,,,,,,,,,,....,,,,:::++::+++:::::++::++++++++++++::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,:::::,,,......:+++++:++++++::::+++*++++++++::++++*++++++++++++++:+++
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,,,,,,,,,,,,,,,::::,,,,..  ...:++++++::::+++++++++++++++++:::::::+:++++++++++++:++++
::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,........,:::++++++++++++++::::::+++++++::::+++:::::++:::+::::
::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,+++::,:,,,,,:++:+::::::::::+++++++:::::::::++::++++:++++,+++::+:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,++::::,,,,,,,:::::::::::::,::::::::::++:::::+++++:+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+:::::::::::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::,,,,,,,
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++::::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
$......................................................................,........................................................................................
...........................................,,,::::::++++::::+::,......,.........................,,,,,,,,,,,,::,,::::::::,,,,...................................
.......................................,,,,,,,:::++:::::::::+:::,,,...,...............,,,,,:::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,.......................
::::::::::::::::::::::::,,,,,,,,,,,,,:::,,,,,,::::::::,,,,,,::::,,,,::,.........,,::::::::::::,,,,,:::::::::::::::::,,,,,,,,,,,,+,,:,,,+,,,,,:::::::,,.........
:::::::::::::::,::::::::::::::::::::::::,,,,,,,,:::::::,,,,,,:::::,,,,,,,,::::::::::::::::,,:,::::::::::::::,,::*,,,,,,,.:::,::+::+:,:***:++:::::,:+::,,:::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,::::::::::,,,,,,,,::::::::::::::,,,,,,:::,,,,,,,..,,,,,,,,.:::::,,,,,,,,......:++:,..****+::,,,,::+**,,,,,,,,,,
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::::.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,..,,.............,..,,..,,,+...+,...,+*****,***,:,,:,:,,:**,,,,,::,,,
,,,,,,,,,,,,....,,......,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,:,....:,................,,..,,...:+*+,+++:.,,*+:+++,***,,,******,*:..........
**********:,,,,,,... .................... ...........,.......,....,...,.,,,,,::,,,,,,,..:,,,,,........,,,,::.,,,,,,,::+++:,+,,::++++:+,**,.,**+#*++,+:+:++..,,.
#*######:::+::::+****+++**#*****+:**++:********+******+:++*++:++++:*+++:,,,,::::,,,,,,,,:,.,..........,,,:::::,,,,,,::+::::+::::+++++++++:***+:++,::+++:++::,::
******+*:,:++*+:+****+++:**:+++++:*++:*+***+***++++:**+++++:::::+++::::::::...::,.::,,,,:,,,,,.....,,.,,,:++++,,,,,:,,,,::+++:::,:::++:,::,++++,:::::::+,.,,,:+
++**#+*#+,:*+#**+*:#*:*+*****+*:+*+:+***++++++*+::::+*++++:,,,,:+,,.,,::..:,..:::.,,,,,:,,........,:::,,,++++:,,,,+:,:::::+*+::,:+::++:+*::++::::+:,,:::+*++++*
::**#*+****+,:*##*+###*,+**********+::++++++++:+::::+++++:,,,,,,.,:,:,..,,....................,,,,:++::::+::+::::+::::,,,:::::::::,,,:::::::++::+:++::::::::::+
,,*##**##*+#*+####*#**********++++::,,,,,,:::::,,,,,,,:::,,,,,,,,,,,,,,,,:,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::,:::::*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,...........,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:::++++++++++++++++++:+,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,:,..........,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,:,,,::+++++++++++++++++:++++,,,,,,,...
......,,.,,,..,,.,+:,,..,,......,.,:*#,..:+*++ +::,,:+:,:,,,++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:+*++***##**++++****++++++::++,#*#.....
*+##:,***++:*++:::::,,,,,,,,,,,,,.,**,*####,,,: ++,,+:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::::::::::::::::::::::,:,.......
:::::::::::::::... .::::..........**..#####+:::#,,.,.:,:++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,:++++++++++++++++++++,,.,,,,..,,,
,,,,,,,,,,,,,,,..:+........... .....,,+**######**:.,,:..,,,.,.,,,.,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::###:,,,,#################*.,,,::,.,,,,,
::,,,,,,::,,,,..,*#..,,,,,,,,,,..............::#*............,,.,,,,,,.,.....,:,,:,:,:::,,,,,,,,,,,,,,,,:,.,,,.,:::::::*############**########*########*#:,,,,,
::::::::::::::,,+*,,*****#.,.,,,,,,,..........,,.........  ..... ..:*###****+***:***#***,,::::::::,,,,::,:...,,::::::::*########*#****###################*,,,,,
::::::::::::::,,,,+*#####**:..,,,,,,,,,,....,,.......+##*#*#: ....:..  +**+***+*++++++*#+*###.::::::::::,:. ,,,:::++++**#####***##++******+++++###*#####**::::+
:::::::::::::::+++****##*#*#,,,,......,,,,,,,,,,....*#****####.....,#*#####**********###*+:+#*,,,,:::::::,. ,.,:::::++++*###############################**+++++
:::::::::::::::::::***:+*#*#,,,,,,,,,,,,,,,,:::::.,,+#*########....,+#######*****+++**###+*,+*,,,,,,,,,,,.  ..,,,,,,,:::::::::::::::::::::::::++++++++:::::::::
::::::::::+++++++++++**###*+......................,,+#######*##*,,,,,###*####+++++++****#*+,*#......,,,,,.. :.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,:::
::::::::::::+++++++***##############**#**::,,.,,,,,,+##########*:::,:*####################..**.......... .. :.,.......,,,,,,,,,,,,,,,,.,::::::::::+++++++*+++++
:::::::::::::::::::::::::::::+::+++***##########################**+*####****+:,,,,,#######..,............. ,:+,,,,,,,,::::++::++::::+:++::::::::++++::++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::**********####**##******+++*#####*,,,,,,,,,,,,::.....,,::::::::++++:::::++*+:+++++++++++*++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,:.......:++++::++++++::::+*+*++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,:::,,,,,...  ..:+++++::::++++++++++++++++++::::+:::::+++++::++++
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,:::::::++++++::+++::+::::++++++:::::+++::::++:+:
::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,+**+*+:,::::::++++:::::::::++++++:++::::::++++++++++:+++:+:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,::::::++:+:::::,::::::::++::::+:+++
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
$.........................................................................,.....................................................................................
..............................................,,,:::::::::::::::::,,.....,........................,,,,,,,,,,,,,,,,,,,,::::::::,,....,,.........................
..........................................,,,,,,,:::+++:::,,,::::::,,,,..:................,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::+:::,,...................
::::::::::::::::::::::::::::::,,,,,,,,,:::::,,,,,:::::+:::,,,,,::::::,,,,:.........,,:,:::::::::,,,,,,::::::::::::::::::,,::::::,,,:,.:.,,+:,,,,,:,::::::,,,...
:::::::::::::::::::,:::::::::::::::::::::::,,,,,,,:::::::::,,,,,,:::::,,,,,,,:::::::::::::::::::::::::::::::::::::::,.,::::,,,,,,:+++**+*****::,::::,,+:,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,:::::::::::,,,,,,,::::::::::::::::::,,::::,.,,,,,.........,,,:,,,,,,,,,,,,,,...:+++,,.+****,:,,,,,:***:,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:,,::,,:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,..............,,,,,,,..,:,..:+....***+**++**,,,,::+:,,**,,,,:::
,,,,,,,,,,,,,.......................,..........,,,.......... ...     .....,,,,,,,,,,,,:,...:,...............,,,,....,,:*+*+:+++.,,+:*:++::**..,******,**...,...
,:*********+#:,.,,,,.....,,,........,........,,,.,,...,,...,.,,,,,,,,...,,,,,,,,::,,,,:,...:,.,,,.........,,,,::,,,,,.,+,+++::++,:,+++++*,** .,,+:**+++,:+*+::.
***#*#**###::,+::::++*##*:++*#*****+:**++:+*+:****:+***:**:+*****++++:++++,,,,,::::,,,,,,,,:,,,,........,,,,:+::+,,,,.,,,:+:::++:,:+++++++:+:+*+*:+*,:,:+:+::::
++#:*****+#::,+++*::**+**:*+**++++*:+*+*:*+*::++*+::::::++++++:::,:+::::::::::...,::,:::,.,:,.,,.......,,,,,,++++:,:,,:::,,,:++++::,,::++::::,:++::::::+::+:.,,
#*,+*+*#*+*+,:#****:*:****+*****+++:**++**+*+++*+++::++:++::::,,,,,:,.,,.::,,.,..:::.,,,,,,,,,,,.....,::+,,,+++*:,,,,++:::::+:++::,:++:+++:+:::+::::+::,::+:+++
#*+:::*##*#+#*,+,+*#*:###*::+******+++::::::+++++++:::::++++:,::,,.,,,,,...,,,.....................,,:+++:,,++++:,,,++:::,.,:,,:::++:::::++++::+++:::+++++::::+
#*::,+*#*:*+#.##++***:**++::++::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:,,........,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:,,,,,,,,::,::,,,*:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::+++++++++++++++++++:::,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:,,:::++++++++++++++++++:+++:...........
..,,..,,..,,,,,,,,,,,::,..,,,,,,....**+,,,:+**+.,::,.:++,,,,:::++:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::+++***##***+++******+++++++++****,.....
++:+:+*:,:++::,:::::,,,,,,,,,,,,,..**+,####,,,,+.*,,+::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,::::::::::::::::::::,,::,,,,.......
::::::::::::::,...................**,.######::,#:.+.,,:::+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,:+++++++++++++++++++:,..,,,,,,,,,,
,,,,,,,,,,,,,,...,:..... ......... .,:+***######**...::,..,,,,..,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::+##*,,..##################+.,,,::,,,,,,,,
,,,,,,,,::,,:,...#*.,.,,,,,,,.................:+#*.. .........:,...,,,,,......::,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,. ..:,:########**##****#######*########*#,,,,,,,
::::::::::::,:,:++,+*****#,.,,,,,,,,,.........,:,................. .,*#######+***:***#*+#,.,::::::::::,,,,,,,,.,,,::::##########******###############*#*:,,,,,:
::::::::::::::,,,.****###**+,,..,,,,,,,,....,:.,,.....:###*##+.....:,....***+*****++++++**+*##:,::::::::::::,, .,.::++#####***##*+++++++++**++########*#+:::+++
::::::::::::::::::#*####*###,,,,,,..,,,,,,,,::,,.....+###*#####,....,,*#####*:****+***###**:+##:::::::::::,,,..,..,:::+*##############################**+++++++
:::::::::::::::::::*+##*#*##,,,,,,,,,,,,,,,,::,:,,..,+#######*##....,,####*##*+#**+++***##**:,*,,,,,,,,,,,,,......,,,,::::::::::::::::::::::::::::++++++:::::::
::::::::::::++++:::*+***####....................,,,,,+###########,,,,,########*+++++++***#**.,#*......,,,,,,.. ,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:
::::::::::::++++++****########**##****+:,,,,,,.,,:,,,+########*#*+,,,,,####################..**,............. .:..,,......,,,,,,,,,,,,,,,,,,:::+++:++++++++++++
::::::::::::::::::::::+:+::::::+++**#############################****#####****+:::,:#######,.,.,........,,... .:+,,,,,,,::::++::::::::::::::::::++++++++::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*####****########******++::*######,.,,,,,,,,,,,:,:,.  ..,:::++:+:+:++::::::++::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,:::::,,,.. ...,:+:+::+*++++::::++++++*+++++:+++++*++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,..  ..,:+++++++++++:+++++++++++++++::::::::::++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,::,,,::::+++++::++::+:++++++++++::::+++::::++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,.:**+++++:,,,,:::+::::::::::::+++++:::::::+:++++++++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,:::::::++:+:::,:::::::::++::++:
,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
$.......................................................,::::,,................,................................................................................
..................................................,,,,::::::::::::::::::,,....,.......................,,,,,,,::,,,,,,,,,,,,,,,:::::::,,,,,.....................
...............................................,,,,,,,::::::::,,,,,:::::,,,,,.,...............,,,,,,::,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,,,::::::::,,...........
::+.::::::::::::::::::::::::::::::::::::::::::::,,,,,,,::::::::,,,,,::::,,,,,,:.......,,,:::::::::::,,,,,,,::::::::::::::+++::::::::::,,,: . ,,::,,,,,,,,::::::
:::.::::::::::,,:::::::,,:::,,::::::::,,::,,::::,,,,,,,,::::::::,,,,,,::::,,,,,,,,,,:::::::::::::::::,,,::::::::,,,,,,,,,,,,:::,.,,,,,,+++*#****#*::,::::,,+*,,
,,,.,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,:::::::::::,,,,,::::::,,,,:::::::::::::::,..,,.............,,,,,,,,,,,,,,...,,,+*+:,,,****,:,:,,:::**+,
,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.................,,,....,,::,..::.,..+**+**++**:,:.++:+,,+*:,
++:,++++++::::::,::::::::::,,,,,,,,,,,,,,,..,,,,..,,..,... .....................,,,,,,:,,,,,..,,:,..............,,,,,,,,.,.,*+**::++,,,+:*:*++,**:,,+****#:**..
..,.+**#********:*:,,,,,,,,,.,,,,,,,,,,,:,.,,,,,,:.:::+:,,,:,:::::::++::::::::+:,,,,,:::,,,:..,,:,............,,,,:::,,..,.,+::++:*:+::,++++*+++:,,,:+,+::::,::
*::.**+*******##:::+::::++****++++*++***::***+::+::**++:+**+:++:+++:,:,,::,++:+:,,,,::::,,,,,,,,:,.,..........,,,:++:+,,,,,,:,,+::::++,:+****++:+::+:*:++::::::
+:::**+*:*******:::+::*::+*+*+++**++++:*:**+*:*++:+*+*++::..,+++++::::,:::::::::::::..:::.::::,,:,,,......,.::,,,,::+:+,,,.:,:::::++++,::,::++:::,::+::::::::::
***,**+.,+,*##*#+::#****:+:+**+++++++++++++::+++*+++++++:,+:++++::::,,,,,,,,,,,,:..,..:::.,,,,,,::,,....,,:+:+,,:*++++,,::+++:,,::,::::,:+++:++++::::::::::::::
#*#:##*+++**##*#+#+:.,:*******++++++++++::::::::++++++++::::++++++,,,,:,.,,,,,...,,........,.............,++++,,:+++:::::+++::,,,,..::::+::,,,::::::::::::::+++
+:+,++::::,:::,,,:,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.........,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,...........,,..,,,,,,,,,,:,,,,,,,,,*+::++++:::+++++++++++++:.,,,,.........
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,...,,,......................,,,,,,,,,,,,,,,,,,,,,:,.........,,,,,,,,,,,,,,,,:,,,,,:::,:+:+:+++++++++++++++++++:+,,...........
,,....,,,,,,,,,,,,,,,,,,,,:::,..,,.,.**+,,,,,:*+.+.,,::+::,,..,,:++:,,,,,,:,,,,,,,,:,,,,,,,,,:++++++::,,:,::,,:::::,,*::+*********+*******++++::++:*#*+........
::::::::::,,::::::,,,,,,,,,,,,,,,,,.**+,####:,,,,:.+:+::::::::,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,:::::::::::::::::::::::,,..........,
:::::::::::::::.........    .......+*:,######:::#,+ +,,,:,:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,++++++++++++++++++++,,..,,,,,,,,,,,
,,,,,,,,,,,,,,,...,.....  ...........,::+*########**.,,+:,,,,.,..,,,,,,,,,,,,:,,,,,,,,,,,,,,,,::::::::::::::::::::::,:*#,,..,##################,,,,,::,,,,,,,,,
::::::::::,,,,,..**,...,,,,,.,..................+*#+.. .........,,,,.,:,,:.......:,,.,,,,,::,,,,,,,,,,,,,,,,,,,,,,.,,,,*#*########****#####*#########*:,,,,,,,,
:::::::::::::::,::,:*******,,,,,,,,,,,.........,,:.................... :#*##*##*******:#***#..:::,,,,,,,::::,,,,:,,...,*########******##############*#*,,,,,,,:
::::::::::::::,,,,.+######*#:,...,,,..,,......,,,,:......#**##*#,.....,,.. ,**+**********+**+*##*:::::::::::::::::, .,.+*++*###++++++*****++########***::::++++
:::::::::::::::::::+*#*####*#,,,,,,,,,.,,,,,,,,,,,,....,##****##*#....,.#*##*##*****++***###*+:*#*::::::::::::::::.....::++*###*#####################**+:::::::
:::::::::::::::::::++++***###:,,,,,,,,,,,,,,,,::,:,,...+##*########,..,.+#######++***+++***#*:*.*#,,,,,,,,,,,,,,,.....,,,,::::::::::::++++::::++++::::::::::::+
::::::::::::::::::::*+**#**##.....................,,,,.+########*##:,,,,:###*####*++++++*****#:,*#,...........,,,.  ..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,
::::::::::::::+++++++*########******::,,....:,,,,,,:,,.+########*#**,,,,,###################**.,#*................  :,,....,,,,,,,,,,,,,,,,,,,,:+++++++++++++++
:::::::::::::::::::::::::+++:::+++**##########################################***:,,,:*######*.,............,,,,,. ,,,,,,,::::::::::::::::::,:,,::::++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**##################****+:::+######+,,....,,,,::,,::::,. .  .,::::+:::::+:::+++:++++++++++++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,::+,,,,.......:++::::+++:++:::+*+++++++++::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,,,,,.......:+++++++++++++++++++++++++++++:::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,::::,,,::+++++++::::::++:++++++::::::+++
::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::+***+::::,::::::::::::++++:::::::::+**++::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::++++::+::++
,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
$,:,.......................................................,:::::::::.............,.................................,::,........................................
,:,.......,..........................................,,,,::::::::::::::::::,,....,.....................,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::,,,,.................
,:,..............................................,,,:,,,,:::::+:::,,,,::::::,,,,,,..............,,,,,,::,,,,,,::::::,,,,:::::::,,,,,,,,,,,,,,,::,,::::,,,,.....
+:::++,::::::::::::::::::::::::::::::::::::::::::::::,,,,,::::::::,,,,,,::::,,,,,,,.....,,,,,,::,,::::,,,,,,,:::::::::::::::::::::::::::,::+*,...,::,,,,,,,,,::
++::::,+::::::::::::::,,:::,::::::::::,,,,::::::::,,,,,,,,,,::::::::,,,,,,::::::,,,,,,::::::::::::,,:,,,,,,,,,,,,,,,,,:,..,,,::,:,,,,,,,,,:+:+***#***::,:,,:,,+
,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,::,,,,,,,,,,,,,,,:::::::::,,,,,::::,,,,::::::::,,::::::,,,,..............,,,,,,..,,,,,,.....,:++:++,:***::,,,::,,+
,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,................,,......,.:,,.:+,...,+*:***,***,:,+*:++,:
******,+**********+:++**++++++:,,,,,,,,,,,,,,,,,,,,,,,,,.,...    ...     ...    ...,,,,,,::,,,,,...,:,..............,,,:....,,,::+**::+,,,,++:*++,::*,,,******+
::+,,,,,##**********+*:,,,,,,:::+,,,,:::,,,,::::::+::++++++::::,++++:++++:++++++++:,,,,,::::,,:,..,,:,..,,........,,,:+++,,,,,.:+::++++:+::+++++++,*:.,,:,+*+:,
:*##::,*+*+**+***##*::++:::::****:+++******+++++**:*+***+++++++:++,:::,,:,..,,:+,,:,,,,:::::,,,,,,,,,,,,........,,,,,+++:+,,,,,,:,:+::+++:,:****++::::,+*++::::
*#*++:,*#**++*****+#:,:+:+:+:++++:+++++++:+++:++++++:++:+++::,..,+++:::::,::+,,,:::::::...+:,,::,:,,:,,,.......::,,,.,::+,,:,,:::::::+++:::::+::++:::,:::::::::
*#*###,*##.,:,+**+***,**:+*+,+:*+*::++:::++:++:+++++++++++++,:::++++:::,,,,,,.,,,,,,,.,...:::,,,,,,:+,,,..,,.:++++,,++++++,,:++++:,,,:.:::,:++:::++++,,+:+:::+:
#####+:##*+*::**#*##**+:.:+***++++::++++++++:::::::::+++::::::::+++++:,,,,,,,,,,,,..,,........:,..........  .,:+++++++++:::::+++,:,,,,..,,::::,,,,::::::::::::+
,,,,,,,:,,,,,,,,:,,,:::,:,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,...........,,,,,,,,,,,,,,::,,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,............,,,,,,,,,,,,,::,,,+:+++++++:::+++++++++++++:,,,,...........
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,.,,,........................,,,,,,,,,,,,,,,,,,,,,,:,..,,......,,,,,,,,,,..,,,,::+::,:++:++++++++++++++++++++:..............
+::::,,...,,.,,,,,,,,,.,,,,,,,::,,,,..**:.,,.,,::+ :,::++:+:,,...,:+:,,,,,,,,,::,,,,,,::,,,,,,:::+**++++::,,:::::::+,::+*******************+++::::###:......,,,
::::::::::::::::::::,,,,,,,,,,,,,,,..**+,####:,,,,: +:++:::::::,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,,,,,.,:::::::::::::::::::::::,,,,,,,....,,,
::::,,:::::::::,  .. .....  ........**:.######::+*,,..,,,,,:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,.,,,++++++++++++++++++++:,,.,,,,,,,,,,,,
,,,,,,,,,,,,,,,...,...............,. .,,:+**########+*.:.:..,,,,,,.,,,,,,,,,:,,,,,,,,,,,,,:::::::::::::::::::::::::+#**....,##################,,,,.:,,,,,,,,,,,
::::::::,:,,,,:...*#.....,,,,,..................,,**+.............,,...:,,,,,,..,..:,:.,,,:,,,,,,,,,,,,,,,,,,,,,:,++++,.,,,################*########+*,,,,,,,,,
:::::::::::::::,,,,,:#**##*+.,,,,,,,..,...........+,,......... ......... ,#*##*##**##***+#+**#+,,::,,,::::::::::::+++:. ,,+**#******#################*,,,,,,,,:
:::::::::::::::,,,,::*####***,....,,,,,,,,.........,,.....:#**####,.....,:.,,.#*+*#**#********+*###+,:::::::::::::+++:. +.:+**++****+*****+*#######***,:::::+++
:::::::::::::::::::**#**######,,,,,,..,,,,,,,,,,,,,......*##***#####....,.**##*##*+***++***###*+:*#*:,::::::::::::::+,. :.+++*******######*#########**++++:::::
::::::::::::::::::++*+*:+###*#,,,,,,,,,,,,,,,,,,:::,:,..,+##*#####*#*....,+##*#*##++***++++**##:*:*#.,,,,,,,,,,,,,,,,.. :.,:::::::::::::++++++++++++:::::::::::
:::::::::::::::::::::**#*#**##......................,,,,,*###########,,,,,:########*+++++++++*#*+.##*...........,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::++++++*+****#####****+::,,.....:,,,,,,.+:,,+########*#*+,.,,,*###################*.,#*,................ ..,.,.,,,,,,,,,,,,,,,,,,,,,:+++++++++++++
:::::::::::::::::::::::::::+++++++**######################***###################***:.,,:#######*.,..........,,,,,,,,, .,,.,,::::::::::::::::::::,,,,::::++*++++
::::::::::::::::::::::::::::::::::::::::::::::::::::++++*****###################**++::::+######:,.,,....,,,,::::,::,.... .,+:++:+:+:::::::+:+:+++:++++::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,:::::,,,... ...,::+::::++:++::::+*+++++++++++++:++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,... ...::+++++++++++++++++++:++++++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,::::,,,,,:+++++++:++::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*****++*+++:::::,,,:::++++:++::::::+**++++:
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++::++::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
::::++++::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$....,,,,,,:.....................................................,,:::::::::::::::::,.....,............................,,,,,,,,::::::::::,,::,,.................
....,,,,.,:.......,.........................................,,,,,,::::::::::::::::::,,...,..................,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::,.....
......,,.......,::::::::::::::::::::::,,,,..............,,,,,,,,,,::::::::,,,,,:::::,,,,,,............,,,,,,,,,,,,,,,,:::::::::::::::::::,,,,,,,:,,,+,,+,,,:,,,
:::::::::::::::,::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,:::::::,,,,.,,:::,,,,,,,,,,,,,,::::::,,::,,,,,,,,::::::::::::::::::+:::::::::::::+,,,,.***,,
::+++:::++,:::+,::,,,,,,::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,::,,,,::::::,,,,::::,,:,,,,...,,,,,,,,,,:,:::::,,,,,,,.....,:+++,..*##**,
,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,.............,,.,,....,:...:,....:*****:#**:,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,.................,,,,,,,,,,,,,,,,,,,,:,,,............,,,,,,,,...,++:,***:.,,*+++**:+**::
,++++*++++:+:,:,::,:::,:::::::::::,,,,............... ..........,.........................,.,,,,,::,,,,,....:,,,............,,,:,,...,,,+**++,:+,,,+,+++:+,**..
:..,:.,,,+++:,,.*#**#*******,::+:::::++++::::++:++++:++*++:+:+++*++++++:++*++++++:++++:++++,,,,,::::,,,,,,,,:,.,,,........,,,++::+,.,,,,+,+,+:++:::,+++++++,+::
:,,.**++++++:,,+++***+****+*,::+:++::+*+*::::++:::::::++++++:++++++:::::++::::::::::++:::,,,:,. ........,,,,:,,,,,.......,,,.+++++,,,,.,,,,:::+++::,+++,++:,,,,
*,,###*,*****+++#+**+*++*++*+:,::+++:::++:+:+++++:::+++:+*++++++++++:::::++++::,,,,::,,,,,:::.,...:::.,,,,:::,,,..,,...,+,,,,,:++,,,,,,,,:::,:++:,+:::+:++:::::
+,####*+#*#*#**+**+,,,:+**+*+::+::**::+*++::::::++++++::,:++++++::++::+++++++:,,,,:,,,:::,..,,,.,.,,,.:::::+*:,,,,,,,::::+:,::::,:,,:+::::,,::,:::::+++:::+++::
+:+####+#####+*+#*+,..:+*+++++:+:,+++++++:::::::::::::::::++++++:::::,::+++++:,,::,,,,::++++::,,..................,,..,,,,,,,,,,,,,,,,::,,,,,,,,,,,.,,,,,,,,,,,
,,,,,,,::,,,,,::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,...........,,,,,,,*::++++++++++++::::::,,,,,,,,,,,,,,,,,,,,...
,,:,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.........,,,,,,,:*:+++++++:::++++::++++:++:,,,,,,,,,,.........
,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.,*******+:,......,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,+++++::+++:+++++++++++++++++:+++:,:,,,,,,.........
::::,,::::::,,:,,,,,+++++:++::,,,,,,,,,.:**,,,,,,,,,,*.+:+:,...+,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,:,,::::::::::::::::::**::::::++:,,,,,,,,,,,,,,
::::::::::::::::::::::,,,,,,::,,,,,,,,,.**+:####*,,,,+*.,+++++::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,::,,,:,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,.....,::+::...........+*+.*#####,***+,** *+:::,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,+::::,,.,,.+++++++++++++++++++++,..,,,,,,,,,,,,,,,
::::::::::::::::,...:+.......................,::+***#####*..:,:,,,,.,,,,,,,,,::::::,,,::::::::::::::::::::::,+::#***,,,,.+****+...,*########....,+:,,,,,,,,,,,,
::::::::::,,,,,,,...##.....,,,,,,,......,............:+*+:....,.......  ...,:::::,.,....::**:,.,,:,::,,,,,,,,+:+**********++++,.:+,*##*#*########**.,,,,,,,,,,,
::::::::::::::::+,::::,*******:,,,,,,,,,,,,...........:+........, ..,...........*######:******#***+#:.,,:::::+*+******+++++++:, .,,*###############:,,:::::::::
:::::::::::::::::,,,,,+*#####**#,,...,,,..,,,,,.......,.,......*##**###*.... .#:+:::#**###*#######****##.*::+++++++++++++++:::. ..,++++++#*#*####**:,,,:::::+++
:::::::::::::::::::::++**#####**#,,,,,....,,,,,,,,,,,,,......,###***#####,......#*#####+***+++***###*:,##*::::::::::::::++++:,..+.+********#*####**++++++++++++
::::::::::::::::::::+++++#+**#*##,,,,,,,,,,,,,,,,,,,::::,,...:###*########.....,##*#####++***++++**#*,#,#*,,,,,,,,,,,,,,,,,,,.. + ::::::++::++:::::::::::::::::
:::::::::::::::::::::::***#+#+###.......................,,,,,:###*########*,,,..####*####*+:::::+++***+,#*............,,,,,,... +.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::++++++++**+**#####*+++:,.........:,,,,,,,,::,:*##*########*,,,..:###################*,,+*#..........,,,,,,,,..,..,,,,,,,,,,,,,::::::,,:::::+::+
::::::::::::::::::::::::::++++++**###########################*+++*#####################**,,:+########...........,,,,,,,,,,,,. ....::,,+++:::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::++++**########################*****++++++*######+,,,,,,,,,,,,,,,::,,,,:...  ..:+++++::+:::+:::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,:::::++:::::::::,,,,::::+:,,,,,... ...:++++++:++++++++++++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,........,:::++*++++++++++++++++::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,++::,,,,,,,,,:+++::,,::::+++++++::::++::+
,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,::+***::::,,,,::::::++::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::,,,,,,,,,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
::::::::::++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,::::::::,,::::::::,,::,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::++::++++++++::::+:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$####+,...,,,,,,:...................................................,,,,:::::::::::::::::,,.....,......................,,,,,,,,::,,,,,,,,,,,,::::::::,,,,.......
.***+,...,,,,,,:.......,........................................,,,,,,,::::::::::::::::::,,,...,................,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:::::
+*+*::::::::::::::,:,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::,,,,,,,........,,::,,,,::::,,,,,,::::::::::::::::::::::::::::,,,::.:.,
+*+*+::::::::::,::::.:::::::::::::::::::,,::::::::::::::,,::::,,,,,,,,,,::::::::,,,,,,::::,,,,,,,,,,,,,,::::,,::::::,,,,::::::::::::::::::.,,,,,,,:,,,::*++**++
,,,,,,,,,,::++::++::,:++::::::::::,,,,,,,,,,,,,,....,,,,:,:,:,,,,,,,,,,,,,,,::::::,,,,,,,,,,,:,,,,::::,,,,,:,,,,::,,,,,,,...........,,,,,,,,,,,,,,,,,,,:**+:,.:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,:,:::,:,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,.,,............,,,,,,,,.,.,+,,.:+....+**+**+
::::,,,,,,,,,,,,,,,,.,,,,,..,,..,,......,,,,,,..,,,,..,,,,,,,,..,,..,,,,......              ....,,,,,,,,,,,,,,...:,..,..........,,,,,,,,,,.,:***::+++,.,+:*:**+
,,,..,...,:####*:,.,..,,:*++****++*:,,,,.,,.............,,,,.........,...,,,....,,,,,,,,,,,,,,,,,,,,,,:+,,,,:....:,.,,,.........,,,,:,,,,,.,,+:*++:+::,:,++++++
:,#*,:...,:+++:+*++:,*****+*+++**::,::::::++**+:++**++++*+:*+++:++++++++++++:++:,+++++:++++:++:::,,,,:::::::,,,,,:,.,,...,....,,,,++::+,,,,.,,:::::::+::+++*+*+
*##*+:,,,*+++++++:,,+*:+*+++++++*::,+:++::+++*+::+++::::++:+:+:++++++++::::,::++:+:::::::++:::::::::...::,,+::,,,:,.,,...,...,.,,,:++++:,,,,:,,,:::+++::,,:::++
#*++**,:####,***:**++**+,:+:++++*:::+++++:+:++:+:+++++::+:++,:++++++++++::+++++++:::,,,,,:..,,,:::.....:::.,,,,:+,:.,,..,,,,:::,,::+++,,,,::::::::::++::::++::+
#*****,*####::******+***::::+++++:+::,:++++:++++::::++++::++:::++++++++++,::++++++:,::::,.,:::,....,.............,,.....,,,,:::,,::::::,,::::::,,,,,,::::::::,,
#***+:,+####+*****:+***+::,:++::+++,++::::::::::,,::::::,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,
,,,,,:,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..........+*++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..,,,...:+#:++++++++++++++::++++:+++:,,,,,,,,,,,..,,.....
,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,. ##********:..:::++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::***+:+++++++++++++++++++++++++++,++:,,,,,,,,,,,,...
****++::::::::::::::::::::,,,,,,,,,,,,,,,,.*++,..,:,,,,,* +++:,,++++:,,,,,::::,,,,,,,,,,,,:::,,,,,:::::::,:,*,,::,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::,,,,,,,,,,,,,.***,#####:,,,:#,:.*+++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:::::::,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,.....:+****::::::::,...**,,#####*+**+**+*.,++++:,,....,::::,,,,,,,+,,,,,,,,,,,,,,,,,,:,*:::::,,.,,,,+++++++++:+++::+++++:,..,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,.. .++.........................,,:++**####*+ +.+,.,,,,,,,,,,,,:::+:::,,,,,,,,,::,,,,:::,+:::+***#:,,,,***********+,,,.**#...,+*,,,,,,,,,,,,,,
::::::::::::::,,,,,.,.##....,,,:,,,,,.,..................+:*:............... ,:,..,...,,,::::,:,::+:.,,:,,:+::*************+++***++,.,,.######***+,,,,,,,,,,,,,
::::::::::::::::,::,:::::+**##***,,,,,,,,,,,,,...........,+,............. ........ .:#####*++##*#*+**+**#:,,+:*******+*+++++++++++:,.:,.#######***,,,,::+++++++
::::::::::::::::::,,,,,:+**#####*#:,.....,,,,,,,......,.,., .......##***##**......#+#++****#############**##,:++++++::++:::::::::::. ,.,**#*####**,,,,,,::::::+
:::::::::::::::::::::::***#######**+,,,,,,,.,,.,,,,,,,,,,,,......,###*#*##*##,.....,#*#**##+++*++++****#*:,#**:::::::::::::::::::+.....:****####**++:::::::::::
::::::::::::::::::::::***+*#****#*#*,,,,,,,,,,,,,,,,,,,,,,:,:,...+###*########,...,.+##*####++***++++**##,**##,,,,,,,,,,,,,,,,,,,,...:.:::::::::::::::::,,,,,,,
:::::::::::::::::::::::::**+##*+*##+......................,,,,,,.+###*#########,,,,,:########*+:::::::,::::#*#,,......,,..,,,,,,,... :..,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::++++++++**++**#####+::,,..........:,,,,,,,.:::.+##**#########+,,..,*###################:.#**......,,,,,,,,,,,,,...:+*.,,,,,,::::+++++++:,:+::
:::::::::::::::::::::::::::+++++****##########################***++++#################*####*+:+++########...,.....,,,,,,,,,,,,::,. .,...::::::::++++::::++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****########################****+++++**#######,,,,,,,,,,,,,,:,,,,:::,,..  ...,:+++::++++++::::+++*+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::,,,,,,,,,,++::,,,,.. ....::++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. ....,,:::::::++++++:++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,+**++::,,,,,::+:+::::::::::++++++++:
,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::+::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++::::++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
$##**###*....,,,,,,:.......,..........................................,,,,,::::::::::::::::::,. ...,.....................,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::,,.
+*,.***+....,,,,,,:.....,,,,..........,,..,,,,....................,,,,,,,,::::::::,,,,::::::,,,,,,,.............,,,,,,,,,,,,,,::::::,,,,,,::,,:,,,,,,,,,,,,,,,,
**++*+*+:::::::::::::::.::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:::::::,,,,,,::::,,,,,,,,......,,,,,,,,::::::,,,,::::::::::::::::::::::::::::::::+: 
*#+:*+**::::::::::,::::.:::::::::::::::::::,::::::::::::::::,,::,,,,,,,,,,,,:::::::,,,,,,,:::,,,,,,,,,,,,,::::,,::::::::,,,,,,::::::,,,,,,,,,::::::,.,,,,,:+*+*
,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::,,,,,,::::,,::::::,,,,,,::,,:::,,,,,.............,,,,,,,..,,,.,......+*+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,.....,,....,,::,:::,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,.................,........,:,..::....+**+
******+*,++++++++++++::,:::::::::::,,,::::::::::..,,,,,,,,,,,,,,,,,,,,,,.....   ....................,,,,,,,,,,,,....:,..............,,,,,,,,.,,,*+**::+:,,,+:++
.,.:,.,.:...,,#****:..,.+*********++*+,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::,,,,,,,::,,,,,....:,.,,,........,,,,+::,,,,,.,*:++*:*:::+,+++
**,+.+*.:.,.**::+:+++::,++:+*++++***:,:::,,:++**++++:+*+++++::*+*+:++++++:+:+++:+++:+++:,,,::,,+:+:,,,,,:::::::::,,::,.,,,......,,,,,:++++,.,,,,,,,++::+++::+++
#*,##****,,,*+:::+*+:,::*+:*+*+++++*::,+::::,++++::++++++::++:+++:++++++++::::,,,+++:::::,:++:,,,++++::...++,,::::,,:,,,.......,:,,,,,::+::,.,,:,,::::*++:,:::+
***#**+**,+###*,**#+***:**:.,::+++++:,++++++:::++++++++++++++++:++++++++++++::+++++++::,,,,,,.,,,.::,,....:::.,,,,,:::,,..,,,,::::,,+:::::,,:++++:,,::,:::::+++
#*###***+:##***::#*****+**+:::++++++++:,,,+++::+++::,::::+++:+++++++++++++++:+:++++++:,::,:..,:,,,..,,:,......,,.............,,,,,,,::::::,,:++::+,,,,.,::::::,
,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,......,.,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:,:,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.....+#:+++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,.
,,,,,,,,,,,,,,,,+,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,................,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,.,++*::+++++++++++++++++++:++++:,,,,,,,,,,,,......,,.
,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,.+##********+.,*++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::*****:++++++++++++++++++++++++++++:**+.,,::,,,,,,,,,,,
::::::::::::::::::::::::::::,:,,,,,,,,,,,,,.***,,,,.,,,,:,# ++++++::::,,,,,,,,::,,::,,,,,,::::::,,::::,,,:*,,+:,::::::::::::::::::::::::::,:,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,..**,*#####,,,,#,*:.+:++:::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:::::::,,,:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,.....,******++++++::...+**+######*+****+** .+:,:+:,.,..,,,::,,,,,,,:,,,,,,,,,,,,,,:,*+::::,,,.,,,,++++++++++++++++:,,,,..,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,....:+,.........................,,,:+***###**.:,::,:::::::+,,:,,+*+++::::,,,,,,,,,,,,*+::+*****:::::**************+,,:, .,,**,,,,,,,,,,,,,,,
,,,,,,,,::::::::,,:,...#*,.,..,,.,,,,,,...................::,*:.................,,.,,.,:,:++*+++:+*:***,,,::+++*********++++**+++++++*,.:,,###**:,,,:::::::::::
::::::::::::::::,:::,,,:,,*******#,,,,,,,,,,,,,...........,:+,........ .   ........... ,*###*#*+##***+++#*+#++.+***+**+++:+++++++++++:. +.,###***,,,::+++++++++
:::::::::::::::::::,,,,,,+**#####**#.....,,,,,,,,,......,..,.........###***###:.....:#:***#***############**###:++::+++++:::::::::::::. ,.:####**:::::::+++++++
::::::::::::::::::::::::::*########*#,,,.,..,,,.,,,,,,,,,,,..,.....,###*****##*#.......#****#*+:++++++*+****:***+:::::+:::::::::::::+,. ..+###**+::::::::::::::
::::::::::::::::::::::+*****++*+**#*#,....,,,,,,,,,,,,,,,,,::,:,..,+###**#####*##......*##*###*+:#**++++**##,###+...,,,,,,,,,,,,,,,,... ,.:::::::,,,,,,,,,,,,,,
::::::::::::::::::::::::::#++**#**###.......................,,,,,,,+##***########+,,,,,*########*+,,,,,,,,,,,*##:,....,,,,,,..,,,,,,..  :.,,.,,,,,,,,,,,,,,,,,,
::::::::::::::::::::+++++++**+++*###*+,,,,............:,,,,,,,.,::,+*##**#########,,,,,,####################.***......,,,,,,,,,,,,,,...,,,,,,::::::::::::::::::
::::::::::::::::::::::::::++:+++*****##########################***++::+**###############********::,########*......,,,,,,,,,,,,,,::::. ....,:+:++:::+::+:::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**########################******++++++++####*#+...,,,,,,,,,,,,,,::::,,:... ...,::::::::::++::::++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,.......,:+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,.......,:::,,,,,:+++++++::++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::++:+*+++::::::::::::,,::::++++:
,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::
,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++::::::+:::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,
$**.+###+.***:....,,,,.:,.................................................,,,,,,:::::::::::::::::,,....,,..................,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,:::
+++:+:+,:*,*:,..,,,,,,:,..,,....,,,,,,,,,,,,,,,,,,......,,,,..........,,,,,,,,,:::::::,,,,,,::::,,,,,,,,..........,,,,,,::::,,,,,,,::::::::::::::::::,,,,,,,,,,
#####**+**:*::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,:::::::,,,,,,:::,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::++++:::::
**:#+**:+*:*:::::::+++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,:.,,.,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::::::,..,,..,...........,.,,,,.,,,..,.,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,....,,::,,,,:::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:......,.......,,,,,,..,,...++,,+*+,.,
**********+*+,*********++++.++++++++++++:+++++++++:,....    ............................................,,,,,,::,,,,,,..,:.,,,..........,,,,:,..,,.,:+***+:::..
.,,,,,,,.,*+,:...,..,,,:,:.:,***++++++++++:,,,,,,,::++,,,,,,::::,,,,,,:+++:++++:,,,,:+++++++++++++++++++,,,,,:::,,,,,,,,,:..,.,.........,,++++,,,,.,:++:+*+++::
##*:.+*,,#**,:,,,**:+++*+:,,++++++:+++:*+,,::,::::*+++::::+:++++:+*+,:+:+:+++++::::::++:..,,,,.,,,,,:,...,.....,,:::::::::,,,,......,.,,,,+++++,,,.,.:,,+::***:
#****#*+##+**+,,***+::**++::+++++++++++:+:,:::+:::::+::::+++++:+:++++++++:++++++:::,,:+++::::::::+,.,,:+::,,..,::,,,,,:,,:,,....,,..::,,,,::++:,,,,:,,,:::+**:,
##***####**+*+:****#+******++++:..,:+*++++:::,+++:::+++::+++++++++++::+++++++:++::++++++++::,,,,,,,,,:,.,,,,...::,,:,,,:::,,,,,,,,,,:::,,:::+::,,:++++:.,.,.::,
###*######***::+****,+****:+++++,.,+++++++::::::::::++::::+++++++++:+:++++++++++::::++++*+,,::::.,:,,,::,,::,......,...............,,,,,,,,,,,,:::+++::,,,...,,
,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:::,,,,::,,,,,,,,,,,,:::.,.,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+##++++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,::,#::::+++++++++++++++++:+++++,,,,,,,,,,,,,,,,,,.....
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,..****####****+ ::++*+++::,,::::::,,,,,,,,:::,,,,,,,+:::******++++++++++++++++++++++++++++::***,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,..***.+**:,,,,,:*+ *+++::::::,,,,,,,,::,,:::::::::::::::,,::,::::,,::::::::::::::::::::::,,:,:,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..**,######,,,+*,##,.+:++++::,,::,,,,,,,,,,,,,,,,,,,,,,,*::::::::,,,,:+++++++:::::::::::::::::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::,,,,,,,,.....,******+++*+++++.. ****#######********# .,,,::,,,,.......,,,,,,,::::::::::*++::::+,,,,,,::***++++++++++++++++::,..,..,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,....:+,................ ...........,,,,:+**##++.,:+************+::+**+++:++,,,,:*++++++*****++:::##************++**+.,,.,:.,,,,,,,,,,,,,,,
::::::::::::::::::,,:,..,#*+....,,.,,,,,,.....,...............:,++,.................  ,:::++**++*+:+,:**##+#+,,,+++*****++++++++++++++++**+,...,:::::::::::::::
::::::::::::::::::::::,,,:.::#**##*#*.,,,,,,,,,,.,,..........,.**,........,..,............ ..+#***#+*#+*#***:***###:,+++++++++++++++:::+**:..:.,,,::::++++::+++
:::::::::::::::::::::,,,,,.*+*#####****,....,,,,,,,,,,.......,,, ........###****###.......#.++*#**************#*+##**:++:::::::::::::,++*+:..:.:::::::::::::+++
::::::::::::::::::::::::::,+****#####*##,,..,,..,,,,,:,,,,,,,,,.,.......###*****##*#*.......********::::::+++**+*+****::::::::::::::::::::.. ,.+:::::::::::::::
::::::::::::::::::::::::+***#**#:**##**#,,..,,,,,,,,,,,,,,,,::,::,:,...:#####*########....,,###*####:+**++++***##,##*,,,,,,,,,,,,,,,,,,,,. . ,.,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::+*#*#+****##........................,,,,,,,:###*#*########:,,,.,*###*####*+,,,,,,,,,::##*,,,,,,,..,,,,,,,,,,,,   ..,,,,,,,,,,,,,,,,
::::::::::::::::::++::+++++++*#+*++*###*,.................,,,,,,,,.:::,:*##+**########*:,,,,.###################,,***,,,,,,,,,,,,,,,,,,,,. ....,::+::::::::::::
::::::::::::::::::::::::::++++++***###############################***++++:*+*###############*******:,,.#########....,,,,,,,,,,,,::::,,::..... .:+++++++++::+:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****########################******++::::::#######,,,,,,,,,,,,,:::::::,,,,,,.  ...:++++++::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,:,,,.......,::+++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,:,..,.,,,,:,,,:,,,.......:+++:,,::::+++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+********::::,,,,:::
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++::++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::,,::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::
$**##*:.*##+.***+....,,,,,,:.......,.........................................,,,,,,::::::::,,::::::::,,......................,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,
**  ...,.,..,.:,..,,,,,,,,,,...,,,::::::::::::::,,,,,,,,........,,,,....,,::,,,,,,::::::::,,,,,:::::,,,,,,...........,,,,,,,::::,,,,,,::::::::::::::::::::::,,,
##:#####**++*+*+:::::::::::::::.::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:::::::,,,,,,,:::,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::::::+::::::::::
*#.**:*++*:+*+*:::::::++++,:++:,::,,::,,:::::::::::,,,,,::,,,,::,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,:.,,,,,,,,,,,,,,,,:::,.,,,,.,..
,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,.............,,,,,....,:,.,,+
,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,...,,,,,,,,,.,,,,,...,,.............,,,,,,,,,,,,,,,,,,,:,..............,,,,,,,,,,,,*++,+*+
::.:++++*+:++,+:,+***++++::+::,,::::::::::::::++:::::,.....................................................,,,,,,::,,,,,....:,.,,,..........,,,:,,.....,+:++*::
+,..,,...,,:.+*.,...,..,,::,:.,.***+++++++*+::::,::::++++::::::::+:::+:::,::+:+++++:++::++++:++++++++++++++,,,,,::::,,,,,,,,:,.,,,........,,,:+++:,,.,,,*:::+:+
*,:*#*+,**:*****,,.,**:+:++::,:++:+++:++++++:,::::::::+:+::::::::++:+:+:::++:++++++:::::++::,,+++::+:::::,,,::........,,,:,,,,,,......,.,.,,.:++++,,:,.,::,,+:*
**:#*****####+**+,,****:,****:+:++++:+++++:+:,,::::::::+::+:+++++:::+++:+++++++++++:::::+++++::,,:::+,.,,,++:,....:::.,,,,,,,,,,.....,.,::,,,:+++:,,,,::,,::::+
##+###**#*##*++++,*****:*******:*+:..,:+*++++:+:,:+::::+++:::+++++++++:::+++++++::++,++++++++:::::,,,,,,::,,,,,,..,,,.,,,,,::,....,,,,,,:::,::++:::,:+++::,,,,,
*+**####**##**++:::****::***++*:*+:,..++++++::::::::::::::::::++++++++:::++++++++:+:::::+++++:,:,,,..,,:::::,::,.......,...............,,,,,,,,,,,,:,::::,.,...
::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,::,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,
:+:,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:*#++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,..,,,.......................,,,,,,,,,,,,,,,,,,,,,,.,,,*+:#::+++++++++++++++++++:++:++,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+*#+**#####**:.++++::::,,,,,,:::,,::,,,,,,::,,,,:,:#+###*+++++++++++++++++++++++++++++,**#,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,.,#*,*###,,,,,:**: +++::::::,,,,,,,,::,,::::,,:::::,:,*:+:::,,:::::::::::::::::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..**+:#####,,,:#,###,.++++++:,,,:,,,,,,,,,,,,,,,,,,,::::::::::,,,,:++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::,,,,,,,,,,,,,,.... ,+*****++++++:::,..,***#########*******#...,,::,,,,........,,,,,,++::+*++:::+:+,,,,,,:,**++++++++++++++++++:,,,.:.,,,.,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,....:+,........................ .....,,,,:*#**+:..,,********+++::::+++:++++,:::::::+***+*++::+***************+++*.,,,:* .:+.,,,,,,,,,,,,
::::::::::::::::::,,,,,,...**+....,,,,,,,,,,.,,..................,,,+:..................  ,:+++*+****:+++**##*##,..+**********++***++++++++*++. .,.::::::::::::
:::::::::::::::::::::::,,,,:,::***##**#.,,,,,,,,,,,,,...........,.**.,......,. .,,.............. *##**:**#+##**+#**###*,,+++++++++::::::++***:. ..,:::++++:::::
:::::::::::::::::::::::,,,,,,++*#####***#......,,,.,,,,,........:,,:,.......*##****#*#*..... +++*+#**#***********#*+*##+::::::::::::::++:++**:. +.:+:::::::::::
::::::::::::::::::::::::::,,,:***######*##,,..,,..,,..,,,,:,,,,,,,.........####*****####.......:*******+::,:::************:::::::::::::::::++.. :.:::::::::::::
:::::::::::::::::::::::::+**#*#*+#+*+*#***,,,,,,,,,,,,,,,,,,,,,,,:,:,,,...:*###**########,.....:##*#*#*#+****+++**##+*##*.,,,,,,,,,,,,,,,,,,... *.,,,,,,,,,,,,,
::::::::::::::::::::::::::::::++*##:*+**##........................,,.,,,,,:*##***#########,,,,.,#########*,,,,,,,,,,,:###.,,,,,,,,,,,,,,,,,,... .,,,,,,,,,,,,,:
::::::::::::::::::::++::::+++++**++*+*####..................,,,,,,,,,,:::,:*##***#########:,,,.,+##################*,:**:,,,,,,,,,,,,,,,,,,,,. ...::,:::++++:::
::::::::::::::::::::::::++::++++****#############################****++++:+:+**#*###############**##**:,,.#########:..,,,,,,,,,,,,,,::,,,,,,.    .:++++++:++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++****########################******++::::,,::,*######:,,,,,,,,,,,,,::::::,,,,,,......:++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::++::::,,,,,,::,,,,,,,,,,,,,,,,.......::::++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,....,,,:,,::,,,,......,+++:::::::::
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:++****+::,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,:::::::::::::::::::::
,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::
$+****++*,*##*,:*++,++**:...,,,,,,:......,,........................................,,,,,,,:::::::::,,:::::::,,,,..,..............,,,,,,::,,,,,:::::::,,,,:::::::
***###*#.,#*#:*++++++:+:::::::::::::::.:::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,:::::::,,,,,,::::,,,,,,,.........,,,,,,,::::::,,,,::::::::::::::::::+
*+:*#+:*+,#######*+**+*:::::::::::::::.:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,:::::::,,,,,,::::,,,,,,,,,,,,::::::::::::::::,,::::::::::::::::::,,,
,,.,,,,,,,,,,,,,,:,,:,,,:,:,::::+:::::.+::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,::::::::::::::,,,,..,,..........,:,,,,:,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:,::,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::.,,............,,.,......,
::,,:::::,,:,,,,,,,,,,:,,,,,,,,,,,,,,,.,,,..,,,,,,,,,,,,,,,,....,,........,,,...,,,,,,,,..........................,,,,,,,,,,,,,,..,:,.............,,,,,,,,,,,,,
,,,,,,::,:,,,,.,,,+,::,,,,.,,****+:,,,....,+++++++::+:,,,,,,...........................,,,,,......................,,,,,,::,,,,,,..,:,.,,,,......,,,,.,::,,,,,,,
++::::*#,,,,,,,,,,+,,*:.,.,.::::::*:::,+**++++++++*::,::,,:::++++:::+*+++++:,*+:+:+:+:+++*:+++++*+:+++++++++++++++,,,,,,::,,,,,,,,,:,,,,,,......,,,,:*::+,,,,,,
*:**++*#,:.*+*,+*+:***++,,,:*:::::+::,.+::+:+++++:+::,:::+:::::++::++++++++::+:+:+::::+:+:::::::++++++:::,:++:::::::::...:::.:::,,,,,,,,..,,,,.::,,,,+:+++:,,,+
*#*:+##***:******+**++:+:,****:.++:++:,+++,,+,+++:+:,,::++::::++:::+++++++::++::+++++++++++::+++++++::,,,,:+,,,,,:::,,...:::.,,,,,,,,,,,..,,.,+:+,,,:*+*+.,,,:+
*#######:+,*********++++:,****+:++++++,+++:,,:+++:+::::,,:::::++++,,++++++++++:::++++++++++::::++*++:,::::,.,,,,..,.,,,,...........,,......,,:::::,:+++::,,,:::
########**,*****+***+++::,++*++:++++++,+++:,,,:++::::,::::::::::::,,::++++:::::::::::::::::,,,,::::,:,,,,,,,,,,,,,,,,,:,..........,,....,,,,,,,,,,,,,,,,,,,,,,,
:*:,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,::::::::::::::,,,,::,,........,,,,,,,,,,,,,,,,,,,,,,,
,:,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,.:*##:++++++++::+++++++++++++:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,...............  ....  ........,.,,,,,,,,,,*+::*:+:++++++++++++++++++:++::::,,,,,,,,,,,,,,,,,,,,,,,,,,
:,*+::::::::++*+:+++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:**:,+*#####*** ::::,,++,,,,,,.,:::,,,,,:*,+**#*++++++**+++++++++++++++++:::++***+,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..**,*###,,,,,:#***.,+++::::,,,,,,,,,,::,,::*:::::::,:::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,...,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..+**,#####,,,:#:#+##*.,::::::,::::,,,,,,,,,,,:::::::,,. ..:+++++++++++++++:::::::,..,,,,,,,,,,,,..,,,,,,,
::::,,,,,:,,,,,,,,,,,,,,,,,,.. ...::++++++++++:::::,...#**############*******.:,,,,,,,,:......,,,,,,,,:+*+,,,,,,:,*++++++++++++++++++++,,,.,,,,,,,,,,,,  ..,,,,
::::,,,,,:,,,,,,,,,,,,,,,,,,....,,,........................... .  ..,,,,+**+::...,:*****++++++,,,,,,,,,:,:.,::::++++************##*++*+:::++,,,,,,,,:,,.:,::,::
::::::::::::::::::::::,,,,:,..,.***.....,,.,,.,,,..,....................,,.+:,..................   ,:++******+:++***##+#*,.,*##*#*******++++::::::::::..+.:::::
::::::::::::::::::::::::::,:...,:,:,+*******:,,,,,,,,,,,,.,,............,,,+.......... .,,:,. ........   .:#**++*+#,#*****#**##*.:+:+:***+++:::::::::.....:::::
::::::++::::::::::::::::::::,,,,.,,,*######*#*+......,,,,,,,:,,,......,...,.:.......,##*****###+......:#,*+***************##*###:+:::+++++++:,:::::::.  ,.++++:
:::::::::::::::::::::::::::::,,,,,+***######**##,,..,,....,,,,:,,,:,:,,,,...,......+###*****#####.......,#******++:::::++++*****+**+::::++++::::::::......:::::
::::::::::::::::::::::::::::,++**+#*+*##+**##**#,,..,,,,,,,,,,,,,,,,,,::,,,:,,.....*####*#########,.....,####*##**:#**+++***#*###*,,,,,,,,,,,,,,,,,..  :,.,,,,.
:::::::::::::::::::::::::::::::::::+***##+**#**#........,,......,,,,,,,,,,,,,,,,,,:*###**#########*,,,,,,#########*+,,,,,,,,,,,##*,,,,,,,,,,,,,,,,,.. ,:*,,,,,,
:::::::::::::::::::::::::::::::::::+**+++#*+####..........................,.......,*##+*+*#########,..,,,+######*############+***:,,,,,,,,,,,,,,,,:......,,,:::
::::::::::::::::::::::::::::++++++*****###############*********#######*+::::,,:,,,:*####*######################*.,##########,,,,,,::,,,,,,,,::::,,,,...  ,:+++:
::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::++**##############################++::::::::,,,,::,,,########:,,,,,,,,,,,,::::::,,,,,... . ,:++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++***********************+::,,,,,,,,::,,,,,,,,,,,,,.......,::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,+****::,,::,:::+++
::::,,,,::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,:,:,,,,,.,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++:::::::+::::::::::::::::,,,,,,,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::
$:*#,*###******#**.++*:.***+,..,,,,,,:,..,,............,,............................,,,,,,,,,:::::::,,,,,,::::,,,,,,,.............,,,,::,,::,,,,,,:::::::::::::
***,*,*##****:##*****++*+*+:::::::::::::::,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::,,,,,,:::,,,,,,,,,.....,,,,,,,,::::::,,,,:::::::::::::::::
+*::+:*#*++##,**+****+:*+++:::::::::::::::,:::::::::::::::::::,,::::::::::::::,,,,::,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,:,,,,,,::::,,,,,,,,,
,,,,,,..,,..,.,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,,,,,,,::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,...........,,..,
,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,,..,.........,,,,..,
#************,********+++++:::++++++++++:,::::++::::::::::::::::::,,,,,,,,,,,,,,..,,,,..,,,.,.......             .....,,,,,,,,,,,,,,..,:,.,,..........,,,,:,,,.
++::,,,,,,,:,,,,,,,,,,,,,,,,..,,:+++*+:.,:.+**++++++++:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::::::::::::::,,.,,,,,,,,,,,,..,:,.,.,.......,,,,::+:,,,
*++*+:#*:++*,,*+*+.:+,,,++,,..,::::::++::,,++:*++++++++::::,::::+++*::++*+**++:++:++::::++++++:+++:++:::::,:,,,,,,::,:,,,,,,,,,,,,,,,,,:..,,,,......,,,,+++++,,
*+***####***:,#***+**,**++++,,::+,::++:::::+::::++++::::,::,::::+++::+++++++:+++::+:++::++++++::,,.:++++::,,:::+,,,,:::::,..,::,,,,,,,::,.,,..,,,,,*,,,,,:++,:,
+:+*###*###*#+****+****+++++,+++++,::::++:+++:,,,:::::::,:::::::::+++::+++++++:+++:+++++++++++:,++++++++::,,,,.,,,,,,,,,,,..,::,,,,,,,::,.,,,,,,:++++,,+++:::,,
::+**#######*+****+*****+++:,+++::,:::::::++::::::::::+:::,,:::::+++++::+++++++:++++++++**++++::::++++++,,::,,.,,,,,...,..,,.....,..............::++::::::::,:,
:::#*::::::,:::,::::,,::::::,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,.,,,,,,,,,,,:,,,,::,,,,,,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,:,,,,,,,,,
,,,,,+,,,,,:::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,+*,::++++++++++++++++::,,,,............,,,,,,,,,:,,,,,,,,,
,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,.*+**+:++++++::::+++++++++:++:+:,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,
,,,,.*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,::::,,.. .  ................,,:,,+::+*::++++++++++++++++++++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.**:,,,,,::::+:+:.:,,+:,,,,,,,,..::,,::****:+++******++++++******+++:::++**+,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,***:####,,,:,+#+#*:.+++::::,,,,,,,,,,,,,,,:::,,::,:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...**:######,,,#:#,####+.+.,,,::,,,:::,,,,,,,,,,,,..,.:+++++++++++++++++++::::,..,,,,,,,,,,,,,,,,,,...,
::::::::::,,,,,,,,,,,,,,,,,,,,,.........,,::+++++*++++....:*##############*******:,,:,,,...,........,,,,,,,,,,,,:********************:,,.,,,,,,,,,,,,,,,,.,,,,,
::::::::::,,,,,,,,,,,,,,,,,,,,.....+++....................  ........ ........:::,,... ..::::,,,,,.,,,.........,.,:::::******######+**+****,,,,,,,,,,,,,,:,.,,,:
::::::::::::::::::::::::::,,,,,...,#**.....,,,,,,,.::,,,...................... . ,....................   .***##****:+****##*##,.,+****#***:::::::::::::::..:.::
:::::::::::::::::::::::::::::+:.,,:,,:.*********.,,,,,,,,,,,,,,,............,,+*,,......... :+***: .......  ... :***+*+*,***++*#**##*,:***::::::,,,,::::.. :.::
:::::::::::::::::::::::::::::::,,,,,,::**#####***#,,.....,,,,.,,,,,,........::,,,,.......*##*****####,..... *:**+#****************###,+**++:::::::::::::,. ,.::
::::::::::::::::::::::::::::,,::,,,,,:****#######*#:,,..,,....,,,,:,,,:,,,.,,,..........####**#*######+.......********++:,:::++*********++::,,,,,,,,,,:,..., ::
::::::::::::::::::::::::::::::::++*+***+*##+*****#**....,,,,,,,,,,,,,,,,,,,:::,:,,,....:*##############:......*##*####*+**+++++**#####*,,,,,,,,,,,...... ..:..,
::::::::::::::::::::::::::::::::::::::+**##**+######................,,,,,,,,,,,,,,:,,,,:*##*############,,,,,,+#########*:,,,,,,,,,,***,,,,,,,,,,,,,,,,. ..,,,,
::::::::::::::::::::::++::::::::::::+++*#++*#***###,..........................,,..,,,,,:*##*############,.,,,,,###################**#*,,,,,,,,,,,,::::,. ....::
::::::::::::::::::::::::::::::++++++*****#**############***********#######*::+::,,,,,,,+*###**######################*:+##########,,,,,,,,,,,,,,,:::,,,,. ....,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**######################*########*::::::::::::,,,,,:########,,,,,,,,,,::::,,,,,,,,,. ...,,+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****************************+:::,,,,,,::,,,,,,,,::,,,. ...,::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:++++++++::,::
,,,,,,,,,,,,,,::::::::::,,,,,,,,::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::,,,,::,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,:::::,,,,,,::::::++++++:::::::::::::::::::::::::::::::
$++,:#:*#*#####:**#*,*+*:.***:,....,,,,,,.....,,,............................,,,,......,,,,,,,,,,::::::,,,,,,::::,,,,,,,,........,,..,,,,::::::,,,,:::::::::::::
.,*:*.*,*##**#*.##*****++*+*+::::::::::,:::+.:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,:::::::,,,,,,:::,,,,,,,,,....,,,,,,,,,,,:::::,,,:::::::::::::::
::+++:*:+##*:*#.*#:****+:*+++::::::::::,::::,:::::::::::,,::::::,,::::::::::::::,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,:,,,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,..,,,,,,.,,,,,,,..,,,,,,,,,,.,.,,,,,,,,,,,,,......,,,,....,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,............,,
,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,............,,.,.
**##**********#,****++++*+*++:+++++++++++++::+++++++++++::++++++++::,,..,,,,,,,,,,,,,,,,,,,,..,......       ............,,,,,,,:,,,,,....:,...,.........,,,,::,
:::+::,,,,,,,:,,..,,,,,,:,,,.,...,,::+::,,.,.:+++++++++++:::,,,,:::,,,,,,,,,,,,,,,::::::::,::+::,:::::+++:::::::::::::::,,,,,,,,,,,,,....:,.,,,.......,,,,,+++,
*+++:*+:#*::**,,***:.:+,:,::,,...:::::::+:,::++:++:++++++::,::,,::++**::++*++++++:+:::+:+:++++++:+++:++::,,,.,....,.::,,,,,,,,,,,,,,,,,,,:,,,,..,,....,,,,+++++
*+*++**####***+:*******,+*++::,,:::::,+++:+::++:::+:::::+:,:::::::+++::+++++++::++:+++++++++++++:::,.:++::::,,,,,:,,,,,::::,...,:,,,,,:,.:,,,,..,,.,.+,,,,,::+,
#++:+*#######***+******+*+++::,:++++,::::++:::+:.,,:::::+:,:+::++,::++++:+++++++++++::++++**+++++,+++++++:::,,,,.,,,,,,,,,,,,..:::,,,,,,::,.,,..,,,:+++:,:+::::
**::+**#####**+*******+**++:::,::::::,:::::::::::,,:::::+:::,,:::+:+++++::+++++++++++:++*+**++++:,:::+++:+,,,,,,,,,,,,,,,,,,,,.....,..............,:+::::::::::
,.,,:*#:,,,,::,:,,,:,:,,,,,,,,,,,,,,:,,,,,,:,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,,,,.,,,,,,,,,,,,:,,,,,,,,,,,,,,..,,,,,,,,,,,,,...............,,,,,,,,,,,:,,,,,,,
,,,,,,,+,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,+*,::++++****++++++++++:::,..........,,,,,,,,,,,,,,,:,,,,,,,
,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*+###:++++++::::++++++++++++::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,::++::::,,..  .................::::+::::++++++++++++++++:::+++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::,::::::::::::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,**,,,,,::::::+++ :,:+::,,,,,,,,,,::,+++++********++++****+++++:::::+*++,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..**:#####,,,,,#,#*##.++:+::,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,**,#####+,,***++####+.,..,,,::::::,,,,,,,,,,,,,:+++++++++++++++++++++:,...,,,,,,,,,,,,,,,,,,,,.,,
::::::,,::,,,,,,,,,,,,,,,,,,,,,,, ........,,::++++++++::.....***##############*******..:.,,.,,......,,,,,,,,,,,+********************:,,,,,,,,,,,,,,,,,,,,,,..,:
::::::::::,,,,,,,,,,,,,,,,,,,,,,.....+++........ .,............ ........ ... ...:*:,.... ...,:::,,,,,,..,,,,,,,,:,,:::++**######*+#*+****:::::::::,,,,,,:,:,.,.
::::::::::::::::::::::::::,,,,,,,....***.....,,,:,:,,,,,.,.... .................... ....................     .***##****:*****#*##:.,+**#*+:::::::::::::::::. ,.
:::::::::::::::::::::::::::::::::...,:,+.+*******#,.,,,,,,,,,,,,,,,............,.*+*,...........:***+, ....... ...  :***:*+#:***++**#*##+.::::::::,,,,,,::...:.
::::::::::::::::::::::::::::::::,,,,,,,,:+*######*#*+,......,,,,.,,,,,,,......,,,. .:....... ###****#####,..... #,**+****************###*:+:::::::::::::::,. ,.
::::::::::::::::::::::::::::::,,::,,,,.:+***######**##,,....,,..,,.,,:,,:,,,,,,.,.,........,####**#*######,.......*******+++:::::++++++++++::,,,,,,,,,,,,,.....
::::::::::::::::::::::::::::::::,:+++++**++##+#***##*#,,....,,,,,,,,,,,,,,,,,,,,,,,:,,.....+####**#########:....,.*##*####*+**+++++**#####:,,,,,,,,,,,..,... , 
::::::::::::::::::::::::::::::::::::::::+***##+**#####........,,......,,,,,,,,,,,,,,::,,,,,+###***##########,,,,,,+#########*+::::::::::*#,,,,,,,,,,,,,,,,...,.
::::::::::::::::::::::::++::::::::::::::+**:+*##***###.....................................+###***##########,,,,,,,##########*########****,,,,,,,,,,::::,.. ...
::::::::::::::::::::::::::::++::++++*******#*#########******++++++:+######*#*:,,,,,,,,,,,,.+###***#######################*##########:.,,,,::,,,,::,::,,,,,  ...
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**####################**##***########:::::,,::,,,,,,,,,#########,,,,,,,,,,,,,,,,,,,,,. ....
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+***######****########****######*+::,,:,,,,,,,:,,,::,,,,,......
::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,::::++*****:
,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::
::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::::,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::,,::,,,,,,,,,,::::::::::::::::,,,,,,::::++::::++:::::::::::::::::::::::::::::
$#,,,.,:*:*#*###*#+***+,++++.***+....,,,,::,,........,,............,,.....................,,,,,,,,,:::::::,,,,,,,::,,,,,,,,,...........,,,,,,::::::,,:::::::::::
+....*:*,*,*##*+#*.*******++*+*+:::::::::::::::.::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,:::::::,:::::::::::::
+:::::++:*:+*#*+*#.**:**+*+:*+++::,:::::::,::::.:::::::::::::::::::,,,::::::::::::::::,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,:,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,...,,,,..,,,,,,..,,,,,,,,,,,,,,,,,,.,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,...........
,,,,,,,,,,,,,,,,,,.,..,,..,,..,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,+,,,,,........,,,,,
****+***********+*,+++++++++++++,:+++++++++*++,:++++++++++++++++++++::,,............,,......,,,,,,...               .......,,,,,,::,,,,,,,,.:,.,,,........,,,,,
,,,+::+::,,,,,,,:,,.,,,,.,,:,,:,,,..,,,,,,,,,.,.++++++++++:+::,,,,::,:+++:,,,,,,,,,,.,,,,:++::++++:,,,:,++::::::::::::::+:,,,,,,,,:,,,,,,,,,:,.,.,........,,,,+
:+***+++**,**::*+,:***+,+:,::::,,,,,+:::::++:,:,::::+:::++++,,::::,::+***::::+:++++:++:::::+:++++++:+++::::,,,,,,,.....,,,...,,,,,,,,,,,,,,,:,.,,,......,,,,,:+
**+*++::**##****+*+**+++++::+::::,,:++:,,:++::::::,:,:::+::+:,::::+::+++::::+++++:++*:::+++++++++++:::,,::++:::,,,,::,..,,:::,,...:::.,,,,:,:,,,,,,,,,,,+:,,,,:
####+::+**********++**++++++:::::,::++:,::::::::::,.,,::+::+::::,:+:,+++++::++++++++++:::+++**++::+::::::+++:::,,,,,,,,,:,..,,,,,.::,.,,,,,:::,,..,,,,:::::,:::
###*+:,+*********++:++++::++:::::,:::::::::::::::::,,,:::::+::::::++++++++::++++++++++::++****+++::::::::::::,,:,,,..,,,,,,,.,,,,.....,...............,:,,,,,,,
,,,,,,,,+*::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,**::++**++++++++++++++++:::,,.,,..........,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*+##*::++++++::::+++++++++:++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,
,,,,,,,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,++********::. . ....,,,,,,:,,.,,:+++++++++++++++++++++::::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..**,,,,:::,,::+#++.:,:+:...,,,,,.,,:,,******++********+++:::::+*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..****####,:,:,#:####* .+:::,,,,,,,,,,,,:,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...**+#####*,,**#::#####+ .:.,.,,:::,,,,,,,,,,,,:++++++++++++++++:::...,,,,,,,,,,,,,,,,,,,,,,,,.
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,...,,::::::++::,,,... :**################****+*..,..,,,,.........,,,,,:+*++******+++++++,,,,:,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,.....,**:........ .,...........  .......... ... ..,*+,,,...,...,,,,,,,,,,,,,,,,:,::::::***#**+#+++**:::::::::::::,,,,,,::::,
::::::::::::::::::::::::::,,,,,,,,,,....***:.....,,:,,,,,,,,.,..........................,.......................  ..****#***+:+******#,.,,,+:::::::::::::::::,.
::::::::::::::::::::::::::::::::::::...,:,::.++**#**#*.,,,,,,,,,,,,,.,,.............,.*,*,............:+**:, ............ .***:*+#+***++#*##*#,,::::,,,,,,:::,.
::::::::::::::::::::::::::::::,,,,,,,,,,,,,::**######**#:.......,,,,.,.,:,,,........,.,..,........,###****###*#.......**:+*+************######,+:,::,,,,,,,,:,.
::::::::::::::::::::::::::::,,,,,,:::,,,,,:,#*#**###*#***#,,....,,...,,.,,:,,,,.,,,,,,...........+####**#**#*###+.......,******+++:::::++**+****+:,,,,,,,,,,,..
:::::::::::::::::::::::::::::::::::::::++:++*+*##+***##**#,,......,,,,,,,,,,,,..:::::,,,:,,,....,################+......,##*#####++**++++**#####:,,,,,......,,.
::::::::::::::::::::::::::::::::::::::::::::*+*##+++##***#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:*################,,,,,,,###*#####**++++++++***#:,,,,,,,,,,,,  
::::::::::::::::::::::::::::::::::::::::::::+*+++##+*+####......................................:*#####*##########:,,,,,,##########***********#*,,,,::::,,:,,..
::::::::::::::::::::::::::::::::::::++++++++***#****######++++++++::::+*##**++::,,,,,,..,,,,,,,,:*###***##############****################:,,,,:,,::::,:,,,,,..
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++****###################*#*++++++*****########::,,,,,,,,,,,,,,,##########,,,,,,,,,,,,,,,,,,...
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****##################****++++:*######:,,,,,,,,,,,,,:::,,:,..
,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:,,,:,,:***
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::,,,,::::::::::::::::::::::++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::::::,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::::,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::,,,,,,,,,,,,,,,,::,,,
::::::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::,,::::,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::,,,,,,::::::::::++:::::::::::::::::::::::::::
$##,,..,,#*,**#####,*++:,*+:+.:*:+:,,,,,,,,,:,,...,,,,,,,,,,,,,,,,,..........,,........,,..,,,,,,,,,,::::::,,,,,,,:::,,,,,,,,........,,..,,,,::::::::,,,,:::::::
#*.....:*:+*:*##+##+********+**:+:::::::::::::::,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++:::.*:+::*#*++*****++:++:++:+:::::::+++:::::.+::::::::::::::,,,,,,::,,::::,,,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::,,,,,,.::,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::.,,,,,,.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,.,,,,,,,....,,..,,,,,,,,..,,,,..,,..,,.,,,,,,,::,,.,,,,,..,,,,,,........,,,,,,,,,,,,,,,,,,::,:,,,,............,
****+,***#*******+++:+++:::::::+::::::+++++++++:,+::::::++++::++::::+++:..................................  ................,,,,,,::,,,,,,...::.,,,.........,,,
::,:++::::,,,,,,,,:,..,,,,,,:,,:,...,.,.,,,,:,,..,+++++++++++:::,,,,,,+++++,,,,,,,,,:,,,..,:+++:++++,,,,::+++:++++::::::++::,,,,,,::,,,,,,,,,:,,..,,........,,,
#****+*+:**:+*+:++,,,++:,,::,,:::,,,,,::::::::,,,:::++:::++++::,::::::+****::::++++++::+:::+:+::++++::::::::,,,,.,,.,,..,:.....,..,,,,,,,,,,,:,,,,,,,,....,,,,,
#*+**+++:********++:,+++::++:+::::,,++++:,::+:,,,:::::::::::+::,::+++:+++::+:+++++::++++++++++++:::::,::::+++:::,,,,::,.,,,,::::,..:::.,,,,,,,:,,,..,,,,,++,,,,
#####*::::*******+++:+++++++++:::::,++::,,::::::,:::.,,,::::+::,:,:++:::++++:+++++++++++:::++++++::::,::::++::::,,,,,.,,,,,,,,,,,,..::.,,,,,::+,,,,,..,:::::,,:
####**+,:++***++++++,+++:::+++::::,,:::::,::::::,:::,,,,::::::+::,::++++++++::+++++++++++:+**+++:::::,::::::::,,,,,,,,,,,,,,,,,,,,,.....................:,,,,,,
::,,,,,,,,*:,,,,,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:*#::++++++++++++++++++++:::,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+**#*::+++++:::::+++++++++:++::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, **********++:,   .,,,,,,,,::,,.,:++++++++++++++++++:::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+**,,:,,,,,,,:#+++.:,:+,,..,:,,,,,,:,:*++****##****++::::+**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...*#:#####:,,,+#*:###* .++::,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...:**:#####,,,#**,######+.,+...,,:,,,,,,,,,,,,,,++++++++++++:::,..,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,::++++::::..,.....***################******, ,,.,,,,......,,,,,,,,,++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,*+:......................  .......... ........++:.,,..  .,::::::::,,,:,::::+:+++++:***::++*::::::::::::::::,,,,:::,:
::::::::::::::::::::::::::::,,,,,,,,.,....+**+......,,.,,,,,,,....,.....................,. .,,..................      .,*****+**+:+******,.,.+:::::::::::::::::
::::::::::::::::::::::::::::::::,,:,,:.,,.,,,:.::***##**:,,,,,,,,,,,,,,,,,.............. ,:*,,............,,::.............. .:****#+#*#***:#*#+*:,,:,::,,::::,
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,***#####*#*#,......,,,,,,,.,,..........,...,,.,........*###****###** ......**:+*+**####****########,*::,,,,,,:,,
::::::::::::::::::::::::::::::,,,,,,,,:,,,,,,:**##*####*#**#,,....,,....,,,,,:,,,,,,,,,,.,.,,,.....,.#####**#**#*###: .......*#*##*++++++++***#*****+,,,,,,,,,.
:::::::::::::::::::::::::::::::::::::::+:::::+*++#**#*+##**#*.......,,............,,,,,,,,,,,.,.....*################:......,#######*****+++***#####,,,,..,,,..
::::::::::::::::::::::::::::::::::::::::::::::*+*##*:+##*#*##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,+#################,,,,,,,###*#####*++++++++*####,,,,,,,,,,.
::::::::::::::::::::::::::::::::::::::::::::::+*+++##++**###*.......................................+###**+*##########:,,,,,,*##########****++++****,,::::,,,,.
::::::::::::::::::::::::::::::::::++::+++++++++**#****#######+:::::::::::+::,,..,,,:,,,,.,.,,,,:::,,+*##**#*###########******+################,,:::+::,::,,,,,.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++**#####################*****++++++++++*+***########****+,,,,,,,,,,,##########*,,,,,,,,,,,,,,,,.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++****################******++:::::::,########:,,,,,,,,,,,::,,,,.
,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::,,,,:::+*
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::,,,,::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::::::::::::::,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::::,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::++::::::::,:::::,,,,,,,,,,,,::,
::::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::,,::::::,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::
$#####,,,..,*#,***#***:*,,,.,,:,,::::,,,,,,,,,,,,,,....,,::::,,::::::::,,,,...................,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,......,,..,,,,,,::::::,,::,::::
##***,..,.:*,+*,*#***+:++++++++:+::+:::::::::::::::,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::++++::,+,*++::**++++::+::+:::,::::,,:::::::::::::.::,,::,,:::::::::::,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,.,,......,,,,,,,,..,,,,,,,,,,,,,,,,,,.,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::..,,,,,......
,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,.,,,,....,,,,,,..,,..........,,,,,,,,..,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,:::,::..,,..,......
******::.+****+++++::::,::::::::::::::::::::::::::,,::::::::+++:,:::::::++,.....................................................,,,,,::,,,,:....::.,,,,.,......
::::,,,+::+::,,,,,,,,,,.,,,,.,,:.,:,.,...,.,,,,,,,,.:+::::++++++::::,,,,::+++:,,,,::::::,.,,,,::::+++++:::::++++:+++:::::::::::,,,,,::::,,,:,,,,::..,,,.......,
:###+++*++::**::+:,+:,,,:::,,:,:,+::.,,,,::::::::,,.::::::::::++,,,:::::::++++::::::++:+,,::::::::++:+:+::::++,:,,,,,:,,,,,,:,....,,......,,,,,,+:,.,,,.......,
*#***+*+::::+++***++++:,:+:::::++::::,.::::,,:::::,,::,+,::::::+:,,:,:+:,::+::+:+++++++:::::::::+++++++:::::++++:::,:,,,:,,,,,:::,,,..:::.,,,,,:,,,,,,..,,,,::,
*#******+:::++**+*++++:,++++++++:::::,,::::,,::::::,::,,,,,:+:::::::,,:::::+++::++++++++++::::++++++::++,:::+++++:,,,,,,,,,,,,...,,,,,,,,,::,:::++.,,,..,,:::::
*#******++::++**+++++:+,++++::::::::,,,:::::,::::::,:::,,,::::::::,:::::++++++:+++++++++:+::::++++++::::,::::::::,,,,,,,,,,,,,,,,,,,,,.....................,,,,
::::::,,,,,,,+::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,++++**++++++++++++++:::::,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,.....*:*#*+,::::++::::+++++++++++++::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..************::. ..,,,,,,,,:::,.,:+++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..**+::,:,::+**###+*+ +,:+:,,.,,,,,.,:,:::::::+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...:***####,:,,:##:#####* .++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....***######::*#*,+#######+ .+,,,,:::::::,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,.,,::::::::,,..,,,.....***################*******, :...:,,,:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......::,..................................   ...,,:::+*****+,..,::++****+*++++:+++::,+::,,,,,,,,::::::,,,,,,,,:::::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,.....:***......,,,.,,,,,.,........,...................,*,+*+,....................    .,,:,:++::::,***+,,,,,::,::::::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,....:.,.,.,:**####*,,.,,:,,,.,,,,,..,,...............,::+,..................  ............ ,+##**##++*+**+*#+,,,:::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,..,,,,,.::****###****#......,,,,,.,,,,.,..............*+**,.......,,.*#########** .......*:,,,, :+#*###########*,**
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,++**###***#*##*#,..........,,,,,:,,:,,,,,....,+++***...,,,,,*####******#####,........*#**##*+**++***##*####+
::::::::::::::::::::::::::::::::::,,,,,,,,,,++::,::::***#**#*****#*#....................,,,,::,,::,,.,.,....,.*#####*#**##*#####,.....,.*#####*+****+++**#####*
::::::::::::::::::::::::::::::::::::::::::::,::+****+*+:#+,***##***#,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:,....,+###*####*#########,......*#######*+**++++**####*
:::::::::::::::::::::::::::::::::::::::::::::::::::::****##+:***####..................................,,,,,,,,+##**#***##########:,,,,,,:#########*+::::++++++*
::::::::::::::::::::::::::::::::::::::::::::::::++++++*#*+*+++*####*.......................,,,,,,,,,....::::,.+##**##**###########,,,,,,,###################**:
::::::::::::::::::::::::::::::::::::::::::::::::::::::++**##############********#######*::::::::::::::::::+++*####***#*###########*#####################,,,,,:,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**################**********#######*::::::,,,,,,,,*##########,,,::::,
,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++************##*########*####*++:::,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::,,,,::::,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::,,,,,,,,,,,,:
::::::::::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::
$*#####,,..,,**,*+*****,:....,,,,,,:,::..,,,,,,,,,,...,,,::::::::::::::::::,,,,....,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,::::::::::,,,,:::
###***,....:*::*,***+++++++++++:::+:+:::::::::::::::,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::++++::::::+:+:,+*+++++:::::,::::::::,,::::::::::::,:,,,,,,,,::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::..,,,,,.....
,,,,,,,,.,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,..,,.,,,........,,......,,..,,,,,,,,........,,..,,,,,,,,,,,,..,,..............,,,,,,,,,,,,,,,:,,,::,,,.........
****++++:,::++++++::::::::::::::::::,::::::::::::,,:,::::::::::::,::::::::+,......  ............................................,,,,,,,:,,,,:,...::.,,,,.......
,,,,,,::++::::,,,,,,,,,,..,,,,,,:,,+:.,,.,,.,,,,:,,..,:::::::++++:::::,,,:++++::,,,,:::::,,,,,,,::+:++++::::::++++::::::::::::++,,,,,::::,,,,,,,,::...,,.......
#+##*+++++++:++::+:,::,,,++:,,::,,+:+,,,,,::::,:::,,.:::::::::::+::,:::::::++++::::+::::::,+:::::+::++::::::+:+::,,,,,,,::,,,:,,...,,,......,,,,,:,,.,,,,,....,
+*****++++:::++++++++:::,::+::++::::::,.::::,,::::::,:::::::::::+::,::::+:+:+:::::++++::::+:::++++++++++:::::++:::::,,,,,,,,,,.,:::,,..,::.,,,,,+,,,,,..,,,.,,:
**#******+::::+++++++++:,+++::::::::::,,:::::,::::::,:::,,,,::::+::,:,,++:::++:+::::++++++:+:::++++++::+:::::+++::::,,,,,,,,,,,,..,,,,,.,,.,:::::::,,,...,,,:::
********+++:::++++++++++,+:::::::::::::,:::::,::::::,:::,,,,:::::::::::,::::::::::::++++::+:::+++++++::::,::::::::,,,,,,,,,:,,::,,.:,,,,....,............. ..,,
,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,............,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:,:++++****++++++++++::::,,.,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::+++:::+::+++:::::++++++++::+:::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. *************+,.  ,,,::::::::,..,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,, .***++:+:::::+##*#+*,.:,:+,,..,,,..,,,:**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,**#####,,,:*#*:#####+* ,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...+**#####*:,##,,#########+  +,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,..,,::::::,,..,,,,:,.....***######*##***#####*******, :...:,::,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,.......................... ..... . ...,,,,++****####**: ,,,:::::::::::,,,:::,,,,,,,,::::,,,,,,:::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,.....,***.........,......,, ............................,*::*+*..................    ...,,.,:,,,,,,:*+:.,,,:::::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,..,...,::****#*:..,,,,,,,.:,,......................,:,:,.,............ ................. .+##*****+****+*#:
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,.,:****####****:.....,,,,,,..:,,,...............,+*+:.,......::+.:##########,............. .,++**+*++++*
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::****####**#***#,,.........,,,,,,,,:,,,,,,....,*::+*#.....,,:.#####******#####.......,+,#***#*+*******#
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::,+:#**##*##*###****.,,,,,,............,,:::::,,,.,,,...........*###*####*########,........**#######*,:,,,
::::::::::::::::::::::::::::::::::::::::::,,,,,,::+*****+*+++++********##.,,..,,,,,,,,,,,,,,,,,,,,,,,,::::::.,,.....,*########*#########,......,#######*++**+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::**++#+*::##*####...................................,,:,,,,,:*##**##############*,,,,,,,#########++::::
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++*#***+*++*####+.................................,.........:*##**#**############,,,,,,.##########*****
::::::::::::::::::::::::::::::::::::::::::::::::::++++*******##########**+++++++:::*#########:::::::::::,,......,,,,:*##**+#*#################################+
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++****##################******++++++:::*****#######:::,,,,,,,,,:###########*:
,,,,,,,,,,,,::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++**################******++:+:+#######+,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:++++++
:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::,,::::::::::::::::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::,,::::,,,,,,,,,,::,,,,::,,::::::::::::::::::::::::::::::::::++::::::::::::::,:::::,,,,,,,,,,,
::::::::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+:::::::::::::::::::::::
,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::
$**#####,..,.,**:******+:,,.,......,,,:,,,,,,,,,,,,,,..,,::::::::::::::::::::,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,::,,::::::,,:::::
####***,...,,+,++,+*++++,++++++++:+:::::::::::::,:::,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
,,::::::::,:,+::::++++++:::::::::,::::,,,::::::::::::.::,,,,,,,,::::,,,,:,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::,,,,,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,....,,,,........,,..,,,,........,,..,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,::..,,..,....
****++++::,:++:::::::::::,,:::::::,,:::,::::::::,,,,,,::::::::::::::::::::::.....................................................,,,,,,:::,,,:....::.,,,,.,....
:,,,,,,,:+:::::,,,,,,,,,,.,,,,.,,:,,:,.,..,,..,,,::,,,::::::::++:+::::,,,,:++++::::::::::,,,,,,::::++++++:++::++++::::::::::::++:,,,,,::::,,,:,,,,:,..,,,......
**+***+++*:++:++,:::,::,,,:+:,,:::,+::.,,,:::::::::,,,:::::::::::+,,,:::::::+++:::::::::::::::::+:::++++::::::++::,,,,,:,,::,,,,,,..,:.......,,,,,:,.,,,,....,,
+:*****+++::::++++++++::+,:::::::::::::,,::::,,,::::,,:::::::::::+:,,:::::,:::::::::::+::::::::++++++++++:,:::::+:::,,,,,,:,,,.,::,:.,..:::.,,,,,:,,,,,,,,,,.,,
++*******++::::++++++++::::::::::::::::,,::::::::::::,::,,.,::::::::::,,::,::::::,::::::++++::,:++++++::+:,:::::::::,,,,,,,,,,,,..,.,,,,,,:.,,:::::+..,,,,,,:::
++*******++:::++++++++:::,::::::::::::,,,::::::::::::,:::,,,::::::::,::,::::::::::::::::++::::::++++::::::,::::::::,,,,,,,,,,,,,::,,,,:,,....................,,
,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::++**++++++++++::::,,.,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++::::::::::::::++++++++::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::.,*************+,  ..,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::::..**::::::::::#####**:.:.:+:,,.,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..:**#####:::,##,*#####** .*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,...***#####:,+#+::#########+: :,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,::::::,,....,,:,,,.....#**#####*##****#####*****+** .:,.,:,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,...............,..................... .,,::+++*****#####**. +,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,:::::
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,***+......,,,,,.......,. ...........................*+,+*+,.................    ..,,...,+,,:+*+,,..,,,+
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,..,:*#**#*,...,,,,,,,,,,..,.,,.................,.+++*.........................  .... .,+***+******+
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,:+::.,,****##******#......,,,,,,..,,,,...............,.::++,....,,,,,,,.*########*. ..........   ..+::+::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,***#*#######**#*...........,,,,,,,,:,,,,,,.....::,+*+*.........+###*******#####........*.*#:***+***
::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,:::::,,*:***##########**#+,................,,,,,,:,,,,,:,:.,...........########**########:.......,+****++***
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,:,******#+****#*+***###**##,,,....,,,,,,,,,,,,,,,,,,,,,,::,,,::,,,.....,###*######*########:......,*######*++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*:+*:+++#***####.......................,,,,,,,,,,,,::::,,,,,:##########*#########,,,,...*########*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*++++**:+*####,............................................:##****:**###########,,,,,,,+#########
::::::::::::::::::::::::::::::::::::,,::::::::::::++++++********####***####*:::::::::+##########::::,,,,,,..,...,,,,,,,,.:+##*#***#*###########*******#########
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****##################****++++++:::::::+::::*+***########+,,,,,,,,,,#########
,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++****####################**++::::::::,:#######
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++******
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::
::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,::::::::::::,,,,::::::::::::::::::::::::::++::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::,,::::,,,,,,,,,,,,::,,::,,::::::::::::::::::::::::::::::::::::::::::++++::::::::::,,,,,,,,,,,
::::::,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++:::::::::::::::::::::
,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::
$***###**....::+,+++++++++...,.........................,:::::::::::::::::::::::................,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,.........,,,:::::::::::::::::
###****+....+,+.+,+++::+:,+++++++::+::::::::::::,,:::,,:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,:::,::::+::+:,+:::,:::::::,,,,:::::::,::,,::,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,:,,,.,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::+:::,.,,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,..,,,,..........,,..........,,,,,,,,....................,,,,,,,,.,,,,,:,...+,.,,.......
****+++++:+::::::::::::,,,,,::::::::,:,,::,::::::::,,,::::::::::::,:::::::::,.....................................................,,,,,,+:,,,::,...+,.,,,,.....
:,,:,,,,::::::::,,,,,,::,,,,,,,,,,,.::,,...,.,,,:::,.,,:++++++++++::,::,,,,,++::,,,,:::::::,::::::+::++++:::++:+::+:::::::+++:+++:,,,,,:::::,,,,,,,:,.,,,......
+*****+:+++::::+:,:::,::,,::::,::,:::::,,,,:::::::::,,::::+::::::::,,:::::,,::+:::,::::::::++:::+++,:+++::,:::,:::,,,,::,:::::::::,,.,,.......,,,,,:,,,,.,.....
+++****++++:::::++:::::::::::::::::::::,,:::::,,::::,:::::::::::::::,,,,::,,,:::::::::+::::::::++++++++++::,:::::::::,,,,,::.,,,,:::,,..,::,,,,,,,::,.,,..,,.,,
++********+:::::+++++++:::::::::::::::::,:::::,:::::+::::,,,,:::::::,,,,:::::::::,,:::::+++++:::+++++++:::,:::::::::,,,,,,,,,,,,,,..,,,,..,..,::::++,.,,..,,,::
+++***+++++:::::+++++++::::::::::::::::,,:::::,::::::,::::,.,:::::::,,,,,:::::::,,::::::::::::::++::::::::,,::::::,:,,,,,,.,,::::::,:,,:......................,
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,..........,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::++++++++::::::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::::::,:::+++++++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::,,:::::..*************+:,  . ....,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::::,,,,,,,,.,**::+::::::*#####***.,,,:+::,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..+**####,:,,##+:#######+,.::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...***#####::#+::##########**..+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .. ...,,,,,,::,,.. ...,,,,,,,,,....***#####*#+++*######****+**#,.:,,,:,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................  .....,,+++*****##**#######***..:.:,,,,,....,,,,::,,,,,,,,:::::::::
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......:***+..........,......................................,++:**++.... .   .......  ..,::,,,,,,:+*:,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,+++....,:****,,,..,,,,,.,,..,,,,:::....................+:++.,......................        ,+****+
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,.,::***,,,************#......,,,..,,,.,,,,................,.,:++,,........... ,+#####*,............... 
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****########**#**,..........,,..,,,,,,,,..........:++,,,,..........+####**##*#####:.......,*:+#
::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,.:::,,,,,++**#**#*######*#*#,,,,..........,,,,,,,,,,,,,,,,,,.,.,............########**#######*,........,#
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,+++***+***+*##*+*******#*#.........,,,,,...........,,,,,:,,,,,,,.,,......*###*#####*#########:.......,#
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::**+*##*:++###**##+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,+##*#######*#########,,....,:#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**:+*+:,:+*#*###............................................,,,*##*******###########,,,,,,,,#
::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++***#******#####+:::::::+**::,,.. ,.........,,.,,,...,,,,:+,,,:,+##**+#+**###########+:::,,,:*
,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++****####################****++::::::::::::::::::::+*#####***###########*++**#######
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****####################**#***########::::,,,,,,:*#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::+++**###################
++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::::::::::::::::::::++::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++++::::::::::::,,::,,,,,
::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::,,,,::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++:::::::::::::::::::::
,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,::,,::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::
$********....,:+,++++++*+:.,,,,........................,:::::::::::::::::::::::,,,,,,..........,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,.........,,,:::::::::::::::::
#******+....+:+.+,+++::++,++::+++::::::,,,::::::,,,,,,,:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,:::::
,,,,..,,,,,,:,,,,,::+::+:,::::,:::::::,,,,:::::::,::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++::::,.,,,,,....
,,,,,,,,,,.,,,,,,,,,,,,,..,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,..............,,,,,.......................,,,,,,,,.,,,,,:,...+,.,,.......
++::+:::+::::::::::::::,,,,,,,:::,::,,,,,,,::::::::,,,:,,,::::::::::::::::::,.....................................................,,,,,,:+,,,::,...+,.,,,,.....
:,,:,,,,::::::::,,,,,,::,,,,,,,,,,,.::.,...,.,,,,:,,.,,:++++++::++:,,,,,,,,,::::,,:::::::::,++::,::::++++:::+:::::::::::+++++:++++,,,,,:::::,,,,,,,:,.,,,......
+*****+++++::::+:,:::,::,,::::,::,:::::,,,,:::::::::,,::::+::::::::,,,,,::,,::::,,:::::::::++:::+++,:+++::,:::,:::::,,::,:::::::::,,.,:..,,...,,,,,:,.,,,,.....
+++*+*+++++:::::++:::::,::::::::::::::::,:::::,,::::::::::::::::,::,,,,,::,,,::::::::::::::::::+++++++++:::,:::::::::,,,,,,:.,,,,:::,,..,::,,,,,,:::,.,,..,,.,,
+++***+++++:::::+++++++:::::::::::::::::,:::::,::::::::::,,,,:::::::,,,,::,,::::::,:::::::::+:::+++++++:::,:::::::::,,,,,,.,,,,,,...,,,,..,...,,::::,.,,,,,,,::
+:++**++++++::::++++:::::,:::::::::::::,,:::::::::::::::::,,,:::,:::,,,,,,::::::,,::::::::::::::::::::::::,,,,::::,:,,,,,,.,:::::::,:,,,.,....................,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,..........,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.....,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,:+++:::,,::::::::::::::+++++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,::::::::::,.*************+:... .......,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,::::::,,,,,,,,,::::,,..**:::::::::##*###*+*..,,,::::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..+**####::::#*::#######:*..+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::...***#####:+#::+###########+, :,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,  ......,,..............,,,,,,.,:....***#####**+++*#######****+*+*. :,:::,..,,.,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................  ............... ...,::++******#############***, ,:,,,,,,,,..,,,,,,,,:,:::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......****..........,.,...,..... .............................*+,*+,+..... .   .........,,.,.....:,,.
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.....***+....,,::,,....,,.,...,,,..,,,,,,.....................,....,.....................        .:*
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:*,,::,++:::,+***********#:...,,,,,,..,,,,,,,,,................,.::*+,................::+:,.  .........
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,..,+***#**######****:.........,,,,..,,,,,,,,...........,...,,,...........*####****#####*.......
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,+***####**###******,,............,,,,,,::,,,,,,:,.,,,.,..........,,,:####*#****######**.....
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,+++++::***#+**++#***###***#........................,,,,,,,,,,,,,,,.........:##########*########*....
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:#++##::++***#**##:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,....:###**######*########*...
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::+*++*#*,:*#***###.......................................,,,,,,,,,+##**####**#*#########,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++++++++++++*#*++++***####*,,,,.., ........ ,.........,,,.,,,+:,....,++::,.+###***#***###########:,,
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****#########################*+:::::::::::::::::::::::::::,,,.*###*****#**#############
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++****####################****++++::+*+***########+:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++****################***
++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::,,::,
::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::::,,::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++:::::::::::::::::::::
,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,::,,::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::
$******+,..,,::.+:++++::+,++::::::::::,::,,,,,,,,,,,,:.::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::,,,,,,,,,...,,...,:::::::::::::::::::::
***+*++,,,.+,+,+,:++::++,++:++++::::::,,,,::::::,,:::,,,,,::,,,,:::::::::,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,:::::::
,,,,,,,,,,.,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::::,::::,::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::,,,:,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::,.,,,,,.....
::::,,,,,.,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,......,,,,,,..,,,,,,,,,,,,,,..,,,,..,,................,,..,,,,........................,,,,,,,,,,,,,,....:,..,,.......
,,,,,,,,,:::::,,,,,,,,:,,,,,,,,,,:,,,,,,..,:::++:,,,,,,,,::::::::,::,,,,,,,,..................,.....,,...,............,,....,,,,,,,,,,,++,,,,,....:,.,,,.......
,,++++:::+::::::,::,,::,,,,,,,,,,,,::,,...,,::,,:::,,,::::::::::::,,,,,,,:,::::::::+++::++:+::::::::++++:,:::,::,:::+++:::+:::++:,,,,,::::,,:,,,,,,,...........
:+++++:::+::::+:::::,::,:::::,::,:::::,.,,:::::::::,,:::::::::::::,,,,::,,,::::,:::::::::::+:::::::+++::,,,,:,:::::::::,::::::,:::::::.,::.,::,,,,:,,,,,.....,,
++++++++++::::::::::::::,::::::::::::::,:::::,::::::,:::,,:,::::::,,::::::::::::::::::::::::::+++++++++:::,:::::::::,,,,:::.,,,.:::,,,,.::,.,,,,,,.,,,..,,.,:::
++*+++++++::::::++::::::,::::::::::::::,:::::,::::::::::,,,,::::::::,,,,::::::::,,::::::::::::,:++++::::::::::++++:,,:,,:.,,,,,....,,,.,..........,.....,,,,:::
:++++++++++:::::::::::::,,,,,,,,,,,,,,,,:::::,:::::,,:::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,::::,,::,,,,,,:::::,,,,,,,,,,,,,,,,,,,,.,.,,..,,....,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,..............,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,......,,,,,,,,,,..,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::+:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::,..+**********++::.. ...  ........,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::::::::::::::::::::::::::::..,**:,,,,,:#########***..,,.,::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,..***##*,,,#+,:##########:#..:+:,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::+...***####**+,:#############::* ,:,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,::::::::*+....***#####,,,,###########*+++:++: ,:,:,,..,,,,,,,,,::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,,.      ..  .... .   .........+++***#######################*+**..,,,,.....,,,,,,,,:
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......****:.......................................................+**:::,......  ......,,,,,
::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.....,**++,....,...,,,,,,,,.,,,,,.................................,,,::::...........  ......
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++.,,,,+:,,,:.:+*********#*....,,,,,,,,,,.,,,..,,..................,..++.,,................  .
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,++*****####**#**#,,........,,,,.,,,,,.,................,,****,:......,,,,:,,####*#
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,....***#*########*#****#.,,,....,,....,,,,,,.,,,,,,,,,....,.*#::+*#:....,,,,,.######***
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,+********#*#*##*#***#*,,,,,,,,,............,,,,,,,,,,,,,,,,.,.............*########*
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++***#**+****##+*++*###***##,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:,,:,,:,......,##########
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::**:++*##:*#+***#*##.............................,,,,,,,,,,,,,:::,,,,,,:####***##*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::+***:++#+:::**####*... ............................ ,...,.............+###+*##***
,,,,,,,,::::::::::::::::::::::::::::::::::::++::::::::::::::::++++++**************###*****#####+::::*##########+::::,,,,,,...,,,,,,,,...,,..,:::,,,.+*##***##*#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++******########################****++++++++++++:::::::::#+++**###+***#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::++++++******#################**####
++++++++++::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::
,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,::::::::::,,,:::::::::::::::::::++:::::::::::::::::::::::
,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,:::::::,,::::::,,,,,,,,::,,,,,,,::::::::::::::::::::::::
$****+,..,,::,::++++:++.++:++++::::::::::::::::,:::,.::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,......,,:::::::::::::::::::::::
*+++:,,,,:,:,:,:+::,+:.++::+++:,+:::,,,,::::::,,::,.,,::::::,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::
,,....,,..,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,,,,,,,.......
,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::,..,,.........
::::::::,,:::::::::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,......,,..,,....,,..,,.,..........................,,,,.,:,,,,:....:,......,......
,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,.,.,,..,::::::,..,.,,,:::::::::::,,,,,,,,..,,,,........,,,,..,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,:+,,,,,....:,.,,,........,
++++++:::::,::,::,::,,,,,,,,,,,,,,:,,,..,,::,,:::,,,::::::::::::,,,,,,,:,:::::::::::+++::::::::::+:::::::::,:::::++++::::::++++,,,,,::::::,,,,,,,,.,..........,
++++:::+::::+:::::::,,,::::,::,:::,:,,,,::,,:::::,,:::::::::::::,,,,,,,,,:::::::::::::::+::::::::++:::::,,:,::::::::,,::::,::::::::+..::.,+++,,,:,,,,,....,,:,,
++++++++::::::+:::::::,,::::::::::::,,:::::,::::::::::.,:,:::::::,::::::::::::,::::::::::::::+++::+:::::,::::+::::,,,,,,,,,,,,:::,,,,.::,.,,::,:,,,,,,,,.,::::,
++++++++::::::::::::,,,,::::::::::::,,:::::,:::::::::::,,,::::::,,,,,,::::::::,,::::::::::::::::::::::::::::+++++,,:,,,.,,,,,....,,,............,.......,,::::,
++++++:::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,...,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:::,,,::::::::::::::::::::,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,......,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::+,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::,:::::::::::::::::::::::::::::,,,,,,,,,,,. ,::++****++++,,,.  ..    ......,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::++,,,,,...**+,,,:+*##########***,.,,,,,:,,,..,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...***#:,,+#::############+*,.::+:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,*:..,***###*#:,:############*:,:*,.:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..  ..............,,::,,::::::::::::*#....,***####:::+#####*#######*:::::*..,:,,..,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,..,.........  ........,,::::......,***#*#########################*+**  ,.,,......
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..... .:++++.........  ...............................................:+,.,..,.....,,:::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.......**+++.........,,:,,,,,.,,,....................................,*::+*++.......... 
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:......,.,,,...:+******#*+....,,,:,,,..,,,...........................,.+:,.:,...........
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,+*.,.,:::*:,.:*+****###*+*#**#.........,,,,,,.,,,,,,..................:.+++,:,......,,,,:
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,....++**###########***##.,............,,,,,,,,,:,,,:,.,,......++:::*+*..........,
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:******########*#*#**#,........,,.....,..,,,,:,,,,,,,,,,.,,,,.,..............#
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++**++***************###*#*#:..........,,,,,,,,..........,,,,,:,,:,,,,,,.,,.......:#
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::++**++#+:+++#*+#+***#*,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,.+#
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#*++#*:++###+#####:..................................................,,.*#
,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****:+++:*#####*::++::,,........................:,,..,,,,.....,,++::,:.+#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,::::::::::::::::::++++****##########################****++++::::::::::::::::::::::::++****++*##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++******################******+++++
++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++::::::++:::::::::::::::::
,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,::,:::::::::::::::::::++:::::::::::::::::::::::::
,,::,::,::::::,,,,,,,,,,,,,,,,,,::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,::::::::::::::::::::::::::
$+++...,:::.:,:++::++.++:++++::::::::::::::::,::::,::::::::::::,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,:::::::::::::::::::::::::
+++,,,,:::::,:+:::++.++:+:++::+:::,,,,::::::,,:::,::::::::,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,:,::::::::,
,,,,,,,,,,,,,,,,,,,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,,,,,,,.........
,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::,,,,,...........
::+++:++::::::::::::,:::::::::::,,,:,,::::,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,..,,,,,,,,,,,,..,,,,,,,,,,.........................,,,,,.::,,,,,...,:,.,............,
,,,,,:,:::,,,,,,,,,,..,,,,.,,,,,,.,...,::::::,,.,.::,:::::::::::,,,,,,,,,,,,,.,,,,,,,,.,..,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,:,,,,,:+::,,:,...,:,.,,,........,,,
++:::+:::::::::,,,:,,,,,,,,,,,,,:,,...,,,,,,::::,,::::::::::::,,::,,,:,::::,:::::::::::+:::::+::::::::::::::,:::::+:::::::++:,,,,,+::::,,,,,,,,,............,,,
++::+:++::+::::,::,,.::::,::,:::::,,,,::,,::::,,,:::::::::::::,,,,,:,,,::::,:::::::::::::::::+::::::,,,,,,::::::::,,::::,,::::::::.,::.,:::,,,,,,,,,.....,:,,,.
++++++::::::::::::::,:::::::::::,,,,:::::,::::::,:::,,,,:::::::,:::::::,::::::::::::::::::::::::::::::::::+++:::,,,,,,,,,,,,::,,,,,.::,,,,,,,,,,..,,..,,:::::,:
++++++::::::::::::::,,::::::::::,,,,:::::,::::::,::::,,,,::::,,,,,,,::::::::,,::::::::::::::::::::::::::::++++:,,,,,,.,,,,,....:,..,....,.............,,::::,,:
,,::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,........,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,............,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,::::,,,::::::::::::::::::::::,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::::::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,. ,++********++++,,.   . ......,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::+:,,,,,,,,,,,,,..**+,,,:+###########**#*. ,,,,::,,..,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...#***:,*#,:#####*########+*,.::+,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,:*+...***###*+,:############*+:,,+*..:,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....  .........,::,,::::::::::::,..,**.....***###*::+#####**#######*++:::+*, ,,,....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,..  ..,,..,.. ..    ......,,,,::::+*.......***#*###################*####******.....,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::+........**++:...........  ..,.... ......................................:::,.. ......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::+.......,+++++.........,,,,,...,.,,......................................*+::*+:+.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::*,......,,::,...,+#*##*##+,....,,,:,,,,.:,,............................,.:.:,+.,.....
::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+*+,,,,::+***,.:***************#........,,,,,,,..,,,,,,..................,.+:,:+.,.....
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,......*+*#**#########***##.,............,,..,,,,,,,,,,,.,........:*:*****......
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,*+****##**#**####****#:,,,,,,..,,......,,,,,,,,,,:,,,,,,,.,,.,..,.........
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++::+*+*#++###+*****###***#+..........,,..................,,,,,,,,,,,,,,,,,....
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::++++++**++*###:*+*##+**#*##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**++:#+**#:##+#####*..................................................,
,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++++++++:::**#++++::++**#####,...............................,,,,.:,,,,,.....:++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,::::::::::::::++++++++*****#########################++++::::::::::::::::::::::::::::::++**++::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::::::::::::::::::::::++::::::::::++++++*****#################******+++++::
++::::++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::,,::,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::++++::::::+::::::::::::::::::::
,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,::::::::::,,,,::::::::++:::::::::::::::::::::::::::
::,:::::::,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,::::::::,,::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,::::::::::::::::::::::::::::
$..:,:,:,:++::++,++:::::::::::,::::::::,,::::.:::::::::::,,,,,,::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,:::::::::::::::::::::::::::::::
,,:,:::,:::::::,::::::+:::::::,,:::::::,::,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,....,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,.,,,,,...........,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,..,...........,,,
:::::::::::::::,:::::::::::::,:::::::::::::,::::::::::::,:::::::::,,,.........,,,,,,,,,,,,,,,,..........................,,,,,,+:,,,,,...,:,...,.........,,,,:,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,.,...,::,,,,,,.,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::::::::,::,:,,,,,,:::::::::::::::::::,,,,,:::,,,,,,,,,:..,,,.........,,,:::,
::::::,,:,,,,,,,,,,,,,,,,,:,.,...:::,:,::,,,:::::::::::::,,,,:,,,:::+:::::::::::::::::::::::::::::+:,::::,:,.,......::,:,,.,+:::::,:,,,,,:..,,...,....,,,,:::::
::::::::::,::,,,:::,,::,:::::,,,,::::::::,,,::,:::::::,::,,,,,:::,:::::::::::::::::::::::::::::::,,,,:::::::::,:::,,,::::::::.::+.,,,,:,,:,,,,......,:,,,,:::+,
::::::::::::::,,::::::::::,,:,,,::::,,:::::,::,,,,,,::::,,::,,:::,::::::::::::::::::::::::::::::,:::::++:::,,,,,.,,,,,,,..,,,,.::,,,,,,,::,,..,,,,:,:::,,:::+++
::,,:::::::::::,::::::::,,,,:,,,::::,,:::::,:::,,,,,::::::,,,,,:::::::::::::::::::::::::::::::::,:::::::::,,,,,,.,,,,,,,..,,.,,....,...............,,:,,,::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,...........,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,::::,,,,::::::::::::::::::::::,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,..,,,,,,,,,,,,,,,,,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::::::::::::::::::+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. ,****************+:,.  .,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::++,,,,,,,,,,,,,,,,,,,,,,,,,..:**,,,:##############***+..,,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..:*#*+*#:####***########*,:+*. +:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**...:**###*,##############*:,,::,+#,.,:.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.,,,............,,,,,,,,,,,...,,,,,,,,,:,**,....:***##::######*:########:::++++++*. ,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,......,,..,........... .  ....,,,,:++.......:***###################*::+#####*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::+....... :+++:,..........  ................................................,+::...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::::::::::::::::+........+++++:........,,,.,.,.....,,......................................,+:::*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::::::::::::::::+*,......,::::,...,+*##**##+,....,,,,,,,,,.,,,.............................,.+,:++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++#*+:,,::::#+*+,,**************#*#:........,,,,,,,..,,,,,,...................,.+:,:+
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,..,,..,.:++*#**#########****#:..............,,,,,,,,:,,:,,,...:.......:*++***
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,++****#***####*###***#:,,,......,,......,,.,,,,,,,,,,,,,,,,.,,,,.....
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::*++**++##*******###***##...............................,,,,,,,,,..,,,,
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++*+++++*#++++++:**+#******##:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::+#*++#*:+#*:##*+#####.............................................,
,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*#*+++::*+++#######.................................:,,,.,...,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++++++**************#############+#########*::::::::::::::::::::::::::,:::++++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::,,::::::::::::::::::::::++::::::::++*******#################******++++++:::::::
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+
::::::::::::,,::::::::::::::::::::::::::+++:::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+++::::::::++:::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,::::::,,::::::,,,,,,:::::::::+:::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,::::::::::::::::::::::::,,:::::::
$,,:,::+:::+,+::::::::+::::::::::::,,::,,,:::::,,,,,,,,,,,,,,::,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
,::::::::::,::::::::::,+,,,,,,:::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,:,,.,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::...,,,,...........,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::..,,..,.........,,,,,,,,.
::::::::,,,,::::::,,,,:::,::::::::,::::.::::::::::::,:::::,,::,...............,,........,,..........................,,,,,,::,,,,.,..,,..,,,.........,,,,:,,,...
,,,,,,,,,,,,,,,,,,,,,,:,.,...,,,,,,,,,..,::::::::::::::,,,,,,,::::,,,,,,::::,,,,,,::::::::::::::::::+:::::::++::+++:,,,,::::,,,,,,,,,:..,,,.........,,::::,,,,,
::,::,,,,:,,,::,,,,,,,:,.,..,:,,,,,::,,,::::::::::::,,,,,,,,::::::,:::::::::,:+:::::::::::::::::::::,,,,,,....,.::.....,:,,,,,,,,,,,:,,,..........,,,,:::::,,,,
:::::::::,,,:::,,,,,:::::,,,::,,,,::::,,::::::::::,:,,,,,,::,:::::::::::::::::+::::::::+::::,,,,,::::::,,,::::,,,,::::::,.::+.,,,,,,:,,,......,,::,,,,:::::,,,:
:::::::::::,::::,,,,,,,,,,,,:::,,::::::,::,,,,,,:::::,::,,:::,::::+:::::::::::::::::::::::::,:::::::+:,,,,,,,,,,,,,,,.,,,,.::,,,,,,,::..,,..,,,,::,,,:::++,,:++
:::::::::::,::::,,,,,,,,,,,,::::,::::::,,,,,,,,,,::::,:,,,,:::::::::::::::::::::::::::::::::,:::::::::,,,,,..,,,,,:,..,,,,,....,...............,,,,,,,,,,,,:::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.........,,,,....,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:::::,,::::::::::::::::::::::::::,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,........,,,,,,,,,,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .**#*********##*****+,. .::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...**:,:######*#########****.,,,:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,* ..**##+*#####*,#########,:,,+*:.,:,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**....***##,######:#######*:,,,..,,:*+ 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,::::::,:..........,,,,,,,...,,,,,,,,,,,,,,,,::**,.... ***#*:######*:########+:...++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,:::::,.... ..,...,....      ..  .........,:,........****##################::, :######
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,:::::::::::::::,,:::::+.........+++++............  ....,............................................+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::*.........*++++........ ,,,.,.....,.,,........................................::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::**.......,::::....,+####*##*:....,,,,,,,.,.,,,................................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++**++.,,:::+***:,,++***********#**#+.........,,,,::,..,,,,,,.....................+
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,:,,,,....,,.:+******#######*#***#+,..............,,,,,,,,,,,:,,,,..,,.......#:
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,::::::,,,,,,,,,.,++****###**######****#*,,,,......,,......,,..,,,,,,,,,,,,,,,.,,,..
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,++:::::::,*+*****##***********#*##,...............................,,,,,,:,,.,
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++***+++++**+:**:,+**+*###+#*##*,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::+++**#++#*#*:##*:*+**###*..........................................
::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**#*:+++*#*++*######...... ...........................,..,.,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++++++++++**++****++++****######################::::::::::::::::::::::::::,,:::+**++,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::,,::::::::::::::::::::::::::::::++++*****###################******++++++:::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::+++
::::::::,,,,::::::::::::::::::::::::++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,::::::::::::,:::::::::::::::::::::++:::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::,,,,,,,,::::::::::::,,,,,,,,,,::::::::::::::::::::::,,::::::,,,,,
$::::::,::,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::+.,,,,::.,,,,,:
,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,:::,.,,,,,....,,,,,,,:::,,,,,,,,,,.....,:
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,...............,,,,,,,,,,:,..:,...,
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,......................,,,,,,,,,,,,,,,,...,,,,,............,,,,,,,,,,,::++,+++,.,:
,,,,,,,,,,,....,,:::::,,.,,.,,,:::::::::::,,,,,,..................................,...................,,,,,,::,,,,,,,,.,,,,,,,........,,,,::.,,,,,,+,++++::+,,,
,,,,,,,,,,,,...,,,,,,,::,,,,::::::::::::,,,,,,,,::++:::::+::::::,:::::::::::::::::::::::::++::::::++++:,,,,:::::,,,,,,,,,,,,,,........,,:+::+,,,,,,,::+::::+:::
,,,,,,,,:::,,,.,,,,,::::,,,::::::::::::,,,,,::,,:::::,::::::::::::::::::::::::::::::::,:::::::::::::+::::::,,,:,.,,,,,,:,,,,........,,,,,+++::::,,:,:,,::+*++::
:::::,::,,,,,,::::,.:::::,,:,,,,,:::,,::,,,,::::::::::::::::::::::,:::::::::::::::::::::::,,,,,:,.,,.,::,,,..:::.,,,,,:,,,,,....,,,::,,,:+++:,,,,++,:::::++*:::
,,,,,,,,,,,,,,::::,,:::::,,,,,,,,,::::::,,,,,:::::::::,,::::::::+:::::::++++::::::::::::,,:,,:..,:,,,...,,,,................,,,,,,::::,:++::+:::++:::,,,,::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::,::,,::::::::::::::::::::,,::::::::::,,,,,,::::,,,,,,,,,,:::::,,:,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,............,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:::::::,:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. ,**#*******************+, 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:. ,***####*,,:#############*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+#....***#####*,#####*####:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+#::....***######:*#######*::::::
,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,.....,::::::::::::::::::::::::,..........,,,,,,,,,,,,,,,,,,,::::::::::**::,.....***######*::########+:++:
,,,,,,,,,,,,,,,,::::::::::::::::,,,,::::::,,,,::::,,,,,,,,,,,,:::::::::::::::::::::::,......,,,,.,,...                          ......,:+++*****#######***++++:
,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,:::::::::++++::::,,::++++++++++++++++:::::+.........::::::...........  .. .......  .................................
,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::++++++++++++++::++++++::::::::::+*.........:++++:..........,..,.,,,,,.,,,,.................................
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::++++++++++++++:::::::::::::::::::+*+......,.,,,,,....:*###***##*+....,,,,,,,,,.,:.:........................
,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+++++::++++::::::::::::::,,:::::++**+++.,,,:::****:,,++***************#+.........,,,,.,,.,,,,,,,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,......,,..++******########*****#+................,..,.,.,,,,::.,,...,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,..,:++****#####**##*##****#*,,.................,..,,,,:,,,:,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,:++::::,,:,+++***+*****#++****##*#*##,...............................,,.
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++********+**#++#**:**+*:*##*+#*##+,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::++****++++***++*+#+::#****+***##*..................................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+###+++##*+##*++######...................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::::::::::::++++++++++++::++++++++++++++++::::*###**++++**##########::::::::::::::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::+++++***########################******++++++:::::::::::::::
::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++****###
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,::,,::::,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::
,,::,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::,,,,,,::::::::::::,,,,::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::+:,,::::,,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,:,,,,::,,,,,:::::::::,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,:
$,,,,::::,,:,,,:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,:,,,,,,,,:++++*+:****
,,,,,,,,::,,,,:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::,.,,,,,,....,,,,,,::,,::,.,,,,,,....,,+++:..,****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,.,,..,............,,,,,,,,,::..,:....+**+***:**:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,...:,.,,............,,,,,,,,,,,++*::++:.,,:++:*++,**,
,,...,,:::::,,.,..,,:::::::::::,,,,,,.......................................................,,,,,,::,,,,,.,,,:,.,,,.........,,,,:,,,,,,,,*:*:+:+++,::+++***,++,
,,,,.,,,,,,::,,,,::::::::::::,,,,,,,::::::,::::::::::::::::,::::::+::+++::+:::::+::++++:++++,,,,,:::::,,,,,,,:,,,,..........,,+::::,,,,,,::+::::++:::+***+++:::
,,,,,,,,,,:::,,,:::::::::::::,,,,,:,,::::::::,::::::::::::::::::::::,,::,:::::::::,:::::::::++:::.,::,,,,.,,,:,,,,......,,,,,,++++:::,,:,,:,:::*+*::::::+++::,,
:,,,:::,,,::::,,::,,,,,,:::::,,,::::::::::::::::::::::::,:::+:::::::::,:::::::::,,,,::,.,,.:::,,..,::,,,,,,,,,,,,......,::,,,:++++,,:,++:,:::::++*::::++:++::::
,,,,::::,,:::::,,,,,,,,,::::::,,,,,:::::::::,:::::::::::::++++++::::,,::::::::,,:,::.,::::....,,,,,...............,,,,,:::::,:::+:::,++::::,,,::::::::+::::+:++
,,,,,,,,,,::::,,,,,,,,,,::,,::,:,,,,::::::::::::::::::::,,::::::::::,,,,::::::,,,,,,,,,,::::,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,..,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.............,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......
,,,,,,,,,,,,,,,,,,.,,,::::::,,::::::::::::::::::::::::::,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,:::::::::::::,::::::::::::::::::::::,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,........,
,,,,,,,,,,,,,,:,,::::::::::::::,::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...**#**************##***
,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:...***##*+++*############
,,,,,,,,,,,,,,::,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,..::**...+**####::*#########:::
,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::..,:#*::.. :**####*:+#######*::::
,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,:::::::::::::::::::::::,,..,,,,,,,,,.  .....,,,,,,,,,,,,,,,:::::::::::::::,,:*::*:... ,***####+++#########++
,,,:::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,:::::::::::::::::::::::,,.,,,,,,,,.......,.:,..,, ,..      ..  ......,,:::,,:........***###############+::
,,::::::::::::::::::::::::::::::,::+++++++++::+:,,,,,,,:++++++++++++++++::::,,:,,,,,,,:+..........::::+:...............  .,... ................................
,,::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++:::::::,,,,,,,:+..........::::::............,.,.,.....,................................
,,::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++:::::::::::::,,,,,,,+*+*........++++::......,+**#*+:......,,,,.,.,::,,.,:,,.,,,,.............
,,,,::::::::::::::::::::::::::::::++++++++++++++++++++:::::::::::::::::::::::::,,,********..,,:::,,*,.,,.:+*****######***##,........,,.:..,,:,,,,,,,:,.........
,,,,,,,,::::::::::::::::::::::::::++++++++++++++++++::::::::::::::::::::,,,,,,:,,,,,,,,,++:............:++**#***######******#:..............,,,,..,,,,,,,,,,...
,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,........,,+++*#**####**+*####****#+....................,,,,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,:,,+++**********##*#+###+***#+,,,,,,::,,..................,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++******++**#**##++***+****#****##..........,,,,,,,,,,,,,,,,,,,,,
::::++::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::,,,,,,,,,,,,,,,,,,::::::+**+*++:+++*++***+::::+*::+:+##*+**###............,,.................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::,:+++++**#++*##*:###**++**####...............................
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::*###+:++:::::*#*#####*,,.............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,::::::::::::::::::::::::++++++***************###############*+++::::::::::::::::::::,,,,::::::,
::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++******#*####################*
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
,,,,,,,,,,::::::::,,::::::,,::::,,::,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::++::++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,:::::::::::::::::,:++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,,::,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,::,,:,,,,,::::::::::,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::
$::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::::::::::::::::::::::::::::::::::::::::,,,,:::,,,,,,:++++*+****+:::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,:::,,,,,,,,,,,..,,,,.,,:,,,,,,,,,,,......:+++,.,****:,,,:::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,..,,..,..........,,,,,,,.,,,+,,.+,...,+*+***:**+,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,...................,,,,,,,,,,,,,,....,:..,,..,.........,,,,,,,,,,+:*+,+++,,,,++:*++:+*+..:*****:
::::,.,,.,,,::::::::::,,,,,,......................,,........,,,,...................,,,,,,::,,,,,,,,,,,.,,,..........,,,::.,,,,.,+:+*+++,+,+,**++*+::*:..:::+*++
,,:::,,,::::::::::::,,,,,,,,,:::::::::::::::::::::::::::++:::++:::::::++:::++++++++:,,,,:::::,,,,,,,:,,,,,........,,,:+:::,,,,,,,:++::+:+:::+*****+::::+:+::+::
,,::,,,,::::::::::::,,,,,:,,,:::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::..::,.::,.,,:,,,........,.,,,:++++:::,::,:,,::++++::,::++:::,,,:++:::::
,:::,,,,::,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::++:::::,,,,,::..,,:::,.,..:::.,,,,,,,,,,,,..,,,:,:,,,:+++,,,,:+:,:::::++*::+:++:+++:+:::+:::::+
::::::,,::,,,,,,::::::,,,,::::::::::::::::::::::::++++++::::,:::::::::,:,,,,.,:::,...,,..,.... ...........,,,,:+:::::++++:+:++::::,,,,:::::::+:,:,++++++++:++++
::::,,,,::,,,,,,,,,,,,::,,::::::::::::::::::::,,::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,:,,,........,,,,..,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,.:,,.,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,........,,,,.
,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::,,...,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,:++,
,,,,,,,,::::::::::::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,..,,..,
,,,,,,,,:::::::::::::,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .**##************#****
,,,,,,,,::::::::::::::,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,. ***##****############
,,,,,,:,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,...,,:,,,::::+**...+**###:::##########,:
,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:::,::::+#**+...,***##:::#######**:::
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,::::::::::::::::::::::::,..,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,::::::,,.,,,::::::+#+*+:.....***###+++#########++
:::::::::::::::::::::::::,,,::::,,,,,,.,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,...  ...,..,,.:...............  ...,,::+*:*+. ..... ***##############*::
:::::::::::::::::::::::::::+++++++++::+:,,..,,::+++++++++++++++++::::,,,,,,,,,,,,,,,,,:+:......... ,,,... .............. ..,...................................
::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::::,,,,,,,,,,,,.,:++.........:::::::...........,,..,.... ,. ..............................
::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++::::::::::,,,,,,,,,,,,,,++,:,.......:+::::,........,,,.,,......,...... ,,,..:.,,..::,,...........
:::::::::::::::::::::::::+++++++++++++++++++++::::::::::::::::::::::::::,,,,,,,,,,+*******:,.,,,..,:...,*,:+*************##+.......,,,,:.:..:,,,,,.,..,........
::::::::::::::::::::::::++++++++++++++++++++++++:::::::::::::::::::::::,,,,,,,,,,,,,,,.:+,:,............:++#**#***####******##.............,,,,,....,.,,:,.....
,,,,::::::::::::::::::::::++++++++++++++++++++++:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:,........,,,:++*****#########******#+............,...,,,,,:,,:,,,:,,
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,:::::,,,,,,,:+++***+*##*+####*+##****##:.........,,................,,,
,,,,,,,,::::::::::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++**+++++++****##**********##*#**##,...........,,,,,.............
::::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::++:+++:::::+****+++***++#*:,+***++##*+**###...,,,,,,,,,,,,..............,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++*****++***+++###*,**#**++*#*###..............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::+#**+::**+##*:+*######*..............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++++++++++++++++++++*#####****#######+::::::::::::,,,,::,,,,,,,,,,,,,,,
::::,,::,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++****################################**+++++++
:::::::::::::::+::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++::+++
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++::::++:++:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,::::::::::,,::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,::::::,,,,:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,::,,::,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::,,:::,,,,,,,,,,,,,:+++*+:+***::::::::,::::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,::,,,,,,,,......,,,,,:::::,,,,,,,,..,,.,+++:,,,****,,,,,::,:++,,,,,,.,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,............,,,,,,..,,,:..,:....:**+**+:**:,,,::::,,++,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,..,,,,.,............,,,,,,,,,,:::*::++:,,,:++:*++,++,.,:*****,:+.............
:::::::,,,,,,,...............................,,,.,..................,,,,,,::,,,,,,,,,,,,,...........,,.,:,,,,,,,,+,*:+::++,::+++++*,++,.,++:**+::.::::+..,,,,..
:::::,,,,,,,,,::::::::::::::::::::::::::::+:::::::+:::::++++++++++++,,,,,:::::::,,,,,,,,,,........,,,,:+:::,,,,,,::+:::+++:::++*++++::::++:::+::::::::::,,::,,.
:::::,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::+::::+:::::.,,:,.,,,.,,,,,,,.......,,,,,++++::,,,,,,:,:::*+*::::::+++::,,,+++::::::::::,,,,,:+,..
:::::,,,::::::::::::::::::::::::::::::::::::::::::++::::,,,,::,.,,.,::,,...::,,,,,,,:,,,,,.....,,::,,,:+++,,,,:+:,:::::+*+::::+++++:::::++::::+:,:::::+++++++:,
::::::::,,,:::::::::,:::::::::::::::::::::::::::::::::,,:,:,,,::::,...,,,,................,,,,.:::::,:+++:::,++:::,,,,::::::+:::,,::+++:+++:++++++++::++++++:::
::::::,,::::::::::::,,::::::::::,,::::::::::,,,,::::::,,,,,,,,,,,:,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,
,,:,,,,,,,,,::::::::::::::::::,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++:,,,,,::::::::::,
++::::,:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::+:::,,,:::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..********************+
:::::::,,:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,:::::::::::,. ***##################
::::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,::::+::*#,..,*+*::::##########:::
,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,::::,,::,,:::::*#*:....****:::########*+:::
,,::::::,,,,,,,,,,,,,,,...,,,::::::::::::::::::::::::,..,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,..,.,,,,::::::::::::::::::+*#*+:. ...***#+++#########*+++
::::::::,,::::,,::,,,,,,....,,,,:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,..     .......,...,.,,,:::::::::::::::::+**+::,......+****:+*#########:::
:::::::::::,::++++++::::::,,....,,:+++++++++++++++++::+:,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,......................  ..............  ....  ..................,,++++*
::::::::::,:++++++++++++++++++++++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,,,,,:,::+*..........::::::,............... ,.,...................................
:::::::::::+++++++++++++++++++++++++++++++++++++++++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,::+*..........::::::,..........,,,,.,,,,.,:.,,:,....,......................
:::::::::::+++++++++++++++++++++++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:++........,,........:**#*******##+.....,,,,,,,+..,.,,.,,.....,.........
::::::::++:+++++++++++++++++++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,+*,:::.,..,::+**##,.,::+****#*******#**##:,,........,,,,,,,.,,,,.,:, ......
::++++::+++++++++++++++++++++++++++:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,......,,.:++******########*+*#*##,................,,..,..,:,,,::,
::::::::::::::::++++++++++++++++++++:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,...,:+:*****###**#++*####****#,,...................,,.,,,,,,,
::::::::::::::::,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+::::::,,,,:++++****###**#***#*###*#**##..............................
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,:+:++*+*+**###**+****+**+:+*++*++**#+*#*##:..,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++*+++++*****++#**+*##**,:+:+*##****###:.............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++**+***#:+**++###+**:+**####..............................
,,,,,,,,,,::::::,,,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**#**++:::+++*####:,,::,,,,,,,,,,,,,,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++**************######**#######*******++++++::::::::::,,:::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++++********#################
::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::,,::::,,::::::::::::::::::::::::::::::::::::::::++::::::::::++::+:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::,,,,::::,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,
,,,,::::::::::::::::::::::::::::,,::::::::::::::,,::::::,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,::,,::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:+++:+,:****++:::::,,:::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,:::,,,,,,,,,,,,,,,,,.,:::::,,,,,,,......,+++,,.:***+:,,,::::+++,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,.............,,,,,,,,,,,,..,,...,+*****:+**:,,,::::,:++,,,,,::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,....,.................,,,,,,,,,,,,,,,,,,,,:,.,,,............,,,,,,,,,:+++:+++:,,,:+:++*::++,,,****++,:,......................,,
,,,,....................................................,,,,,,,::,,,,,...,:,.,,,........,,,,,:,,,,,,,,::+:*::+,,,:++++++,+:,.,+:+*++:,::::+:.,,,.............,,
,,,:::::::::::::::::::::::::::::::::::::::::++++++++++++:,,,,:::::::,,,,,,:,,,,,........,,,+::+:,,,,,,::+:::++::::+***++:::::++::+::::+::::::,:::,...........,,
,,,:::::::::::::::::::::::::::::::::::::::++++::::::+::::::::,..::..,,.,,,:,,,,,.....,,,,,,:++++,,,,,,,,,:::**+:,::::++::,,,:+++:::::::::,,,,,,::,...........,,
::::::::::::::::::::::::::++::::::,:::++:::::,,,,:+,.,.,::,,,...::,,,,,,,,,,,,......,::,,,:+++:,,,::+,:::::+*++:::++::++::::+++:::+:::::::+++++++::,.........,:
::::::::::::::::::::::::++++:::::::::::::::,,,::,,,,,,:,.,,,,,,..... ...........,,,,::+::+++::+:::+::::,,:::,:::::::::,::+++:+++::++++++::::::++::+::,,,,,,,,,:
::::::::,,::::::::::,,,,::::::::,,,,::::::,,,,,,,,,,,:::,,,,,,,,..........,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::,,,,,,::::::::,,,,,,,,::::,
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .,****************++:,.
::::::::::::::::::::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::. .**###################
::::::++++++++::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:+*+ ..**+:::+#########:+:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+#*:,.. +**:::##########*::::
,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,..,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,....,,,,,,,::,,,,:::::::::::::::::::++#*+++....,***++*########*+++++
::,,,:,,,,,,,,.......,::::::::::::::::::::::::,.,,,,,,,,,,,,,,,,:::::::::::::::::::,,..     ..,,,,,,,,,,,,,,,,::::::::::::::::*#+::::..... ***:::*#########::::
,,,:+++++++:,,,,,,,,,,,,,++++++++++++++++++::++..,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+,...,,,,,,....,,,...                .   ..        ......::++++****++++++:
::++++++++++++++++++++++++++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::++..........,:::::,..........  ..... ,...,................................
++++++++++++++++++++++++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++*..........,::::::..........:,..,..,...,.,,..............................
:+++++++++++++++++++++++++++++++++++++++++::++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+***#+,.......,::::,,.....,**######+:,....,,,,,,,.,,.,,::...................
++++++++++++++++++++++++++++::::::::::::::::++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*****#***..,,:::::*++::+,:*+***#**####****##,.........,,,.,.::...,.,.,.,.......
++++++++++++++++++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::............,::+******#######*****##:.............,,,,::..,:,,:.,,:,,
++++++++++++++++++++++++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,..........,,++****+*####***####*****#*.............,.......::.,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+::::,,,,,,,,:+++**#**##***####*###*****#:,,,,,::::,,...................
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:+++++++***++**++****###*+***+*+****+#**##...........,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++:::+********++**#++*+**:*+++**##*+#*###...,,,,,,,,,,.,...............
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,:::++**#****+****+:##*:+**+*##++*#*###..............................
::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::,::+++****::+*###*++:#**####+..............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++**++++********++****####****##**###+:::::::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++****####################################*****
::::::::::::::::::::++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++++::+++
,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,:
::::::::::::::::::::,,,,::::,,::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,,::,,,,,,,:::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::::::::::::::::::::::,,::,,::,,::,,,,::::::::::,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,::::,,,,,,,:::::::,:,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,:+++*+:+***++++:::,,:+:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::,,
,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::,,,,,,,,,,......,,.,:::::,,,,,,,,,.....:++:,,.****::,,::,::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:
,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,...........,,,,,,,,,,:,,.:,..,,**+***:**+:,,::::,,:+:,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::,,
,,......................,,,,,,,,,,,,,,,,..,:,,,,............,,,,,,,,.,:+*+:+++,,,,++++++:+*:,,+***++,,:......................,,,::::::::,,,,,,,,,,,,,,,,:::::,,
,...............,,......,,,,,,,,::,,,,,,..,:..,,........,,,,,::,,,,,,,:+*++++::::,++++++::+,.,::++++::,:::::,.,,.............,,,:::::::::,,,,,,,,,,,,,,,::::::,
::::+::+::+++++++++++++++:,,,,::::::::,,,,:,,,,,........,,,,+::+,,,,,,,:++::::++::++**+++:+::+++:::::::::::::,,,,,...........,,,::::::::::,,,,,,,,,,,,::::::+:,
:::::::++:++::::::::::::::::::..,:,.::,,,,:,,,,,......,,,,,,++++:::,::,,,,::++++::,:::++::,,::::::::::::::,,,,,::,...........,,,:::::::::,..,,,,,,,::::+++++**+
::,:::++:::::,,,,,::..,,::,,,...,::.,,,,,,,,,,,,....,:::,,,:+++:,,,:+:,:::::+*+::::+::++::::::++::::::::::++++++++:,.........,::::::::::::++::::,,:+++***++***:
::::::::::::,,::,,.,,,:,..,,..,.................,,,,,:+::::+::+:::++::::,,,,::::::::::,:::::::++:+++++++::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::+::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   .......,,,,,,,,... .    
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::,,::::::::::::::::::::::::::::::::**...+**################*****
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::*#+*+...**++#########+**++:::+#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::,,::::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::**+##*:...***:##########++:::::::
::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,.....::::::::::::::,,,,,,::::::::,,,,,,,,:::::::::::::::::::::::+**+**+#*....:***########*++++++++++
::::::::::::::::::::,.,,,,,,::::::::::::::::::::::::::::::,....,::::::::::::::,.....,,,,,,,,,,,,,,,,,,::::::::::::::::::::***#++++#:.....***:*########*::::::::
+++++++++++++++++++++:,,,,,,,,,,,,,,:::::::::::::::::::::,,....,::::::,,:::::,,.........   :,:, ,,: . ..    ......,,,,,:+++*:::::........+**##########:::::::::
:++++++++++++++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,:::+*.............,,................    ..,...      ..  .........................
++++++++++++++++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,:::++++...........,,,,,,,................,.,.... .................................
+++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,::,::+++*+..........,,,,::,,...........,..,,,.::,:,..,,,,..,,........,,,.............
+++:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,::++++++++........,.. .... ,,:*#**********##,.,,....,,,,,,.:,,:,:,..,,,,:.,........
+++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,::::::**:++::,,,,,:::**#*#.,,:+***********+*****##:............,,,,,,.,.:,, ..:,......
++::::::++::++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,::::::::+++::...........,.::+*******########*****##,.................,.,:.,:,,,,::,,,
++++++::::::::++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,:::::::::++:,,,,,,,,,,...:++*****###****#*####**#*##,,....................,,...,:,,,,
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::+::+:::,,,,,:+++****+#******+##***#***#*##,...............................
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++:+++++**++**##**+++*****##*#+*+****###***#*##,........,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++*****++++++*##*+*#*+:+::+*++*#++#*###,..............,,...............
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,:++*********+###*++*###*:*###+++**####................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::+**####::::++::::*##*#:::,,,,,,......................     
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++**++***************++***######**######*+++++++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::++++++********###############################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::++::++::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,::::,,,,::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::+++++++++++
$::::,,,,::::::::::::::::::::::::::::::::::::+::,,,::::,,,,,,,:++***+****:::::::,,::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,:::::++:,,............
::::,,,,:::::::::::::::,,,,,,,,..........,::,,,,,,,,,,....,,,:++,.,:****:,,,:::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,::,,,,,,,............
,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,...........,,,,,,,,,,:,,.,:...,:**+**++**:,,,::::,,+:,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,.............
  ..,,,,,,,,,,,,,,...,:,,,,,............,,,,,,,,,::+*::++:,,,:+++*+::*+,.,*****:.:,.....................,,,,::::::::,,,,,,,,,,,,,,,,,:::,,,,,,,,,,.............
,,,,,,,,,,,::,,,,,...,:,..,,........,,,,::,,,,,,,,++**++:+::,:++++++:+:,.,+:++++:::::++:.,,,,...........,,,,:::::::::,,,,,,,,,,,,,::::::,,,,,,,,...............
:+++:,,,,,::,,::,,,,,,:,,,,,,,......,,,:::::,,,,,,,:+::::++:::++++++::::::+::::::::::::::,::,,..........,,::::::::::::,,,,,,,,,,::::::::::,,,,,,,,.............
::::::::,...::,,::,,,,,,,,,,.....,,,,,,:++++::,,,,::,,::+++:::,::+++:,,,:++:::::::::::,,,,:::...........,,:::::::::::,..,,,,,,,:::+*+:+***+:+++:,::,,,..,......
,,.,:,,,,...::.,,,,,,,,,,,,,,,,,::::,,:+++:,,,:++:,:::::++::::++::++::::+++:::::::::::+++++++::,........,,::::::::::::++::::,:++++***++**+::+**:,::,.,:::,.....
,,,..,,,..,..................,.,+++:,,++++::,:++:::,,,,,.,::::::::,:++++++++++++++++::::++::+:::,,,,,,,,,,::::::::::::::::::,:::++::::::::::::::::::::::+:,,,,,
,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,..........,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. ....  ..........    . .....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::++:...**##**##########********#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,::::::::::::::::::+:+*##**#. .****#########********####
,,,,,,:::::::::::::::::::::::::::::::,,.,,,,::::::,,,,::,,,,,,::,,,,::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::::::::::::**:**##*...,**##########*++++++++++#
,,,,,,:::::::::::::::::::::::::::::::,,..,,,::::::::::::::::::::::::::::::::::,,,,:::::::,,,,,,,,,,,,,:::::::::::::::::::**++*##+#*....***#######*::++++:::::::
:::,..,,:::::::::::::::::::::::::::::,,...,,::::::::::::::::::::::::::::::,,..,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::**:+**:##*#.....:***########*:::::::::::
++::+:,,,,,,::::::::::::::::::::::::,,....,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:...............,.....,,,,,,,,,,,,,,,:::+::+*+++::,......  ***########*::::::+:**#
+++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+,...............,,...   ..           .....          ..................      ...
++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+::++*:...........,,,,,:,..................,........................................
++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,::::,,,,,,::,,,,:::,:::++++*...........,,,,,:,...........,,.,,,,,,,.,,.,,,,...,..........................
::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+********,........,,,,,,......+##******###:..,...,,,,,,.+..,,.,,....  ,,,...........
:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,:::,,,,,,,,,,,,,,,,,,,,,,,,::::**#*##****,.,,,:,,,:*,,++:.:+****************##+...........,,,,,,,,..,:,:,,,. .......
++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::*:::::..............::********#######*****##+................,..,..,:.,.,,,:,,.,
++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++:,,..........,,:+*******##*##**##****#**#*,............,.......,,..,,,,,,,:,
:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++::::,,,,,,,,++++*****##**#*##**####**#**#+....,,,,,,.......................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++::++++++::::++++**#+##*****++****##*+***##............,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++***********++++***#++***#++**++*****+#*###..,,,,,,,,,,,,,,.................
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+*****************##**::##*:+**:+###++*#*###.................................
:::::,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::+*****#***::**###*+++:***####*.................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++******##****:::+**##*#+:::::::::::::::::::::::::::::::::::::,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::++++++++++**########################################**********+++
::::::++++::::++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,::::::::::::::::::++++++++++++++++*
:::::::+++++::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::,,,,::,,::::,,,,,,,
::,,,,,,,,,,,,,,,,,,::,,::::::::,,::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++:::::
$:::::::::::::,,,,,::::::::,,::,,.,::::,,,,,,,,,:++********::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++::++:,...........................
:::::::::,,,,,,,...........,,,,,,,,,,,,,....,.,:++,,.,***+::,,::,::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,:::::,,,,,,,,,...........................
,,,,,,:::,,,,,............,,,,,,,,,,,,,,.,:...,:*++**++**:,,:::::::::,,,::::,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,...........................
,,,,,,,,:,,,,,..........,,,,,,,,,,,:+++*::+:,,,:+++**++*+,,,+***++::,.....................,,,,:::::::::,,,,,,,,,,,,,,,::::,,,,,,,,.............................
,,,,...,,,..,,........,,.,::,,,,,,.,+:+*++++:::,*+:+++:+:,.,+::++:::::+++:.,,,,...........,,,::::::::::,,,,,,,,,,,,,::::::,,,,,,,,.............................
,,,,,,,,,,,,,,,,....,,,,,:+:::,,,,,,,:::::::+:::++**++::::::++:::::::::::,,,,::,..........,,::::::::::::,,,,,,,,,,,:::::::+:,,,,,,,,,.............,,...........
,,:::,,,,,,,,,.....,:,,,,:++::::,,:,::,,::+++::,,:::++:::,::+:::::::::::,,,,:::,..........,,:::::::::::,....,,,,::+++++:+***+:+++::,,,.,.,,......,+*+:,,,...,,,
.,,,,,,,,,,,,,,,.,+++:,,++++::,,++++::::::::::::++::++++::::+:::::::::::++++++++:,........,,::::::::::::*+++,,,:++++***++**+::+**:,:+,,,+++:.....,***+++:,.:++*
..,.............,:++::,,++++:,,:++:::,,,,,.,::+++:,,,::::++++:++++++++::++++++::::........,,::::::::::::::,::,::++++++:::::+++++::++++::+++:......,:+++:::::+++
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..,,,,,,
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,..,,,,..........,,,..,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..    ..................  .....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::,++++:  .*****##########********#**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::*##*#*#. .,**#########*****+++*#####
::::::::::::::::::,,::,,,..,,,,,,,,,::::::::::,,::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+#+***###. ..***#########++++++++++*##
::::::::::::::::::::::::,..,.,::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::+*+++*##*##....,***######*::::::::::::::
::::::::::::::::::::::::,...,:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:+*:::**###*#*.... **+########:::::::::::::
:::::::::::::::::::::::,....,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,.,:,........   ...,,,,.,,,,,,,,,:::::::::++::+*#+:,,:,...... ,**+#######+:::,,:::####
,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++*,.............,,,,...                ....            ......  ........      ....,
,,,,,,,,,,,,,,,,,,,,,,,...,.,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::::+++...........,,,,,,:,...........................................................
,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,:::::::::::::::::::::+*...........,,,,,,:,..........,...,..,.,,,.,,.,,.. ............................
,,,,,,,,,,,,,,,,,,,,,,,....,,:::::::::::::,,::::::::,,,,,,,,,,::::::::::::*********,...... ..:,,,,,......:#########*:......,,,,,,,.:..:.,,..,..,..,,. .........
,,,,,,,,,,,,,,,,,,,,,,......,:::::::::::::,,::,,::::,,,,,,,,,,,,,,::::,,:**********:.,.:,:,,,*+, ,,+.:+#*********#*****##.........,,.,,,.::....,..,,,,.........
,,,,,,,,,,,,,,,,,,,,,,....,,,:::::::::::::::::::,,::,,,,,,,,,,,,,,,,:::::::::++:::::..............,::*******########*****##,.............,..,,....,,..,,.,:,,..
,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::,,........,,,,++#***+*##########**+***##..............,.......,,.,,,.,:::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:++++++::::,,,,,,,,,,+++***#*##*##*###**###*****##,,,,,,,,,,,,,.....................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:+++++++:::::::::++++#****##*******#*####****##+.............,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::,:::::++**++**********+++*##*+*****+***++++******##*..,,,,,,,,,,,,,,.................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**************+++++*###*:###::**:+###*+:**###*.................................
::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,:++**#****####+:+*###*+*+*+**#*###:....  ....      .................
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*******####*:::::++*##*#+,::::::::::::::::::::::::::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++++**********################################**********++++++:::::::
++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::++++++++++************###
::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,
,,,,,,,,,,,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++:::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,:++++:+****+,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,+:,,,,,,,,...............................................
......,,,,,,,,,,,,,,.....,:+++++::***:::,,::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::,,,,,,,,.................................................
......,,,,,,,,,,,:,.:+,..,,+*++**:**+,:::+++:::+,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,::::,,,,,,,,.................................................
....,,,,,,,,,,,:++++::+,.,::+++++,:+:,,:****++++:,,:,,,,,,,,,,,,,,..,,,,,,:::::::::,,,,,,,,,,,,,,,::::,,,,,,,,............................................,,...
...,,+++:,,,,,,:+:++++++++:++++++:::,.,,::++::,,::+++:,,,,,,..........,,:::::::::::,,,,,,,,,,,,,::::::,,,,,,,,,,........................................,+*,,..
,,,,:++++,,,,,,,,,:+::++:::+++*++::::::+++::::::::,,,,,,,:,,..........,,:::::::::::,,:,,,,,,,,,:+:::::::,,::,,,:. ............:,.........................:**,.,
,,,,:+:+::,,::,,:::::+++:::::+:++::::,:+::::::::::::::::++:,..........,,:::::::::::,,..,,,,,:+++**++****:+++++:,,,,.,:.......:*++:::...,,,++,...........,+*++++
+:,:++:+:,,:+++:,,,,,,,:::::++::++++::++++::::::++::++::+++::.........,,::::::::::+++**+,,,:++++**+::++:::+++::++::++++:....,+**+++:+,:++***:...........,::,:*:
::::::::::,:+++:,,,,,,,,,,,,::,,,:::++++++++++++++::++++::::,,........,,,,::,::,::::::::,,,,::::,,,,,,+++:::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,::,,,,,,,,,,,..,,,,,::,,,,,,::,,,,,:::::::,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,..   ...,,,,::::::::,,... . .  
,,::,,..,,,:::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::******...,**##################***#*
,,,,,..,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::*##*##*#:  .**########++++:::+*######
::::,..,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::+:**,##**###+....**########:+++++++++*###
:::,..,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++*:::**#*###+....+**#####*:::::::::::::::
:::,...,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*:,:+*###**##,.....***######*,,,,,,,,,,:**
::,,....::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,...,:,.......... . ,,..,.,::,,::::::::::::*+:::++*,,,,,,........**+######+::++:::*#####
,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,:::+++,....,,.,......,,,...                 ...              ....  ........    ..  ..,
,,,.....,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,:+:::++++............,,,,,,,................ .,., .....................................
,.....,,,,,,,:::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::,:+::+:+++*...........,,,,,,,,...........,,..,,.,.,,,.:,,,...............................
,,.....,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::++++**#+,:+:.........,,,:::,......,*#######*.......,,,,,,,,.,.,:.:, ..,....... ........
,......,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,::++********+...,.,,,.::.:..:.,++#**************##:........,,,.:,,.+,,....,.,.,,........
......,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::*::::::..........,,...,+*#*****#*************#+..............,,,,,,...,:..,...,,,.
......,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++,.,,.........,:+*#****#############****##..............,........,,,,,,,::,:
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++::,,,,,,,,,,,,,+++**********#****#####****#*,,........,,....................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++::::::,,::,,+++****+*#*##*++**#***#***#*##,.............,,.................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:+::++++**++++****##**+++****+*#*+:+**+*+*##****#*##+,..,,,,,,,,,,,,,,,,....,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++******++++*************+#***++####::#*:+##**+#**##+................................
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::+**#****###*+##*#+:*#*+*###*+::***####,................................
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,::::::::::::::::::,,::::::::::++**##*****####*::::::+:+*###*::::::::::,,::,,::::::::::::,,,,,,:::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::::::::::::::::::::++++++++**++***************++****#####****######**********++++++++++:::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::,,::::::::::::::::::::::::::::::::++++++++++************#################
::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++::::::::::::::::::::::::::::::::,,::::::::::,,,,::::,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++:::::::::::::::::
$,,,,,,......++*:,,,****:,,::,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,...............................................................
,,,,..,,...,:+****::**+:::::,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::,,,,,,,,...............................................................
,:::,:**:..,:+++++::**:,,:++++:,:+,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,::::::,,,,,,,,...............................................................
,:++:::::,,,:+++*++:++:,,:****+:++,,,:,,,,,,............,,,,::::::::,,,,,,,,,,,,,,::::::,,,,,,,,............................................:,...,,,...........
::::::+++::::+++++++::,,::::++:::::::++:,,,,,...........,,:::::::::::,,,,,,,,,,,,:::::+:,,,,..,,.,........................................,*::,..,,,...........
,,,,:::++*::::+++++:,,,,+++:::::::::,,,,,,,:,,..........,,:::::::::::,,:,,,,,,,,::+:::++::::::,,,,.............,:,.,.........,............,+*+,,,,,............
,,::::+++:::,,:+:+::::::+:::::::::::::++++++:,..........,,::::::::::,,,,,,,,,::+++++++***+:+**++::,.,.,:......,+*++++:...,++++,...........,+++****:,...........
+:,,,,,,:::::+++::++++::+++:::++++++::+++++++::,,,,,,,,,,,::::::::::+++**:,,::++++++:::::::+::::+::::++++:....,++***+::,+*+***,...........::::++:::,...........
::,,,,....,..,,,,,::::::::::,,,,,,,,.,::::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,
,,,,,,,,,,,,.,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::,,,,,,,,...,,,,,::::::::::::::,:::::::::::::::,::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,:::,,,,.......,::+++*********++++:,,.   
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,...,:::::#*####*,. .**####################***
::::::::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::,,::,,,,,,,,,,::,,,,,,::,,:::,,,::::+*###*#**#+...,**#######++++++:*#######
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,::::::::::::::::::::+**:###**###*....***######++++++++++:*###
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::**::,#**#*###*....,**#####+::::::::::,,::+
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::+,*##**###* .. .**+######:::::::::::#*#
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,:,.......... .....,.,,.,,,,,,,,:::::::++::::+**::,,,,.........***####::::++++**#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::+++,....,,.,..,,.,,,,,..                 .....            ......  ..........      .
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::+++++............,,,,,,,...................,.,..,..................................
::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,:+::+:+++*............,,,::,,...........,...,,.,...,.,.,,...............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++***+,:+:........,,,,,,:,.......:*######*:,,..,..,,,,,,..,, ,,.,. ,......,..........
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,::::::::,,,::+*********+.....,...::.,..,+.:+##*************##*..........,,,:..:.,...:,,,,,,........
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::*+::::::......,,..,,.,.,++#***#*#*####*#******##..............,,.,:,,..,..,,.::,,,,
,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++:+,.............,++#*****###########*****##:..................,..,,,,,,:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++:,,,,,,,,,,,,.:++*****##****##***###*#***##,,........,,.....................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++::+:,,,,::,,++++#*#**##*#***+*#*####****##*,.............,.................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,::::::+++++**++**++******++++#*#*+**+++*++**++****+**###.....,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++*++++++***********+++*##*#++###*,:*::*###+++**###................................
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::**#*+***#*******###*+**++###++*+*:***###*................................
::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::+******#***####*::::::++++****:::::,::::::::::,,::,,,,,,,,,,,,,,,,,
::::::,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::++++++++++++++***********************###**##**######****++++++++::::++++:::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::::,,,,::::::::::::++++++++++++********###########################
::::::::::::::::::::::::++++++++::::::++::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,,,,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++:::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::,,,,,,,,,...............................................................................,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,...............................................................................,,:::::,,,,,,,,:::::
..................,,,,:::::::::,,,,,,,,,,,,,,,::::,,,,,,,,.................................................................................,,,::::,,,,,,,,,,,,,
:,,,,.............,,,,:::::::::,,,,,,,,,,,,,,,::::,,,,,,,,...........................................,:,....,,.............................,:,::::::,,,,,,,,,,,
+::,:::,..........,,,:::::::::::,,,,,,,,,,,,,,::::::,,,,..,,.........................................,**:..,,,.......................,,,.,,.:,,,::::::::,,,,,,,
,,,,,:,,..........,,:::::::::::,..,,,,,,,:::++::+***+:::::::,,.,..........:+,,.........,,............:**+:,,,,..............,+:,,,..,:+:::::,,,,,,,,,,,,,,,,,,,
+++++++:,,........,,::::::::::::::,,,,,,:+++***++**+:,+++:,::....,,......,**++++,..,++**:...........,:+++**++,...........,:+++++:,..,++:::::,,::,,,,,,,,,,:::::
++++++++::,,,,,,,,,,:::::::::::::::::,,::+++::::::::+:,:,:::::::++++,,..,:+++++::+:+++++::::::::::::::+::++::,................    .......... ......,,,:::,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,.......,,,..,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......
,,:,,,,,,,,,,,.,::,,,,,,,,::,,::::::::,,,,::::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::,...,:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,..... ::++*+*************+:,.. 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,..,:::::::::,,,,,,,,:::::::::::::::::::::::**#######+,...**#####################*
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::+:+*###*#+++*#*:...,**####++++++++*########
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,:,,,,,,,,,,,,,,,,,,,,:::::::::::::::**,####+#**#+*+... ***####:::::::::+*#####
::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*,:,###*+*####*+....,***##::,,,,,,,,,,,,+##
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+::::,*#**#+####*+.....+*+####+++++++++*,:###
,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::,,,,:::::::::::::::::,......,++.,..   .....,,,.,,,,,,,,,,,::,,,,::+::::::,+*+:,,::,,........***##+++++++**######*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**+:+..........,.:, ,,,..,                   ...            ..........          ..,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::+++*,.......... .,,,,::,.......    ....  ...,.,......  ...........................
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::+++++++:++++**............,,,,,,,,............,,..,.,...,.,................................
::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::++++******,,,:,........,,,,,,:,..........,,,.........,,,,,,,..:,.,.,:... ...............
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::,:++:,.......,+:,,,,:...,*##******##****##:.......,,,,,,.:..,.:,,,,,.,:,:......
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::+++*+:::::::,.,,.::::++***.,,++#***#*****##*******##..............,,,,,..,..,,..,,,...
::,,,,::::,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+,:.............,:+*#**#**#########**+*#*##:..............,....:,.:.,.,,.,.,
,,::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++:,,,,,,,,,.....++******#**############****#+,,,,,,,,....,,.................
,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++++:::,,,,:,,,,:+++******###*#*+#######*****##..............,................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++*+::::+++***+++++++***#+##**+*+*+*+++*******##:.......,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++**************+++++*###+***##+:++:*###**+***##+...............,..............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::++++*+******************+*##**++##*:*##+:*#*++***###:..............................
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::++*##**###**#**###**+:+*####+++:+***###*,..............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****#********####*#*::::+*****+::::::::::::::::::::::::::::::::::::
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++++++++++*************####################################################
++++::++++::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::++++++::++++++++++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::
::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::++++++:::::::::::::::::::::::::
$::::::,,,,,,,,,,,,,,,,:::::,,,,,,,,,...............................................................................,,,::,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,
:::::::,,,,,,,,,,,,,,,::::,,,,,,,,.................................................................................,,:::::,,,,,,,,,,:,::,,,,,,,,::::::::,,,,,,,
:::::::,,,,,,,,,,,,,,,::::,,,,,,,,.............................................,....,,.............................,,,::::,,,,,,,,,,,,,,::::,,::::::::,,:::::::
:::::::,,,,,,,,,,,,,,,::::,,,,,,,,...........................................,++....,,.............................,,,::::::,,,,,,,,,,,,,:::::,,,::::::::::::::
::::::::,,,,,,,,,,:::::::+::,,,,,,,,,..............,.........................,**:,.,,,...............,,..,...,:,.,,,:,,,,,::::,,,,,,,,,,,,,,::,,,::::::::::::::
:::::::,....,,,,,:::+*+++***+::+:::,:,,,.........,++::.........,:............,**+:,,,,.............,:+:,,,...:+++:,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++::::::+++:::
::::::::++::,,,::+++**+++*++:,:*+:,::,.,,::,.....,++++++:,,,++**+,..........,:+::*+++,............:++++::,..,++::::::,::,,,,,,,,,,,:::::::::::****+:::+:+++:,,,
:::::::::::::,,:::++::::::+++:::::::::::++++,,..,,,:+++::::+++++::::,,,,:::::::::+:::,,,........................................,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,.
,,:,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,::::,,,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,,,,,,,,,,,,,,.........,,..,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::+::+
::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::,...::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::,,,,,,,,,..,.  :+******************++:,.
::::::::::::::::,,::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,::::::::::::,:#*########*:...+**####################*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+**##**+:+++***,   **###+++::::+##########
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::++,*##***#***:#*,...,**###::::::::::####***
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,:++:,:*******###**#,....+***::::::::::::::*###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::::,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,:++:::,:*****#*####**.... .***#*++++++++*++:####
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:.........:+,...   ....,..,,,,.,,,,,,,,,,,,,:++::::,,,,:**,,,::,,,.......,**#**++++:*########*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::,....  ..  .,...,..:,....                 ...              ....    ..          ..,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::+++*:.............,,,::,,......      ..    ..........    .........................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++::++++*.............,,,,,,,.......... ......,.,.....,,..............................
::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::+:++++****:.,,.........,,,,,,,..............,........,,,.,....+..,,,+..................
::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,::::::::::::::::::::::::::++*,........,,,,..,,...,+##***********##*,........,,,,:.,.,,.:,,,,,.,,,:.....
::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,::,,,,,,,,::::::++::::+++*********+:...,::::*#####,,,+*#*********##******##*...............,,,.,,,...,.,.:,..
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::..............,:+***#***##########*****##,..................,,,,,.,,:,.::
,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++::,,...........,++*****+####*########*#***##,,,,........,.,................
,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++:+++::::,,,,,,,,,,:+++*****###*****#######*****#*..............,...............
,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++:::::::+::::::++++**#*+###**+****+++**+****##,..........,,.,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++***++***************+++++####+****#:+++:*###**+***##:....,,.........,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++***********+****************####+###*::##*:*#++:***##*:.............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+*#####****####***###**:****###*++++***###*,.............................
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+********###**+**######*+:::,:+*****:::::::::::::::::::::::::::::::::::
,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++********************##########*#############################***********
::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++
::::::::::::::::::++::::++++++++++++++++++++++++++++:::::+::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::,,,,:
$,,,,,,::::,,,,,,,,,,...............................................................................,:,::,,,,,,,,::,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
,,,,,,::::,,,,,,,,.................................................................................,::::,,,,,,,,,,,,:,::,,,,,,,,,,::::::,,,,,,,,,,:::::::::::::
,,,,::::::,,,,,,,,............................................:,....,..............................,::::::,,,,,,,,,,,,,:::,,::::::::::::,,:::::::::::::::::::::
,,,,::::::,,,,,,,,..........................................,:+,...,,,.............................,::::::::,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::
,,,::::::::,,,,,,,,,..............:,.........................:**,,,,,................:,.,....,,.,:,,::,,,,::::,,,,,,,,,,,,,:::,,:::::::::::::::::::::::::::::::
++++*+++***++:++:::,,,,..,.......:*++:,,...,,,,:,...........,++::::::,............,:++:.,...,+++:,,,,,,,,,,,::,,,,,,,,,,,,,::++**+::::::+++:::::::::::::::+::+*
++++*++++++:,:**+:::,,,:++:,....,:**+++::,,+****,...........,+:::+:::,..........,:++++::,.,,:*+++++:,,::,,,,,,,,,,::::,::::::+****+::+++++:,..,::::::::,,::+***
++::::,,::+++++::::++:::+++:.....,::++::::+**++++:......,,::::,,:,,,,,,.........................................................................,,,........,,::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,................,,,,,,,,,,,,,,,,,,,,:,.........
,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,,,,,,,,,,,,,,,,,,,:::,.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,...,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,..........,,..,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.. .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::::::::::::::++::++++++::::::::::,,,,,,,,,,,:+++::
:::::::::::::::::::::::::::::::::::,....::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,::::::::::::::::::::::,.,,,,,,,,,,,.  ,*********************+:.
,,:::::::::::::::::::::::::::::::::,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,+**#########*:.. +**#####################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::*****+*++:+**#*,. .**##*::::::+#########**
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:****+*##***+*#,... **##:,,:::::::*##**#++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:,+********##+###,... ,**+:::::::::::+:*###*
::::,,,,::::,,,,::::::::::::::::::::,,,,::::::::::::::,,::,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::,+********######,.....***#++++++++*+*+####*
::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::..........::,....  ....,,,,,,..,.,,.,,,,,::::::::+:,,,,:**,,,:::,,........*+*+++++:##########*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,..... ..  ... :, ,....,                   ..              ....    ....      ..  .
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::+++**........  ....,,,,:.......      ..    . , ......    .........................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::++++*+............,,,,,,,,......... .,.,,..,.....,..,.............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****,:...........,,,,,:,,..............,,,.....,:,.,,,,.,.,,:,.:.................
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::+*+,..........,.........:*##***********##:........,,,,,,:,.,:.,,..,,,,.......
::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,::::::+:::::+***#********:..,,,+,,:*#*#*,..,********************##,..............,,,,..:..,,..::,,.
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::,,............,,++#****+###########*****#*..............,....,,,,,:,,:.,,
::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++::,,..........,,:++*****##*##*#######***#**#+.............................,
::::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++::++++++::::,,,,,,,,,,,:+++****+#####**###*###*#***##,.............................
::::::::,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++::::::::::++++*#*#*+*******+***####*+**##+.............,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++++++***++++********+++++#****####++***+*+**+++#*##*....,,,,,,.....,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++*++++++*****####*****##**++##***+##+:+*+:+###+*:**###*.............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++***###******######**####*:+*####++*++++#*####*.............................
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::+******#######*****###*#*::++++::****:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++***********************#########**############******##*********************
::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++***
::++::::++++++++++++++++++++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++::::::::::::::::::::::::::::::,,,,:::
$..........................................................................,::,,,,,,,,,,,::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++,,,,,,::,,,,,,,,,
..........................................................................,:::::,,,,,,,,,,,,:,,,,,,,,,,,::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
....................................,:....,,.............................,,:::::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
...................................,*+....,,.............................,,:::::::,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
........,,.........................,+*+,..,................,:,.,,...,,.,:,::,,,,::::,,,,,,,,,,,,,,::,,,:::::,,,:+:::,,::::::::::::::::::::::::,,:::,,,::::,,:::
,......,**++,,,...,,,:,,...........,*+::++*+.............,:++:,,...:+++:,.::,,,,,,,,::,,,,,,,,,,,:::+***+::::::++:::::::::::::::::+++*++,,,,:::::::::+::,::::::
+:.....,****+++:,:****+,...........,:::+::+,...........,:+++:::,,,,+++++++::,,,,,,,,,,,,,,::::::::::+***++::+++++:....::::::::,,,:*****+::::::++++:+**+:,::,,::
::,.....,:+++::::+++++::,,,,,,,,,::,,,,,,,,,,,............................,,................  ....................................,,,,,,::::,,,,,,,,,,,,,,,.,.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,::,............,,..,,,,,,,,,,,,,,,,...
,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,:::,,.........,,,,....,,,,,,,,,,,,,,...
,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,...:::::::::::::::::
,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::...,,:::::::::::::::
,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,
,,,,,,,,,,.. .,,,,,,,,,,::,,,,::::::::::::::::::::,,::,,,,,,,,::::::::::::::::,,,,,,,,::::::,,::::::::::::::::::::::::::::::::++++::::::::,,..,,,,,,::,,::+++++
::::::::::,...,:::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,.,,,,,,,,,,,..   ,++****************+++:.
::::::::::,,,,,:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:******#######+,   **#####################
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+****+*+:::::+##*,.. ***::::::*##########**
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++****+**#*++*###*,....**+:::::,,:+####**++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:,+*******#**#+####,....,**+++++++++++*####*+
::::::::,,,,,,::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,+*********##+*###,.....+**::::+:#,,,####*##
,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,..............,.........,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:**,,,,,,,,,...... +:*++++*########***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,..,,.......,,.......      ..,,,, ,,. ..                 ....          ........  ....,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,:::::+++**:,....................                .. .,.....        .....................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::+:::::++++**.............,,,,,,:..................,.. ..,..............................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,:::::::++++++*,, ..........,,,::::......,......,,..,..,,,,...:,....:. ,,.,,:.,,,,........
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::++++****+:*++:.........,,,:::,....,,*##*****##*##+.,......,,,,,,.,,,,,,.:,.::,.,,:...
::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,::::::,,,,:::+++******+**:..,,,,,,,,#,:..,*.+*#*****++++*******##,............,,,,,,.. ,:,,..,,:,
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::++::::::::.........,......+*##****##########+****##.................,.,,.,,,,:,,,
::::::::::::::::::::::::::::,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++:+,,........,,..,**#**#**###+*######******##,...........,.,.......:,....,
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++:+::,,,,,,,,,,..,,*+*#*#*#####**##**####*****#*,,,,,,,,,,,,..,.............
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++::::::,,,:,,++++***#+####*+***#*####*#***##,.............,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++***++++*******++++#*##+*****+*+*+:++**+****##:....,,,,,,,,,,,,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::++++++*************************###*+##**::*+:+###+#:**###+...........................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++*********##**#*****###****####*:***+###++**+*+**###*:...........................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++**###*****####*******####*+:::::+++:+***+:::::,,,,,,::,,,,,,:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++**********************####***#***#####*++++++++++++++++++++++++++++++++++
,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::++++************#################
++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
$.........................................................,::::::,,,,,,::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::::::,,::::::::,,::::::,,::::::++:::::
.........................................................,::::::,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::++:,,,,
....................,,....,,.............................,::::::::,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:+:::,,,
..................,++,....,,.............................,::::::::,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:,,,,.
.... .,............:**,,..,...............,:,.,,...,,..:,,::,,,,::::,,,,,,,,,,,,,,::,,::::::,,::::,,::::::::::::::::::::++::,,,,,,,,..,,,,:::::::::+++++++:::::
.,::++,...........,+*::++++,............,:+++:,,..,:+:::,,,,,,,,,,::,,,,,,,,,,,::::+****+:,,,:++++::::::::::::::++++**+:,,,::::::::::+,,::::::+**++**+++++:+++:
:*+**+:...........,::::+:::,..........,:++++:::,:::*****++:,,,,,,,,,,,,,,,::::::,::+****+:++++++:,...,++:::::,,,,:*****:,:::::+++++++++:::,,,:********++++***::
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................   ......,+:,,.......... ....................... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,................,,,,,,,,,,,,,,,,,,,,:,............,,...,,,,,,,,,,,,,..................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,,,,,,,,,,,,,,,,,,,,,:,..........,,,,....,,,,,,,,,,,,,.................,,,
,,,,,,,,,,::,,,,,,::,,::,,::,,,,,,::,,,,::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,..,::::::::::::::::::::::::::::::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,:::,,..,::::::::::::::::::::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::,..,:::++++::::::::,,,,,,,,,,,,::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,.....,,..  .+********************+
::::::::::::::::::::::::::,,::::,,,,,,,,,,::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,:,:********######*:...,**###################
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+******+:::::***##,....**:::::+#########**+
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:*****+*##*::*###*,,...:**:::::::+#####*+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,:********#**######:,.. .+**+++::++++**###*+
::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:++++++**+*#*+####:,.....***:::+:,,,####*##
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,...............,.......,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,+*+,,,,,,,,,.......+*+++*######*#*##
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,.............:,.......       .,,,,.,,....               ..      ..      ........  ....,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,.::::::++++*:,....................                ....,.....        ...................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::+++++**.............,,,,,,:..................,.....,............................
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:::,,,::::::::+::++**,............,,,::::............,,...,..,,,,...:,....:. ,,.,,,.,,,,......
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,::::::::::::+++****+,+++:.........,:::::,......+#******#####+.,....,,,,,,,,.,,,,,,.:..:,,.,...
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::::,,,,:::+++++++++***:...,.,,,,.*:,.,,#.:##*********+******##,............,,,,,,.. ,.,,..,,
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::,:::::::::::::+:....,.,,,,..,...:*##**#+**######*#**#**#*..............,..,.,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++:+,,..,,.........++#**#*###**+*######*****##..............,.......:,...
::::::::::::::::::::,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++:+::,,,,,,,,,,..,,++*#****#####*##*##********#*,,,,,,,,,,,,..,...........
::::::::::::::::::,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++:::::,,,,,,,,:+++*#*#+*****+***#*####+#*#*##,............,,,,,,,,,,,,,
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++******+++++**#+####******::*##+*+#*##:....,,,,,,,,,,,,.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::+++++*******************+++++**##**+##+:+*:,*##*++*+**###+.........................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++******************#####**###***##**:+**###:*##*+*+**###*+.........................
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++*********####***#******####*+::+*++:*::***+:::+:,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++***********************########****#****++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****************#########################
::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$...............,::::::,,::,,::::::::,,,,,,,,::::,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::,,,,,,,,,,:::::::::::::::::::::
...............,::::::,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:,,,,,,,,,,::,,,,::,,,,,,,,,,,,::,,,,:::::::::::
...............,::::::::,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::+:,,,,,,::::,,::::::,:+:,,:,,,::::::::::,,:::::::
..............,,::::::::::,,,,,,,,,,,,::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::+:,,::,::::+++++::::::::::::::::::::::::::++++:::
:+,,:,..,+::::::,,::,,,,::::,,,,,,,,,,,,,:::::::::::::::,,:::::::::::::::+*+++::,.....,,,,....,:::::::+:+**++++:::::++:+***+:::::::::::::::::::::::::::::::::::
**+:,,..,+::::::::::,,,,::::::::::::++:::+**+++:,:::+*++:::::::::::::::+++**+:::,:::++++::++:,::::::**++**+++++++*+::+++++::,:::,,,,::,,,,,,,,,,,,,,,,,,:::::::
....  ................,,::::::::::,,::::+++++++::+::+::,,,,:++::::,,....:****+::::::+++++***+++::,,:********+++***++::,,,,,,,,,,::::::,,,,+++:++*+::::::::::::+
,,,,,,,,,,,,,,,,,,,,,,........................................................,...  ...........................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,,,,,::,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,.................,,,,,,,,,,,::,,,,,,,,..........,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++++++++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,..,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::++++++++++**+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,............................ 
::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,.... ,**#**************
::::::::::::::::::::::::::::::::,,::::,,,,,,::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++*+******#####*#,. .,**##############
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::+:::::**##+###*,....**:+######*++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++:::::++**+****#####.,...,**+:+*###**+++
::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:::::::+++******######,,....:*****++#*###*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::::::+++++***#######,,...  +**,,*#####**
::::::::::::::::::,,::::,,,,::::::::::::::::::::::::::::::::::,,,,..............,... :........,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:+*+,,,,,,::,,...... +**####***##
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,..,,,,..,,..,,......,,.. ...    ,.,, .....,                  .  ..          ....           
::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::,,,,::::::::,,,,:::::::++++++............. ......                    .......      ...............
::::::::::::::::::::::::::::::,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,::::::::::::++::::++++++**,............,,,:::::...........,,...,,,....,,.....................
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::++::::++++++++*............,,,::::,.............,,:,.....,...,....,,,..,,........
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++*****:+*+:,.........,,:::,....,.*#**********#*,.......,,,,,,,,...:,,,.,,,
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::++++++*****+,..,,.,,,,,* ,,:::,##****************##:............,,,,,,..,..
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,:::::::+::::::::::,.,.......,,,...:+*#*****#######*******#*..............,...,,,,
::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+:,,..,,..,,....,:+******#++#**#####**#***##.....................
::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++::,,,,,,,,,,,,,,++*#**#+####*########**+***#:,,,,,,,,,...........
::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++:+::::::,,,,:,:++**#****###*+***#**********#*,.............,,,,,,
,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++++:+++*****++++++#**#*###+****+:####+*+**##,....,,,,,,,,,,.....
,,,,,,,,,,,,,,,,,,::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++++*+*************************###***+***,+#*:+*:*:#*##*:...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++*********#*******######****####*+###*:*###*+++**###*:...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+++****#####***#*********+++*#####**+++:::+*::##*+:::+::::::::::::::::::::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::+++++***####************++++*****#####*##**#####***************************
::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++***************************************
::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,,:::::,,,,,,,,::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,:::::::::::
,,,,,,,,,:::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::,,,,,,,,,,::,,::,,,,,,,,,,::::::,,::::::::::::::::::::::::::::+++:::,,:
,,,,,,,,,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:,,,,,:::::::::,,::::::::,,,,,,::::::::::::::::::::::::::::::::::**+::::::
,,,,,,,,,,,,::,,,,::::,,::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::++**++::::::::::::::::::::::::::::++++:::::::::::::::+******++:::::
::,,,,,,,,,,:::++*++::,,,:++:::::::::::::::::+:++++,::,::+::::::::::::::+::+*++*++++++,:::++:+**++::++:::::::::::::::::::::::::::::::::::::::::::+*******+::,,:
,,,,:::::::::::+***+:::+++++:,,,,:+:::::::::+***+*+:,::::::::::+*+:,::,,:+******++++++**:::+,,::,,::::,,,:::,,,,,::,,:::,,,,:::::::::::::::+::::,:++*++++:::+++
..........................,,......,,,,,,,,,,,:::::::::::,,,,:::+++++:::,,:++::::::::::++::::::,,,,::::::::::::,:++::+**+::,,:::::::::+:++++++::::,,,+:::::+++**
,,................,,,,,,,,,,,,,,,,,,,,,,..........................,,,,..................,,,,,,,,,,,,..................,,,,,,,,,,,,.............................
,,...............,,,,,,,,,,,,,,,,,,,,,,,..........,,,,...,,,,,,,,,,,,,........,,......,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,... .,. .,,,,,,,,,,,,,
,,..........,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++::+++++::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::,,...,,::::::::::::::::::::::::,,,,::::,,,,,,,,::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::,,,,..,,.............. . .....,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.  .*+#****#######
::::::::::::::::::,,::::::::::::::::::::::::,:,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:+:::::+****###+##:,.  **###########
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++::++++++++***#**###*,....+**###*+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::++::++++++******######,,... **+*####*+*
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::::+++++****+*##*####,,.....+**+#####*
::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++*+++******###+,,....  ***######
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,,,,,..................,:::....  .........,,,,,:,,,,:,,,,::::,,,,,::+,,,,,,,,:,.........********
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,::::::,,,,,,,,,,:::,,,,,....,.....  . . :..,...,,.                 .....          ....       
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,::::::::+++++**..............::::::. ................., . ...    .............
::::::,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++::++:::::+++++***,............,,:::::...........:,..,. ,...,..,,....,,.........
,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::+++++*++++*,............,,:::::.......,...,,,... ,....,,,,,,:.,..,.:..,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++******,....................+#************##:........,,,.:,..,:..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,++************:,.,,::,::++++:,,.+##*****+*###*******#+..............,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::,......,.......,*##****########**#*#**##.............,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+:+,,,,,,,,,,,,,.:+##***+#+*##*########*#*#*,,,,.......,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++++++:::,,,,,,,,,,,,,:+****#*##*****##*####***#*#:................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++++++++++::::::::,,:,:++++*****###***+*#+*********#+,........,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++**********###*+++++#**#+##*++***::####++***#*...,,,,.......,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::::+++++++++*+***********#####*******###*+***#*,*#*:+*+++**##*,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::++++****+++*****##*****######*###****####+*##*+####+*+***##**,...............
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++*#####******++++++++**++**######*:++::+::*#**++++::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++******************************######******#########################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++
++::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::++::::++::++++::::++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::+++++++++++++++++++++++++++
$::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::,::::++::+:::::,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:+::,,,,,,,,,,,::::::::,,,,,,,,::::::,,,,,,::::::::::::::::::::::::+++:,,,,::::+:::++:::,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:,,,,,:::::+:::::::++::::::++::::::::::::::::::::::::::::::::::::+++::::::::::::::+:::::::::
::::::,,:::::::::::::::::::::::::::::,,,,,,,,,...,::::::::::++++:++::::::::+*++:::::::::::::::::::::::::::::++++:::::::::::::::+*******+:::::::+++::++:::::::::
++::,,,:+*++:::::::::::::::+:+**+:,,,,:::+::+::+:::::::+*******+++++:++::+++**++::::::::::::::::::::::::,,,,,,::::::,,,,,,,,::::++*****+,,,,::++++::+::::::::::
**+++++++::,...,+++++::,,,,:****+:,::::::::::++:::::,,,:**+*****++++**+:::::,,.,,,::,,::::::,,::::,:+:,,,:::::::::++::::++:+*+++++++++++++++**+++::::++:::+++++
.................................,::.................. .  ..............  ........ ..............................,,,..,,,,,,......,,............,,....,..,,,.,,
,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,..................,,,,::,,,,::,,,,,,,...........,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,............,,.
,,,,,,,,,,,,,,,,,,::,,..........,,.......,....,,,,,,.................,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,.....,,...::::,,,,,,,,,,,,..........,,,,:
,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,..,,,,,::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::++++++++++:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::::::::::++++++++::++++++++++:::::
::::::::::::::::::::::::::::::::::::,..,,:::::::::::::::::::::::::::::::::,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,...............
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,....,,,,,,,,,,,,..... ++***+*******
::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::++++++++++++++**##**:....:+*#########
,,::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::+:,,::*****##**#::..  :*######**+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++:::++++++*****#**####*,,.. ,**##*++++
::,,,,,,::::::::,,::::::::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+::::+++++******+**#####,,. ..:**###*++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::::+++++++********#####,,.....:**#####
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,:,,,,,,:::::::::::++*:+++++++,,,....  +**###*
::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,................:+++...............   ....,.......................,,....      .........
::::::::::::::::::::::::::::::::::::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,:::::++++++++,,,... ....,......,,,...                ......        ......   
::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,:::::::::+++++*:.............,,,,,:,............  .. ..,...................
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+::::+++++++**,............:,,::::...........,.. , ,.,..,..,,,,..,...,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++******.,...........,:::::+........+*#####*:.......,,,,,,:..,:,,, 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,:::***,,.......,+:,,,::,..:##*************#*.........,,,,,,:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+*************:,..:,+:::#****...*##**#**#######*****#*,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+::::::::::::.............,:*#*****#########******#*.............,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++::,,..........,,******+*########*###*#***#:,.........,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++++++:::,,,,,,,,,,,,,+++***#*###**:*######*#***#*,............,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++++++++++::::::::::,++++##*#*#*****:**::++**+**#*:....,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++*++***********+++**##*#***##*++,:####+*+**#*+.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++****************###*******#**###**###++##+:**:*:#*##*+.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++*******###******#####****####****####*+***###*++++***++*+.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++******##************+++++**++++*#######*+::::+****+:::::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++***************************+++****##################################
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::++::::::::::++++++++::++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::++++++++**++++++****++++**+++++++++++++++++
$::::::::::::::::::::::::::::::::::::,:++::,,,,,,::::::::,,::::,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::++++++::::,,,,:+++:::+************+::::::::
::::::::::::::::::::::::::::::::::::,::+:,,,,,:::::,::::::::::::::,,,,::::::::::::::::::::::::::::::::,::+++::::::::::::++::::::::::::::::::::::::::::::::,,,,,
::::::::::::::::::::::::::::::::::::::++::,,::+++++++:::::::::::::::::::::::::::::++::::::::::::::::++*****+::::::::+++::::::::::::::::::::::::::::::::::::::::
::+++::::,,,,,,,,,,,,..,::::::::++**++++::::+++++***::::::::::::::::::::::::::::::::::::::::::::::::+******+:::::::++::::+:::::::::::::::,:::::::::::::::::::::
++++*+::::::++::::++::::,,,,+*++**+++++++**+:++:::++,,::,,,,,::,,,,,::,,:::,,,,,::::::::::::::::::::::+**+*+::,:::++::::::+:,:::::::::::+:::::++++:::::::::::::
:+**++::+::::+:::+++++::::::++++++++++++++*+::,,:,,,,,,,++++::::,,,:++:+*+::::::::::::::::::+++*++:,,,:+:::,::****++++::::::::********#*+:::::::++***+:::::::::
...............................................................................................................................................................
.....,,,,,,,,,,,,,,,,,,,,.................,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,...........,,..,,,,,,,,,,,,...............
,,,,,,,,,...,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++::::::::::::::::::::::::::::
,,::::::,,..,,,,,,::::::,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::++++++++::::::::::::::+++
::::::::,,..,,,:::::::,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++
:::::::::,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::,,..,,..................  .  .......,
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,...  +*#*******
::::::::::::::::::::::::::,,,,::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::++++++++*****###+**+,.. :**######
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:::::+::::******##**#*+*......**+:+++
::::::::::::::::::::::::::::::::::::::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++***********#####:,,... **+++*
::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++*********######*,,....,**#**
:::::::::::::::::::::::::+::::::::::::::,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,::::::++++++++**+***######,,,......**##
::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,...........,,,...........,:,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*,,,,,,,,,,,........***
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,......................,,..........  ..  .,., ,:..  ,                 ... .          .... 
,,::::,,,,::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,:::::::::++++**+,............ ..... .......        .....................
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::+++++++**:............,,,:::+...........,,.,,,, . ,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::,:::+++:::::++++++++*,...........,::::++............,,,,.....,,,.,,.,,,.,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++********+::++::.......  ,,,,:,.. . *#**********##,........,,:.,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++++****:,..,.,,,,,*.,,,*.*#****************#:............,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++:::::::::+:........,,,,,..+##****##########****#*............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+:::::::::+::,.............+*****+#***######******#+...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+:::,,,,,,,,,,,,,,++*****#####*##*######****,..........
,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::++++++:+::::,,,,,,,,:+++***#*###*+**#*####+*+**#+..........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++++::::+++*****+++++**#**+**##****:+++*+*+**#*...,,..,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::++++++++++***********************####*##*:+*,:###+#:**##*..........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++************####***###**#####*+*###*+#**###++*:*:***#*+,......  .
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++*++++***********###******************#####*++++**++:***:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++**********++*****+++****+****#####**#****#*##*****###########
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++********+*****************************************************+++
,,,,,,::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::::::::::::::::++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::
++::++++++++++++++++**++++++++******++++++++++++++++++::::::::::::++::::::::::::::::::::::++++++++++++++**********++++++++*************************************
$::::::::::::::::,:::+:::::,,::::::::::,,:::,,,:::,,:::::::,,::::::::::::::::::::::::::+++:,,::::::+:::+:::,,,,,:::::::::++++++**++++::::::::,,,,,,,,::::::::,,,
::::::::::::::::::::::,,,,,,::::::::::,,::::::,,,,,,::::::::::::::::::::::::::::::::::+++::::::::+::+++:::::::::::::::::::::::::,,::::::,,,,::,,::::::::::,,,,,
,,,:::::::::::+++++++:::::::+**+++::::::::::::::::::::::::::::++++:::::::::::::::+******+::::::::+++::+:::::::::::++::::::::::::::::::::::::::::::::::::::::::,
::,::::::::+++**+++++:::::++++**+::::::::::::::::::::::::::::::::::::::::::::::::+******+:::,,,:++::::+::::::::::::::,::::::::::::::::::::::::::::::::::::::::,
:::::,,,::+++*++*+++++*+::::::,,,,::::,,::::,,,,,::,,:::,,,,::::::::++::::::::::::++:+++++::+**++++:::++::::+:::**::++:::::+:+++:::::::::::::::::::::::+:::::::
,,,,,,..,,,,,,,,....,,,,,,,,,,...,,,,:,,,,::,,,,++::++++::,,:::::::::::+++++:::::,,,::::::::+++++++::::::::+++++**++*+::::::::++++++::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,..................,,,,,,,,,,,,,,,,,,............,,,,,,..,,,,................................................  ...........................................
,,,,,,.................,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,..........,,,,..,,,,,,,,,,,..................................
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++:
::::::::::::::::::::::::::::::::::::::::::,,,:::,,,,::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,...........
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................+++*++***
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++++++*****#+*.,...+*######
::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+*******###++##*,,. .+***+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+********##**####:,... :*****
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,:,::::::::++++++********+*######,,....,****
::::::::::::::::::::,,,,,,,,,:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,:::::::+++++++******+***######,,,....:**+
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,::::++++::+++++++*****+.,,. ... ,**
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,........................:::+,..............,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,.........,,
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,:,::::,,::,,,,...,.... . .............                ....  ...........
::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::,,,,,,++:::::::::++++*,.............,:::++. ......    ..  .,.. ............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++:++::::::::++++++***+............,,:::::..........,,.., ,,,:.,.,,,,..,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+::+:+::::::+++++:++:+++++++++**:...........:::::+:........,****+:......,,,,,,,:.,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++:::::::++++++++++******:,.......,... ....,.+#****##******##,,........,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,::**************:..:,:,::****+,..*#****+*#####*****##,..........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::::::::+::::::::::::............,.:##**#*###########***##,.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::,,:::::::::::::::::+::,,........,,,+**#***###########***#*#+,,.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::::++++::::,,,,,,,,,,.,++*#****##***###*****#****,........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::++++++:++:::::,,,,::,:++*#****###**+#*####+#+***+.......,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++**++++***********#**#*##*+**,:::+*:*+*##*........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::::::::::::+++++++++++********************#***###******#+,###*+*:**#**........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++***************######*******#####****#####**###+**+*+:#**#*+,.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++***********************+++++***********#####**++++::+*#*+++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++*********************++++++***********######*******################
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::::+++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++****++****++++++++++++++++++::::::::::::::::::::::++::::::::::::::+++++++++++++++*********+++++***++++++**********++++++**+++++**************************
$,,,,::::::::::::::::::::::::::::::::::+++:::::::::+::+++::::::::::::::::::::::,,,,::::::,,,,,,,,::::::::::,,,,,,::::::::::::::::::::::::::::,,,,::::,,,,,,:::::
::::::::::::::++++::::::::::::::::::++**++:::::::+++::++::::::::::::::::::::::::,,::::::::::::,,::::::::::,,,,,,,,,,::::::::::::::::::::::::,,,,::,,,,,,,,::::,
:::::::::::::::::::::::::::::::::+*******+::,,:::++:::++::::::::::+++:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,:::::::::::::::::::::::+*****+::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,::::,,::::::::::::::,,,,,,,,,,,,,,,
++:::++:::::::::::++:+::::+++***+:,:++::::++++++++++:::+::,:**+++****+:::::+::::+++:::::::::::::::,,,:+++:::::::::::::::::,,::::,,,,,,::::::::::::::,,,,:::::::
................................................................................................................,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,............,,...,,,,,,,,,,..................................,:::::::::::::::::::::::::::::::+:::::::::::::::
,,,,,:::::::::::::::::::::::,::,::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,:::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,.................................,:
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,..,,..,,,,,,,,,,....,,...,..,.. ****#
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,:::++++**********####**##,....:***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:::::::::+:++**********+****#***,,...,**
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++++++*******++*+*#####,.... .*
::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,:++++++++++********+***#####+,,,... 
::::::::,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,:++++++***+++****+++****###+,,,,....
,,::::::,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,............,,,,..............,...........,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,......
,,::::::,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,............................:::,..........    . ,..,,.,.......  ..    .. .....      .
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+::::.,++++++++++++*****+,.............  ... ...............,.. .. ...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+:,,,,,,::++::+++++++++++**:...........,::::+:...........,..,,  ..,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+:::++:::::++++++++++*,...........:::+++............:,.....:.,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::+++:++++********,,,:::......,.,::::,....:#*********##,......,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++*:...,....,*.:,,+.##******##**#**##......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++*:::::::::++:.....,,,,,....+#****########*****#,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,............*##*****#######*#***#+,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::+:::,,,,..,,...,+*****#############****,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+++++++:+:::::,,,,,,,+*+****###++*#*+********+...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++++++++++++::::++++****++****##*******#*:##********...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++**************************##******:**,+##:*:****...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::+++++++++*****************#########**######****##+*##*+:*:**#**. .
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++***+++++********************#*+++++***##**#####***++:+*+:***+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++++++++++++********++++******************+++*#####*********#########
,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++++++++++++++++++*****************+++++****+++*****##********+++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
++++++::::::::::::::::::++++++++++++**************************************************************************+++++++++++++++++++++++++++++++++++*************#
::::::::::::::::::::::::++++++++++++++++********++*+++++++++++++++++++++++++++++++++++++++++++++++**++************++++++********+++*************++++**++++*****
$:::::::::+*+::,,::::++::+++:::::::::::::,,::::::::,,,,::::,,,,,,,,::::::::::::,,,,,,::::::::::::::::::::::::::::,,,,::,,,,,,,:::::,,,,::::::::::,.,,,,,,,,,,,,,
:::::+*****+::::::::+++:::+:::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::,...,:,,::::+::,,,
::::+*******+:::::::++::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:,,,,
::::::+***+*+::::::+++::::+:::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,...........
::::,,,+::,,::++****+++:::::::++********:::::::++++***++::::,,::::::::::++++::::::::::::,,,,,,,,::,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,:,,:::++++++++++*
..................................    ............................................,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,::::,,::,,,:::::+++++++::::::::
.....,,,,,,,,,,,,,,,,,..........,,,...,,,,,,,,,,,.................................,,::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::++++++::::::::::::::::::::::::,,::::::::::::::::::,,::,,,,,,::::::::,,,,,,,,::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,:::::::
,,,,,,,,,,::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::++++:::::::::::
::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,.................... 
::::::::::::::::::::::::::::::::::,,,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,..,,..............,,..  .****
,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+**********####*#+*#:.. .:+#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+***********####****+*.....,+
::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++**********+****+*####+.,... 
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++*********+:**+**#####,,,.. 
::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,:::::+++++++++******+*********,,,,..
::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..................,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:,++,,,,,,,,,,,,...
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................::::+,..,...    ..........................  ..      .
::::::::,,,,,,,,,,::,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,....,,,,,,,,,,,,::::++:::+:::,..,... ...,,,..,....              ......   
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,,,,,,,::++:::+::++++*****+............:::++:.........,...,,. ,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++::::::::::++++:::::+++*+*******...........:::+++..........,,.,,,,,..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,:::::++::::::++++**++**+,..........::+++:......******#*:,....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,::::::::::++++++++++++++***::......,*,,,,:+.,#************#:...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,+************+:.,,.+::****:..##****#######***#:..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,::::::::++::::::::::+::,..........,:##****########****#,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++::,.........,:+*#**########***#**#+,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++:,:,,,,,,,,,,:++****##*+##*####*****.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::++++++++++++++++:::,::::::++:+##*****++*+:+++*+**#,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++************++++*#**###++::##*+*:***:
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::++::::::::::+++++****************************+*#*****+##++#**++***+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++*****#########*****+++*****####***#####**###++*:+****+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++***++++++*********+++++++******###**#####****::****#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++:::++++++*************+++****************#######***########
::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++++++::++++::++::++++++::::::++++::++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++*+**********++++*********
++++++++************++***+**********************+***********************************++++++++++++++++::++++++++***+++***+++********###****+**********++++++++++*
++++++++++******++++**++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++****++++++++*+++++++++++++++++++**++++++****+++++++++++++++++++++++
$:+++++++::::::::::::::::::::::::,,::::::,,,,,,::::::::::::,,,,,,,,::::::::::::::::::::::::::::,,::,,,,,,,,::::,,,,::::::::::,,,,,,,,,,,,,,,,,,.....,,+++++,,,,:
+++++:++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::,....::,,::::+:,,,,,,.....,:+++++,,.,:
+++:::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,:,,,::,::,,,,,,,,,,,,,,,::,,,,,,,
++::::::::::::::++::::+::::::+++::::::::::::::::::::::::::::::::::::::::,,,,::::,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,
++++::::+::+**+*****++::::::::++***+::::::,,::::::,,::++::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,:,,,::++:+++++++++**++***+++++++++***
................  .............................................,,,::,,::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::::::::::::::::::::
,,............,,....,,,,,,,,,,..................................,,,,::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::
::::::::::::::,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::+:::::,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,........................ 
::::::::::::,:,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..........................,.  ***
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++******########***#*... .*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:::::::::::+++********####**+*+***#,,,...
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::+++++****************+**###*,,,. 
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++****+****:********##*#,,,..
::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,........,,......,,,,,,,,::::::++++++++++****++********,,,,.
::::::::::::,,,,,,::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,................,,....,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,..
::::::,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................::+:+,..,....      ....,,....        ..           
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++****+++:,,........,.........              .... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::,,,,,,,,:::::::::+++++*****,...........:::++,............,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++::++++++++**+***,..........::++*:.........,,,,...,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,::::::++::+++++++******+,,.........,:++*,....,#******##:...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::,,,,,,,,,,::,,::::::::::::::::::,,::::,,:::::::::::::::::::::::+*+*,...... *,....+,*************#:.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,::::,,,,:::::::+*************:,...:::::,..,:#****########**#,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::++::...........+##***#########***#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+:::,,.........:*#***#########*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++::::::+++++:::,,,,,,,,,,:+*****#*+*#*********
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++++++++++++++:+++:::::::::++++****##+**+:##**+**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++::+++++++++++++++***+*********++++**#******:#+:+:*:**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++**++++++++++++++**********##**#######***##***##**##**++**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++++******+++++++*******##******###*****##*#**##**#*#**:+*:**:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++*******+++++++++++++++****************###***####********####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++****************++++++**********************+*###############
::::::::,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++************+*************++++**++++***+****+
******++********************************************************++**+++++++++++++::+++++++****++****++++**************************++++++++**++++++++++++**+++++
++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++**++++++++++****++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++:::::::::::::::::::
$::::::::::::::,,,,::::::::::::::,,,,,,::::::::::::::::::::::::::::::,,::,,,,,,,,::::,,,,::::::::::,,,,,,,,.,,.,,,:,.,,..,,,,:::,.,,:,,,:::.......,::::++++++:::
::::::::::,,::::::::::::::::::::::::,,,,,,::::,,::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,:::::::,...,:,,::::+:,,,,,.......:++++::,,::,,....................,,:::
::::::::::::::::::::::::::::::::::::,,,,,,::,,,,::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,..,,:::::++:,,,,:
::+++:::::::::::::::::::::::::::::::::::,,::::,,,,::::,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....................,,,,,,,,,,,,,,,,,,,,::::,:+::::::
::+:+***+:::::::::::::::,:++++::::::::::::::,,,,,,,,,,,,,,,,::::::,,::,,::::::::::::::,,,,,,,,,,:,,,::::::::++++++++++**++++++++***************+:::::::::::::::
.....................................,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++:::::::++++:::::::::::::::::::::::::::::::::::::::::::
,,,..................................,,,,,,,,,::::::::::,,,,,,,,,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,::::,,,,,,,,,,::::,,,,:::::::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::+++++++++
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................
,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,. 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::::::::::::+++***************#*+***,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,::::,,::::::+++*********++++***+*****,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++*++***:***+*****##***:,
,,,,,,,,,,,,,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++**+++++****+*######*,
,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,,,,,,,,::::::::++++++++*++*******+.,
,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,..................,.......,,,,,,,,,,,,,,,,,,:::,,,::,,,,,
,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................,,::::,.........     ..,,..,..            ...
,,::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,::::::::+:++++******,,.. .,...........      ...... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,,,,,,,,::::::::::+++++++++*,,.........::++*,.........,. 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++:::::::++++++++++*,.........,+++*,........,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,,,,,,::::::::+++++++++********,,,:::.......:::,....*#*******
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,:::::::,,,,::::::::::::::::::,,,,:::::::::::::::::+++++:...,,,,::,::,*#*****##**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++::::::::+::,........,.,#****######*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,:::::::::::::::::::++::,.........,*#***#####*#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++::,,,,,,,,..,******#*######
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++++:+::::,,,,,:******##**#*+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++++++++++++::::+******+++*#**#****:*##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++::+++++++++++++***********####**+**##***#*+#:+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++++++***************#######***######**+*##**##+##*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++**********************++++***#******##**#*++*+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++******************#***************####*******
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++****************************************************+
,,,,,,,,,,,,::::,,::,,::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++++++++++++++++++::++::++++++++++++++++++++++++++******++++****************************++++**++++****++**+++++++++++++*******+***+++
**************************************++++++++++**+++++::+++++++****++****++++****+**##*****++**********++++++++++****++++++++++++++++::::++++++++++**++++++:::
++++++++++++++:+++++++++++++++++++++**++++++++******++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,
$::::::::::::::,,,,,,::::::::::::::::::::::::::::,,,,::,,,,,,,,::::,,,,::::::::::,,,,,,..,,,.,,,:,,,,,,.,,,,,:,,,,:,,,::,.......,::::::::++::::::::::::::::::,,,
::::::::::::::::::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::,...,:,,,:::++:,,,,,......:+++++:,,,:,,....................,,::::::::::::,,,,,,,,,
::::::::::::::::::::,,,,::,,,,::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,..,,:,:::++:,,,,::::::::,,,,,,,,,,,
::::::::::::::::::::,,,,::::,,,,::::,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,:+:::,,::,,::::,,::::::,,,
:::::::::+++:::::::,::::::::,,,,::,,,,,,,,::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::++::++++++**+++++***++******++*****+::::::::::::::::::::::++:+:::::::
...................,,,,,,,,,,,,,::,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,::::++++::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::
...................,,,,,,,,,,,,,::::::::::,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,::::::::::,,,,::,,,,::::::,,::::::::,,,,:::::
::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,,,,,::::::::::::,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,
::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................
::::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,:,,,,,,:::::++*****************+*****,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,::::::::++++****+*+++++*****##***
,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,:::::::::::+++**:+*+++****+*####*
,,::,,::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,::::::::::::+++******+**++**#####
::::,,::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,::::::++++++++++*****+,
::::::::::::::::::::,,::::,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................,:.........,,,,,,,,,,,,::::::::::::,
::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................,,,,,..........     ,....,.,.          .
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::::::,,,,,,::::::::::::+++++++*,...........,,::,..........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,,,,,,,,::::::::::::++++++****,.........,:++*:...... ..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,,,,,:::::::::::::::+++++++++++,.........:+++,......:**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,,,,,,,,,,::::::++++++++++*******++++:,.........,....#*****
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,::::::::::,,,,,,::::,,,,,,::::::::::++++++*+*::.,,::,:+++,.*****###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::+:*:,..........:##***####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++:,,,,..,,,,,*#***#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::++++++:+::,,,,,,,,,,*+#***#*##*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+++++++++++:::::,,,,,+++#******#:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++++++++++++++++++++****++++**#*##**:*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++++++++++++*****************+***##**#*#*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++::+++++++++++*********#####**#######**####***###**##*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++++++***************************####***###*#*++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++++***********************#***********####***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++******************************************++**+++
,,,,,,,,::::,,,,::,,,,::::::::::::::::::::::::::::::::::::++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++*+********+*************++++**++******++**+++++++++++++*******+***+++++++++++++++++++++
********************++++++++++++++++:::+++++++++**+++***++++*******###****************++++++++++++++**++++++**++++++::::++++++++++****++++:::::::::::::::::::::
++******++************++++++********++++**++++++++++++++++++++++++++****++++++++++++++++++++++::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::,,,,,,::::::,,:::::::::::,,,,,,,,,,,..,,.......,..,,,,,,,,+:,,::,,,,....,:::::::++::::::::::::::::::::,,,,,,::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,::::::,,::,,::::,,,..,,,,:::+:,,.,:,.....,:+++++,,.,:,.....................,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,:::+:,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,..,:::::++::,,::::::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,......................................,,,,,,:+::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++++***********+++::,,,,,,,,::::::::::::++++::::::,,::::::,:::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,
,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::::::,,,,,:::++::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::::::::
,,,,::::::::::::::::::::::::,,,,::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,:::::::::::::
,,::::::::::::::::::::::::::::::::::::::::::,,,,::::,,::,,,,,,,,,,,,::::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............
,,,,,,,,::::,,,,::,,,,::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,::++++++********##*+#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,::::::::::++::++++++++++**+
,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,....,,,,,,,,,,,,,,,::::::::::++:++****+*##
,,,,,,,,,,::::::::::::::,,::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,.....,,,,,,,,,,,,,,,,:::::::::::::****+*###
,,,,,,,,,,,,::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,::::::::::+**++***#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,...,,,,,,,,,,,,,,,,,,++,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................::+:+,..,.......................
,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,............,,,,,,,,,,::::::::::::::..................   
,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::::::::::::::::,,,,,,..,,:::::::::::::+++++*:.........,++*:...
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++++++*:,.......,++*+...
,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::,,,,,,,,,:::::::::::::++++*******+,,,,......+++:...
::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::,,::,:++*,,.....,,..+.#
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,::::,::*********+**:,..,:::, ,,#*
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++:,.......,,#**
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::+::,.......,****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::+++++::::,,,,,,:*+#**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++++++++++::++++++++++#**
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++::++++++++++++******************##*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++****************##**####***#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++++++++++++++++++******************+*********##**###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++++++********++********+**##******#**###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++++******************++******++++******#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++
::::::::::::::++::++::::++++++:::+++++++++++++++++**++++++++****++++++++++++++++++**++**++****++++++++++++++++++++++++++++++::++++++::++++*******+::++++++:::::
++++++++**************####**************++++++++++**++++**++++++**++++++::++++++++++******++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
********++****++++**********++++++++::++::++::++++++::::::::::::,,,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,
$::::::::,,,,,,,,:,,,,,,,,,,,,,,,.,,,..,,,,,,,,::,,....,,,:::::::::::::::::::::::::::::,,,,,,::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::,,..,,,,::::+:,,,,,,.....,:+++++,,,::,......................,:::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,:::::::::,.,::::::,,,,.......,::::::,,....,,,,,,,,,,.,,,::::::,,,,::::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,:::::,,,,,,,.....................................,,,:::::+,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,,,,,,,,,::,,,
,,,,,,,,,.,,,,::,,,,::::,::::::::+::,,,,,,,,::::++++++++,,,,,,,,::::::::::,:::+:+:::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::,,:
,,,,,,,,::++++++::::::::++::::::::::,,,,,:::::::::::::,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::,,,,::::::::::,,,,:::::::::::::::::
,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::::,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,:::::::
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+*
::::::::::::,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................
::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,::::::::::::++++++++*******
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,::::::::::::::::::+++++*+*
::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,:::::::++***+*#
::::,,,,,,::::::::::::::,,,,::::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,:::::::+++*++*#
::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,:::::+:+++++***
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,.........,,,,,,,,,,,:+:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,+:++:.........   . ........ 
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::::,:::+++++++:+++++++++,,..............
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,:::,,,,,,,,,::++:::::::::::+++++**.........:+*:
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::+++++++++*+........:+*:
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,,,,,,,,,:::::::::++++++++*******,,,::......,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,,,,,,,,,,,,,,::::::::,,::::::::::::::++*:,.,,,.*,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::,,,,:::::::::::::::+++++:::::::++:,........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++::,.,,..,.+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++:::,,,,,,.:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++++++:+:::,,,,::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++:++++***+:+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++**+****************++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++****+++******########***####***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++********************###*****####***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++***************++++**####************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++******************************+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,::::::::::::::::::++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++***********************
++::::::+++++++++++++++++++++++++++++++++++++++++++++++*++++******++**++++++++++++++++++++++++++::::+:++++:+++++******++::++++++::::::++::::::::::::::+++++++++
**************++++**********++++++++++*****+++:::++++++++*******++++++::++++++++::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****++++++++::++++++++++::::::::::::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$:,,,,,,,,,,,,,,,,,,.,,.,,,,,::,,,,,,,,,:::::++++::::::::::::::::::::,,,,::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::,,,,,,,
+:,,,:,,.....,++++++,,,::,.....................,,:::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::,,,,:::::
+:,,,,.......,::++::,,......,,,,,,...,,,,,::::,,,,::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
.....................................,,:::::+:,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::::::::::
,,::::,:::++++++::,,,,,,,,::::++++++++::::,,::::::::::::,:::+++:::::::::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::,,,,,,,,::::::::::::,,,,,,::,,:::::::::::::::::::,,,,,::,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:::::::::::
,,,,,,,,,,,,::::::::::::::,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,::::++++++*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+*++*
::::::::::::::::::::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++**
::::::::,,,,::::::::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..........,,,,,,,,,,,,,,,,,,,,,,:::::++++++++**
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,::::::::++++++***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,,......,,,,,,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................:+::,,......... .. ........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,:::::::::::::+++++**+.,....... ,::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,:,,,,:::::::,,,,,,,,,::::::::::::::++++++*+........:+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::,,::::::::::::,:::::::::::::::++++++::+*:,......,+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,::::::::::::::++++++*******:+*::....,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::+++++++++:.,:::+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,::::::::::::::,,::::::::::++:::::::::+::......,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++::,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++:::,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++:+::::::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++++++++++++++++++++++++*++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++**++*************+++**#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+:::::::+++++++++****************####******##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++************##****###*******+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++++++++******************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++::++++++++++++******************+++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++**************************++**++**+++++
++++++++++++++++++++++++++++++++++++++++********++**++++++**++++++++++++++++++::::+:++++:+++++******++::++++++::::::++::::::::::::::++++++++++++++++++++++:::::
**++********++++++++****++++:::+++++++********++++++::++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
++++++++::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
$::,,,,,,.,,:::::::++::::::::::::::::::::,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................,,::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::,,,,::::::::::,,,,,,,,,,,,::,,,,:::::::
,,,,,,,,.,,,,,,:::,,,,::::::::,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,.......,,,::,::+::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::
::::::::+:::,,,,,,::::::::::,:,:::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,
::::::::,,,,,,,,::::::::::::::::,,::::,,,:::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,:++::::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,
,,,,,,,,,,,,,,,,,,::::::::::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...................................
,,,,,,,,,,,,::::,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++#
,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,:::::+*****+**+
::::,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,::::::++**++***
::::,,,,::::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,::::::++*++****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,:::::::++::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,.,.:,+:..,...  ..,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,...........,,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::,,,,,..,,::::,,,,,:+++++++++*,.......,+*
,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,::,,::::::::,,,::+++++++***+.......+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,::::::::::::::++++++*++**::.,....:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::+++*+:....+.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,::::,,,,,,,,,,,,,,,,::::::,,,,,,::,,,::**********+:,.,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+::::::::::++::,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++:::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::+++++++++++**+++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++++++++++*******++*++
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::++++++::::+++++++++*****#*******########*
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++++++++++++++***#####**+****##**###**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++*****************************#***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++****++++++********************+++++********
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++********************++****++++++++++++**+++++++++++++++++++++++++++
++++++++++++********++****++********++++++++++++++++++++::++++++++++*****+::++++::::::::::::::::::::::::++++++++++::++++++++::::::::::::++::::++::::::::,,,,,,,
:::+++++++**********++++++++++++++++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
$++::::::::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.,::::::::::::::,,,,,,,,,,::,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::,,,,::,,::::::,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,
,,::::::::::,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::::,:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::
::::::::::::::,:::::,:::::::::::::,,::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::,,,,,,,,,:::::::::::::,,,,,,:::::::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,.............
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,...................................... 
,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,....,,,,,,........,,,,,,,,,,,,::::++*****,.
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++**,
,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,......,,......,,,,,,,,,,,,,,,,,,,,,,,,::::::+++**+**+**
,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,................,,,,,,,,,,,,,,,,,,,,,,,,::::++++++*****
,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,......,,,,,,,,,,,,,,,,::::++++++*****
,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,:::,,,,,
,,,,,,,,,,,,,,,,::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................:,+:+,..,....... ......  
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,::::::::::::::,,.,. ........ 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::,,....,,,,,:::::::::::+++++++*:.......+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,:::::::::++++++++++*+......,+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::::::,,,,,,,,,,,,,:::::::::::++++****,.,::...,+:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::::,,:::::::::+*::.,,,+.
,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,:::::::++*++++::+:*:+......
,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::::::::::::::+++::.....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,::::::::::::::::::+++:,:,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::::+++++:+:::,,,:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::++++++++++++++**++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++::::++++++++**************+
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+++::+++++++++****#######***######**
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++*+++++*************###******#*#****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++****+++++***************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++*****++++++++************+*****+****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::++++++++++++++++:::::::::::
,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++++++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++****************++****++++++++++++**++++++++++++++++++++++++++++++++++**+++++++++
**++****************++++++++++++++++++++++++++++++++**++::++++++::::::++::::::::::::::++++++++++++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
**+++++++++++++++:::++++++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::,,,,..,,::,,...,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,::::,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::,,,,,,,,,,::::::::::::,,,,,,::::::,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,::::,,::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,::::,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,........,,,,,,,,,,..,,............................  .....   ,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,........................................,..,+**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,..........,,,,,,,,,,,,..,,,:::::+++++**+***... :#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,..,,,,,,,,,,,,,,,,,,,,,:::::::::++++*:....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,:::+++++++**+*,,,.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,::::+++:+****:,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,:::::::+***:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................,,,:,,::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,:::,,......,.   .......   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,::::::::,:::,::,,,:::::::::::::::+++++,..... .+*. .
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,::::::::::::::++++++++......+*,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::::::::::::::++::::::+*,,....:+,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::+++*+++...:.,:*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::++******++:,,,:,,+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::++:,....,#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+:::.,,,,:**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+++::::,,::,**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++::+*++::+#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++*******+****#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::+++++++***********#####**#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++::::::+++++++++*********#**********++*###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++++++++++++*************++**++******###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+++++++++++++++++*****************************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++**********++++++++++++++++++++****++++****+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++++++++++++::++++::++++++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++**++++***********
::::::::::::::::::::::::::::::::++++++++++++++++********************++++++++++++++++++++++++++++++++++++**++++++++++++++++++::++::::::::::++::::::+:::::::::::,
***********+++****++++++++++***+++++::++:+++++++++::::::::++++++++++++++::++::++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++::::::::::::,,,:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,::::::::::::::::,,::::,,,,,,,,,,,,,,,:,,::::,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::,,::::,,,,,,::,,:::::::::::::
,,,,,,,,,,::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,.,,,,
,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,:::::::::::::,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::,,,,::::,,,,:::::::::::,,,,,::::::,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::,,,,,,,,,,,
,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::
,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,.,,,,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,......................................   ..:::
,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,................................,,.......,....+*###**
,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,....,,,,......,,,,,,,,,,,,,,,,,:::::++++***,.. :**###
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++**...,.+++*
,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,....,,,,....,,,,,,,,,,,,,,::::++:+*++*:,,.,.:*+
,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,::::::++++*+,,,.,.,+
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,,,,,,:::::::,,,,,,,,..
,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,:........,,,,,,......   
,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,...............................,,........,......... .....
,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::,,,,,,,,,,,..,,,,,,,,,,,:::+++++:*,......++,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,:+++++++++*+.....:+:....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::,,,,,,,,,,,,::::::,,,,,:::++++++:+:,:,,...:,.,*+#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++:,.,,+,.*+**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::,,,,,,,,,,,,::::,,,,,,,,,,::+*++++::++*::.,,..*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++:,.,,,:****#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,+**##*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::++:+:::,:++**:**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::::::::++++++*++**++++#*:+*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++********###***#***+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++++++++++*****####***###*****##***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+++*++++++++++*******##********++*###***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++::::+++++++++++++++*********++++**+++**###**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++**++++++++**************************+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::
,,,,,,,,,,::::::::::::::,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::
++++++++++++++++++++++++++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++++++++++++**++++******************++++++++::++++*****
::::::::::::::::::::++++++++++++++++************+++++++++++++***++++**++++++******+++++++++++++++++++:++::++::::++++++++++::::::::::,,,,:,,,,,,::+++++**+++++++
++****++*+**++++++++****++++++++++++++++++++::::::::++++++++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
$::::::,,,:::::,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::,,::,,::,,,,,,,,,,,,::::::::::,,::::::::,
::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,.,,,,:::::,,::::,,::::::::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::
::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,:::::::::::
:::::::::::::::::::::::::::,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,::::::::::,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::,,,,::::,,,,,,,,,,,,,,,
:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,..,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................  .  ....,:::::
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,......................................,,,...,..+####**:::
,,::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,.,,,,,,,,,,:::::++**,,,.,++*####:
,,,,::,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++:**,,,, +++*##*
,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,::::::++++++,.,,.,++++#
,,,,........,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,::::++*:,,,,,..+***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,::,,,,,,,,,,,,..**+
,,,,,:::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,:::..,...............  .....
,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,..................,,.,,,,,::::++:::,........ .  .......
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::,,,,:::,,,,,,,,,,,,,::::::::::::::++++:......*:........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,:++::::::::::::+++++:.....++,..::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,,,,,,,,,,,,,,,,,,,:::+::::::++++++++*,,::.......+**+.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::++++*:,,:+*.**#**..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++,.....+***#*,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++:,,..,***#**,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+::,,,::******,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::+++++++++++:+++**+*+:,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::++++++++******+++****+::.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++******#######***##*+*:*.
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::++::++++++***##**++*##**#**####*+++##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++:::::::::::++*******+++++*****+********+*###**##*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++:::::::::::+++****++++++++****++*****************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++********************+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++:::::::::::::
::::::,,,,,,,,,,,,::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::++:::::::::::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++******************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++++++++++++**++++++++**********************++::++++++******++++++**++++++:
::::::::++++++++++++++++++******++++++**++++**++++**++**++**********++++++++++++++++++++++++::++++++::++++::++::::,,,,,,,,,,,,::++++****++++++++++++:::::::::::
+++****+++++++++++++++++++++::++::++++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,:::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,:
$::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,:,:,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,.,,+::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,.,,,,:::::,,::::::::::::::,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+::::::,,,,,,,,:
::,,,,,,,,,,,,::,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::::,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,::::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.....,,,,,,,::::::::::::::::::::::,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,..,,,,,,,,,,,,,,,,::::::::::::::::::,::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,:::::::::::::::+**:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................,,,:,,+::+*,,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,,,,,,,,::,.,,.*####**:,:+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..................,,,,,,,,....,,,,,,,,,,::::+++,...,++##*#*,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.....................,,,,,,,....,,.,,,,,::::::::++...,.+++##*##::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,....,,,,,,:::::::::::+,,,,,.:*#*####*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,,::::::::++::,,,,,,.,##*####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................,,,,,,,,,,,,,...,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,,,:::,........  ....  ...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,......,,,,,,,,:,,::::::::::::::::+++:,.... .*,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++*:.....*+....,,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::+++:....++..+*#.,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++*,:..:,::***:..,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:++++**+*::,,,..*+**+....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+,:,,,.******.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+::,,,.:******..,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::++::::::::+*+*++,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++++++++++:::**+#*+.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+++++++++********++++*#*+*::....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::+++++********##**###***##***+#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++*********+++*#*******####*+#####*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++******+++*+++++**+**+***###*****+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::++++******************************+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++++++++++**++++++++++++++++++++++++++++++++++++++::::::::::++::::::::::::::::::::::::++:::::::::
,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::++++::++::::::+
++++++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++***++**********************####***********
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++**++++++++*******************+++++++++++++*******+++++***+++++::++::++++******++++++:::
++++++++++++++++++++********++**++++++********++++++++++++++++++++++++++++++::++++::++++::::,,::,,,,,:::++++*****+++++::++++::::::::::::::::,,,,,,,,:::::::::::
++++::++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,::,,:::
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,::,,::,,,,:::::::::::::::
$,,,,,,,,,,:::::::::::,,,,,,,:,:,,,,:,,,,,,,,,,,,,,,,::::::::::,,,,,,,,::::::::::,,,,,,:,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,:+::::,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,.,,
,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,::::::::::::::::::::::::,:::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,:::::::::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,::::,,,,,,::::,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,......,,,,..,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,::::::::::::,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,........,,,,....,,,,,,,,,,..........,,...................,.,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................:,+***:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,,,,,,,::::++,.,.:######+:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................,,,,,,,......,,,,,,,,,,,,,,,,,::+:++:,,,.++*##*++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,......................,,,,,,........,,,,,,,,,,,:::::+++::+,,.,.:+**##*#*:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,,,:::::::+++,,,,,..*****##*:#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,:::::::,,,,,,,. ****#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................,,::,,,,,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,:,,,.......,.  ....     .,........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,::::::::::::::::::+,.....*:.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::::+++++,....:+,....,,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::+++++:,.,:...+..++*,.,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,:::::::::::++:+,,,,,++**:...,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::::::+::....:****+.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::..,,+***#*,...,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+::,,,,:+*****,,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++::::::+*+**+.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::+++++++++++++++,:#*++:,... . 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++****+++++**#***+:.:+++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+++**************####****##**+*#######
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++**+++*******************###**###*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++::::+++++++++***++++:+++++*****************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++********************+++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++::::::++++++::::::::::::::::::::::::::::++++++::::::++++::::++:::::
++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::++::::::::::::::::::::++::++++:++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++***************************#****#***********+++++++++++++
::::::::::::::::::::::::::::::::::::::++++++++++++++++++++**++++++++********************++++++++++********+++++***++++:+::++:+++++++*+++++++::::::::::,,,,:::::
++++****++******+++++++******+**++++++++++++*+++++++++::++++++::+++:::++::::,,::::,,,,,:::++++**+++++++:::::::::::::::::::::,,,,,,,,::,:::::::::::::::::,,:::::
++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::,,::,,,,::,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,::,,,,,,,,::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+::::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,:,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,,,........,,,,,,,,,,,,,,,,,,.,..........,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,..,,....,,....,,,,,,,,,,,,,,,,,,..............,,........,,,,,,,,,,::::::::,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,..........,,,,..,,,,,,,,,,,,,,,,.............................................,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,..................................................,,,,.,..*####*+,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,......................................,,,,,,,,,,::::+++,..,,++*####::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,,,,,,,,,::::::++,,...+++*####+:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,:::::::++,,,,.:++*+####++*::*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,,,,,,,:::::+,,,,,,..**+**#*###***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................,,,,,,,,,,,,,...:::,,,.,,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,:::,..,,.............................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,::::::+++++:,,......:.................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,:::::::::::++++,... .+:....:.,,........,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,::,,,::::::::++++,....++..+*#,,,,,....,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++*,,..:.:++**:..,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++*:,.,,,.*+**:....,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+:,..,,****#*,,..,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,:+*****..,,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+:::,::+*+**+...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++::*+++:...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+++++++++++++:::+##*+#:: .:**+*###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++**********##****###*++*##########*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::++++*+++++****************###**####********
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::+++++++++*+++++**++++++++++++******+++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++******************+++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::
::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::++++::::::::++++++::::::++::::::::::::::::::::::::::::::::::+
++++++++++++++++++++++++++++::::::::::::::::::::::::++++++++++::++::::::::::::::::::::::::::::::::::::++:+::++++++++++++++++++++++++++**+++***************++***
::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++++++++++*+******************####**#***********++++++++++++++++++++++++++++++++::::++++::::+++
::::::::++++++++++++++++++++++++++++**********************++++++++**++++*++++***++++++::::::++++****++++++::::::::::,,,,::::::,,,,,,::,,,,,,,,::::,,::::::::::,
**********++++++++++++++++++++++++++++++:::::::::,,:::++**********++++++++++::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::,,,,,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,::::::::::::::::::::::,,,,:,,,,,::::::,,,,,,,,,,::::::::,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,
,,,,,,,,,,,,,,::,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,:::::+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,......,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,..,,,,,,..,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................   .,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,....,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,.:#####**,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,..,,,,,,,,,,.,,,..............................,,,,,,,,,,,,,::::+....++++###*+::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,,,,,,,,,::::++,.,,.,**++#####::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,::::::+:,,,.,.+++++*###+**++*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,::::+:,,,,,,..*##*+*##*###*+.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,.............,,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,.:,,,,......... .....    ..............,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++,...  .+:..................,,
,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::,,,:::::+++++:.....:+,.....,,,,,,......,,
,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,::::::,,::::++++++:,,,...,:..++**,,,,,,,,...::,
,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++:,,,::,*****,...,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+:+:.....,****#,........,,,,,
,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::....,+**##*+..,,,,,,,,,,,
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,:+*****+.,,..........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::+++++:::+**+**:.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::++++++++++++:****++......,:#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++**##****#***+*##########*##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++**********###*++#######******+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::++++++++++++++++*+++++****###*******+++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++*+++++++**+*******+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++++**********++++++++++++++++++++++++++++++++++++++++++::::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::++:
::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::
::::::::++++++++++++++++++++++++++++++++++++++++::::::++++++::::::++::::::::::::++++::::::::++++::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++
++++++++++::::::::::::::::::::++++++++++++::++::::::::::::::::::::::::::::::::::++::::::::++++++++++++++++++++++++++++**++************+++********+++++++++:::::
::::::::::::::::::::::::::::::::::::::::++++++++++++++**++++****************####*******+*****+**++**++++++++++::++++++++++++::::::++::::++++++++:::::::::::::::
++++++++++++++++++++**++********++++***+++++++**++++++++++***+++++::::::++++******++++++::::::::::,,,,:::::::,,,,,,,,,,,,,,,::,,::::::::::::++:,,,,,,,,,,,,,:::
++++++++++++**+++++++++:::::::::::+*************++++++++++++::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,:,,,,,,,,,,,,::::::::::::::,,,,::,,:
::::::::::,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::,,::::::::::::::,,::::::::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,::,,::,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,..,,.,,,::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::
,,,:::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+,,::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,
,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,..,,,,,,,,,,:::,,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................... .,,,:::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,,,,,,,,,:::,,,.+##*####:::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................,,,,,,,,:::::+,...,++++###**:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,::::::::+,,.,.:#**+*####:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,......................................,,,,,,,,,:::::+,,,., :++++*+###**#++#++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,,,,:::,,,,,,,..#******###*:,   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................,........,,,,,,....................,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................................,,,..................     ..............,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,::::++::++.... .++,...................,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::::,:::::++:::+*,.....+,.,.,+.,,,,,,,....,,.,.
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++:,,::...,,,:*+**,..,,.,,,...,..,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++:,::*:,*****,....,,,,,,,,,,.
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::++++:+....,***#**,.........,::::,
,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,.:+*****+..,,,,,,.......
,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,::**#***+,,............,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++:::::::::+*+***+..........,,..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::++++++**++::+++****+++.....,++*+*####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,:::::++++++++****+**#*+**#*+*:###############*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++*#****#**###****#######*********
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++***+++++++**##*+***++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::++++++++++++++++++++++++++**********+++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++:::::::::::::::
,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++::++++++:::::::::::::::::::::::::::::::
::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::++++::::::::++::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++**+
::++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++++++++++++++++++++**++++++++************++*********+**++++++::::::::::++++++:
::::::::::::::::::::::::::::++++++++++++++*+++++++++************************************++++++++:::+++++++++++++::::++++::++++::+++:::::::::::::::,,,,,,,,,,,,,
++++++++++++++******++**************++****+++***++++++::++::++++******++++++++::::::::::::::::::,,,,::,,,,,,,,,:::::::::::::::,:+:,,,,,,,,,,,,,,,,::::,,,,,,,,,
******++++++:::::::++********************++++++++::::::,,,,,,,,,,,,:::::::::::::::::::,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::,,,,::::::::::::,
,,,,,,,,,,,,,,,,,,,,::,,::,:::::::::,,::::::::::::::::::::::::::::,,::::,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::,,::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,......,.,,::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,::::::,,::::,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,..,,,,,,..,,,:::::::,,::::::::,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,......................,,,,,,,,::,,,,::::::::,,,,,,::,,,,::,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,..........................,,,,,,,,:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,......................................................................,,..,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,........,,.................................................. .,::+***::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,..............................................................,,,,,,,,::::...,########*,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................................,,,,,,,::::::*:,,..:**++*###*+:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................,,,,,,,,,::::::++,,,,.:+++*++*###*:+++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,:::::::::,,,,.,****++**####**+#+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,,,,,,,,,.. *******#**+,..  ..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,..,,....................................,....................................,:,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,......................................,,........,...............................,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,:::++++*,......++,....................,:...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,,,,,,,,,,,::+++++++:.....:+,...*#+,,,,,.,,,.....*:*.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+****:++:..,.,,.*+***:...,,.,,,,,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++:,,:::.****#**........,,,:,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++:....,,***#*#*.......,,,,,,:::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::***###*,..,,,,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+::::,,,::+***+**+,...............,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++::::+*+:**::............:*###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++::***+++++.,+*##********###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++##*###*###+++############*******
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++::+++++++++++*********##****###**************++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++++++++++++++++++++++++++++****+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++++++++********+++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++::::::::++++:::::::::::::::::::
,,::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++::::::::::++++++++++++++::::++::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++**++**++++++**+++++
++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++**+++++++++*****#*****++**************++++++::::::::++++++::::::::::::::,,,,,
::::::::::::::++++++++++++++++++++++++**************************++********++++++++:+++++++++++++++++++++++++++++++::::::::::::::::,,,,,,,,,,,,,,.,,,,,,,,,,,,,,
++++**************+****************+++++++++++****++++++++++:::::::::::::::::::,,,::,,,,,,,,,:::::::::::::::::++:,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,
++*********************+++++++++++::::,,,,,,::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,::,,::::::::::::::::,,::,,,,::::::::::::,,:::::::::::::::::
,,,,::::::::::::,,,,::::::::::++::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,::::::,,::::,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,::,,,,,,,,..,,.,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,.,::,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,::::,,,,,,::::::,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,......,,,,,,,,,,,,,,................................,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,................,,,,,,....,,,,......................................................,,,::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,..,,,,........,,,,,,,,,,...........................................................:++*****+,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,..,.....................................................................,,,,,,,,:::++.,..:++++#####,::,,::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,.......................................................................,,,,,,:::::++,.,.++*#**+###**,+:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,....,,,,,,......,,,,,,,,,,.........................................,,,,,,,,:++:+,,...,++++++++###*:***++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,......,,,,,,,,,,,,,,......,,,,,,,,,,,,......................................,,,,,,,,,:::::,,,,,..*********######*#+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,,,,,,,,,:. .*+::+++:...,:,.  ..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................,,..... ...........    ..  ...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,....,,,,,,:::,,.,..........   ....................,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++*,......:+,....,,,,,,,...........+:...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++, ,..,,:,,.:*+*,,,,,,.,.,......:*:.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++++*::...+.,.*****#,.....,,,,,,,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++*+:,,::..***##**:.........,,,,,,,,:.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+,:.....,*******:,,....,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,....,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,::+*###***,,,,............,.,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++:::::::::::+**:++*+.............,....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+::::::++:+++**+:*++*........ .,:++:####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++*+++++++++++#**+*++#**#################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+**++++******##**++##########******++++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::++++**++++****##**++********++++++++::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++::::::++++++++++++++++++++****+++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++::+
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++::::::++:::::::::::::::::::::::::::::::::::
::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::+++++++++++
++++++++++++++++++++++++++++++++++++++::::::::++++++++++++::::++++::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++**++****++++**++++++++:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++************++*****#*******++++++::::::::::++++++::::::::::::::,,,,,,,,,,,,,,,
::++::+++++++++++++++++++++++****************+********+********+++++++::++++++++++++++++++++++++++++++:::::::::::::::::,,,,,,,,,,,,,.,,,,,,,,,,,,,,,::::,,,,,,,
******+*****************+++++++*******++++++++++::::++++::::::::::::,,::::,,,,,,,,::::::::::::::::++::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::
************++++++++++++::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::,,,,::::::::::,,,,,,,,,,::::::::::::::,,:::::::::::::::::::::::::::
::,,,,,,::::::::::+++:::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$...,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::,,,,,,,,,,,,,,::::::::::::,,,,,,,:::,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,:,,,,,,,::,,,,,:,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,................,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,............,,,,,,,,................................,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,................,,....................................................................:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,........................................................................,,,.+***#####**:,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,................................................................,,,,,,,::+:*.,..+:++++++####*,::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,..............................................................,,,,,,:::++++....:++**+++#**###+,::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,:::++:,,,,..*##*#**++++*##+#+#*:::::
,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................,,,,,,,,:::::,,,,,.. *#####******####*,     
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................,,,,,,,,,,,,,,,,,,.  ...............,::.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................,,,::....... ..........    ......................,:,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,::::::::::::++++:,......,,+,...........................,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++**,......:::.........,,,,,,,,,........,,::.,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++**++,,:,..,,:, .*****#:,...,,,.,,,,,,.,........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::::::::+:,,,,:+,,********.......,,,,,,,,,,,,,,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::,......*********,.............,,,:::::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::,....,:*********+....,,,,,,,,...........
,,::::::::::::::,,,,,,,,,,,,,,,,,,,,....,,,,,,,,........................,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,::+**+****+*...................,,:,
,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,......,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++*++*++:*............ .,,::+*###
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,....,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::++++++++***++*++**,..:*###############*##
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++++++++++++**#**++:*################*********
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++***#****#********++++++++++++++***
,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++::::++++++********++++++++++++++++++++++++++++++++++++++:
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,:::::::::::,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++::++::++::::::::::::::::+
,,::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++********+++++++
++++++++++++++++++++++++++++++++::++++::::::::::++::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++::::::::+::::::+++++++++++++++++++
::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++**************++**++++++++::++::++++**++++++++++++::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++++++++++++***+++******+++*****+***++*****+**********++++++**++++++++++++++::::::::::::::::,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::,,,,,,,,,,::,,::,,,,,,,,,,,,::::,,,
**************++*+++::++++++++++++::::++::::::::::,,,,::::::::::::::::,:::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::::::::::::::::::::::::,
++:+::+:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,::,,,,::::::::,,,,::,,,,,,,,::,,::::::::,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
::,,::::::::::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::
$,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,::::::,,,,,,,:::,,::,,:::::::,...........,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,:::,,,:,,,,::::,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,.....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,............,,....................................................................        ......,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,..,,,,....,,,,,,................................................................,,.., :**#########+.:::::::::::::::::
,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................................,,,,,::::+:*,,, ::++++++++###*,::::::::::::::
,,,,,,,,,,,,,,,,......,,..............,,,,,,,,,,,,,,,,,,..........................................................,,,,,:::++++:.,..:+++++++*#**####.:::::::::::
,,,,,,,,,,,,,,,,,,....,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................,,,,::+++++,,,,.,+***##*++**++##*#***::::::
,,,,,,,,,,,,,,,,,,....,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................,,,,::::::,,,,,...*#####*********#+,. ..   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,,,,..    .............. .::::.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,....,...............  .. ......................,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,....,,,,,,,,,,,,,,,,,,::::::::++++:,.......,,:..........,,.,,,..............,:,...,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::,,::,,:::::::::::::+.......,,:....,,,,..,,,,.,,,,,.........+++*..,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,..,,,,,,,,,,,,,,::::::::::::++++::,::....,..,.++++**#*......,,,,,,:,,,:,,,.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,..........,,,,,,,,,,,,,,,,,,,,:::::::::::::::.,,,,:,.+*******#,...........,,,,,,,,,,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,..........,,,,,,,,,,,,,,,,,,::::::::::::::::,,....,,:**#******:,,,......,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,::+**#******...,,,,,,................,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,::++++***+***+*...............,,,,...,,,.
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::++++:::*++++:*+*,...........,++********###
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+***+++****++*+*###########################
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++++**#*****+*#############******+++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++*************++++**++++++++++****+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++++++++++**+++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:
::::::,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::++:::::
::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++******+++++++++++++++++
++++++++++++++++++++::::::++++++::::++::::::++::::::::::::::::::::::::::::::++++::++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++
::::++++++++::::++++++::::::++++++::++++++::++++++++++**++**++****++++++++++**++********++++++++++++::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::,
+++++++++++++++++++++++++++********************+*+++**++**++++++::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,,,:::::::::::::
**+++***++++++++++++::::++++++::++::::::::::::+:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,::,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::
++::::::::::,,,,::::::::,,,,::,,,,,,,,::,,,,,,::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,::::::,,,,,,::::::,,,,::::::::::::::::::::::::::::::::::,,::,,::,,::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,::::,,,,,,,,::,,::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::+::::::::::::::::
$,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,..,,::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,.....,,,,,,,::::::,,,,,,::,,.,::,,,,,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,:::,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..............................................................................       ......,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................................................................,,..,. :**########**,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,..............................................................,,,,,,,,::*:*.,. +++++++++**###* ::::::::::::::
,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,................................................................,,,::::+**+:,,..:+++++++++***#*#*.:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................................,,,::::+***+,,,..,+***+*#***++++##****:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................................,,::::::+++,,,,,..,*######********#*:,       
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,...............,,,,,,,,,,..    ..................+:+,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,.........,,,,,....................  .. ........................:,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,::::::::::+:,.......,,,,..........,,,...,,.............:::,...,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,........,,,,,,,,,,,,,,,,::::::::::::::::.......,,,.....,*+,,,,,,,,,.,,,,.........*:+*...:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,......,,,,,,,,,,,,,,::::::::::::::++,,:,,....,,,:,++++***#,,......,,,,,,,,,,:,,,,......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,::::::++::::,.,,::,,:****#*****.....,.......,,,,,,,,:,,:..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,::::::::::,,,,,....,,,+**********,,,......,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,::+*+********:..,,,,,,................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,:::,,,:+++****+++++*:................,,,,..,,,.,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++::::+++****:+*+:*+..........,:*###*********##
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:++++++++++***++++:*############################*
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++********###########******+++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:++++:::+++************++++++++++++*************
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++***+++++++++++++++++**+++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,:::::::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::
::::,,,,,,::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::
::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++****++*
++++++++++++++++++++++++++++++++++++::::::::::::++::::::::::::::::::::::::::::::::++++++++++++**++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++::
++++++::++++++::::::::::::::::::::++++::++::++++++++**++**++++++++++++++******++++++++++++::::::+:::::::::++::::::::::::::::::::::+++::::::::::::::::::::::::::
++++++++++++++++++**+++++***************++*********+++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,::,,,,:::::::::::::::::
*****++*++++++++++++++::++++::::::++::::::++++++::::::::::::::,,,,,,..,,,,,,,,::++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::::::::::::,,::::,,::,,,,::::::::::::::::::::,,,,,,,,::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::,,,,::::::,,:::::
::::,,::::::::::,,,,,,,,,,,,:,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::
$..........,,....,,,,..,,.........,...,..............................,,....................................,,,,,,::::::,,,,,,,,,,,,:,,,,,,,,,,,,,.,..,...,,:++,,
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,..,,,,,,,,,,::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,:++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:::::,,::,,,,,,::,,,,:+:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::++:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,,,,,,...,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,,....,,,,,::,,,,,,,::::::::::::::::::::::::::::::::::::::::::++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................,,,,,,...........,............    ....     .     .,:::::::::::::::::+::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................,,,,........................,,,,..,,..****#######*#+,,::::::::::,:+::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................................................,,,,,,,,,,,::::+++,. ,+++++++++++###*+:,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................................................,,,,,,,,,,:++++**,,,..++++++++++++#*###+.,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................................,,,,,,,,,,:::+++++:,.,..+*****++##**+++***##**:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................................,,,,,,,,.,,+++::::,,,,...:**######********#*,,       
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................,,......,,,,,,,,....  ...................,::+,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................,,,,....................    .. ...........................:,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,........,,,...........,,,...,,..............,+,+:... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,.......,,,....,,,:+..,,,,,,,,.,,,..........:::*+....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:,,...,,,,,,:**++***#.,......,,,,,,,,,,,,,,,,,......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,:***********,..............,,,,,,,,,:,:..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,....,,,****#**#*#**,........,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:+***+*******:..,,,,,,..................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::++++**++*:+*+:*+.............. ..,.,,,.. .:+#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++++****++++++**........,:**##############**#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++++***+++++**##########################*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++***++***########**********+++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++****++++++++++++++**++****+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++++++++**+++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++:::::
,,,,,,::::::::::::::::::::::::::::++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::++:::::::::::
::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++******++++++++++**+++
++++++++++++++++++++++::++++::::++++::::::::::::++::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++::::::
::::++++::::::::::++::::::::::::::::++++++::++++++++++++++++++++**++++++**++::::::::::::::::++::::::++++++::+++++++++++:::++++:::::::::::::::::::::::::::::::::
++++++++++++++++++++******************++++++*+:+++++++++******++++++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::,,:::::::::::::::::::::
++************+++++*++++++++++++++++::::::::::::::::,,,,,,,,,,,,,,.,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,::::,,::,,:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::::::::::::::::::::::::
,,,,,,,,::,,,:::,,,,,,,,,,::::::::::::,,::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,::::,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::
::,,::,,,,,,::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,..,,..,,................,,,,,,,,,,,,,,..,,,,..............................................,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,........,,:+:,,,,,:::,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,..,,,,,,,:::::::,,,,::::,,,:::,,,,::,,,,,,.,,,,,,,,,+++:::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,:::::::::::,,,,,,::,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:+:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,,,,,,,,,,,........,,::::::::::::::::::::::::::,,,,::::::::::::::::::::++::::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,,,,,,......,,,,,,:,::::::::::::::::::::::::::::::::::::::::::++:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,......................................,,,,,,,,...............,,,,,....    ....      ..  .. .  . .,,:::::::++:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,................,,..............,,..,,,..*****#######**:,:::+::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................,,,,,,,,,,,,,:::::::++:...+++++++++++++####,,::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................................................,,,,,,....,,,,::++++***,.,.,+++++++++++++**##*+.:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................................,,,,......,,,,,,::+***+:,,...+:+*******##***++*#*#*::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................,,,.......,,,,,,::+++:,,,....+***************#**+,.       
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................................................................,,,,,..........    .................. +,:,......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................,,..................,...    .. ...........................,:, .....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....................,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,........,,,,.........,,,.,...,,,................*+:,... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,::....,,:*#:.,,.,,,.,..,,.,..........*:**,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,....,,,,,+***+++**#:.........,,,,,,,,,,,,,,,,.,,,..,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,+****#*****#,..................::::::,:::,,.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,:****#*******+......,,,,,,,,,,,,,,,,....,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+****+********..,,,,......................:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::+++**++:++:+*+...................,,,..,,+++*#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::+:::++**++++**++**:.....,:**#####################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++***++++:+**#########################******+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++****+++:*####********+++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++****++++++++++++++++******+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++::::::++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::
::::::::::::::::::++++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++:::::::::::::::::::::
::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++********+++++++++++++++++++
++++++++++++++++::::::++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::++++++++++****++++++++++++++++++++++**++++++++++++++++++:::::::::::::::::
++++++++++::::::::::::::::::::::::::::::::++++::++++++++++++++++*+++++++++::::++::++++::::++::++++++++++++++++++++++++:+++++::::::::::::::::::::::::::::::,,::,
::::++::++++++++++++++++******++++*+++++++**++********++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,::::::::,,,,::::::::::,,:
**************++++******++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
++::::::::++::::++::++++::::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::+++
,,,,::,,,,,,::,,::::::::::::::::,,,,,,::::::::::::::::::::::::,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::
,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$...........................................................................,..........................................,,++,,,,,,,,.,.....,.......,..,,,.......,
...........................................................................,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,.....,,:++,,,,,,::,.,,,,,,....,,,,:,,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,:::::::::,,,,,,,,,,,,,,,:++::++::::::::,,::,,,,,:::::::::,,,,,,,
,,,,,,,,,,,,....,,,,,,,,..............,,,,,,,,,,,,::::::::::,,,,,,,,......,,,,::,,::::::,,,,,,,,,,::::::::,,,,,,,,,,,,,:+::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,..,,..............................,,,,,,,,,,,,,,,,.......,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,::,,,,,,::::::,,,,,,,,:::::::::
,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,................,,,,,:::::::::::::::,,::::::::::::::::::::+:::::::,,,,,,,,,,::::::::::,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,..,,............................,,,,,,,,,,,,...................,,,,,,,,,::::::::::::::,,,,......    ..        ....,::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,..,+*******##*##**,,::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,....................,,,,,,,,......,,..,,::,,:+++++++++:*++.. ++++++++++++++*### ,::::::::::::::::
,,,,,,,,,,,,,,,,,,.................................................................,,,,,............,,,,,,::+++++++++***,,..:+++++++++++++++**##*.:::::::::::::
,,,,,,,,,,,,,,,,..................................................................,,,,,,................,,:::::::::++***,.,..:++++++:+**+***#*****#+*,:::::::::
,,,,,,,,,,,,,,,,,,,,....................................................................................,,,,,,,,:::::+++,,,...,+******************##+:,.       
,,,,,,,,,,,,,,,,,,,,,,,,..................................................................,.............,,,,,,,,,,,,,,....    .....................,+,+:,......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,......,,,,...........................,,,................,,.......... ............................. ,,,.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,....,,................,,,,,,,,,,,,,........,,,,.........,,,,,,,,,..,..,...............:+*+.......
,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,....,,,,,,,,,,,,........,,,,,,,,,,,,,,,::,........,,,....,::###*,.,,,,:,,,,,,,,,,,..........::+*+....,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,............,,,,......,,,,,,,,,,,,,,,,,,,:::::,...,,..,,,:***+*****#,.......,.,,,,,,,,,,,,,,,,.,,.,.,...,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,..............,,......,,,,,,,,,,,,,,,,::::::::,.,,,,,,,:************#,,,..,,,...........,,,::::,:::::,,,.
::,,,,,,,,,,,,,,,,,,,,,,,,,,................................................,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,+**************+.......,,,,,,,,,,,,,,,......,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*+****+******+**..,,,,,,.......................+.,:
,,,,,,,,,,,,,,,,,,,,,,,,....................................................,,,,,,,,,,,,,,,,,,,,,,,,,,:::++*+++***++++++++++.......... ... .....,.,,,:*********
,,,,,,,,,,,,,,,,,,,,,,................................,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++*+++++++**...,:**############################
,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,..,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++:::++:::::::+######################********+++++++
,,,,,,,,,,,,,,,,,,,,..................................,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::::::::::::::::+++***+++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++::++::++++++++++++++++++++++++++++++****++**++++++++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++::::,,::++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::+++++++++++++++++++
::::++++++++++++++::::::::::::::::++++****++++++++++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++::::::::::++++::::::::::::++++:::::::::::::
::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++****+++++++++++++++
++++++++++++++++++++++++++++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++**++**++++++++++++*+++++++++++++++++++++++++++++++++++:
++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++::+++::::::::::::::::::::::::::::::::::::::::
::::::::::::::++++++++++++++++++++++++++++++++++++::::::::++::::+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::,,,,,,:
****++++++++++++++++++******++++++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,::::::::::::,,::::::::::::::::::::::::::::::::::,,:::::::::::::::::::
++++::++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::
,,,,,,,,,,,,,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::
::::,,:,,,,,,,::::::::,,::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,::,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$............................................................,...................................,.......,++,....,,,...............,,..,,..,....................
...............................................................,,,,,..............,...,,,,.............,:++:,,,,,,,......,,.......,,..,,.......................
,,,,....................................,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,.,.....,,:++:,,,,::::,,,,,,,,,,,,,,::,,:,,,,,..,,....,,,,.......
,,,,,,......................,,,,,,,,,,,,::::::::,,,,.,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,::,,:::::::++::::::::::,,,::::::::::::,:,,,,:::::,,,::::::::,,,,,
,,,,,,,,....................,,,,,,,,,,,,,,:::,,,,,..............,,,,,,::::::::::::::::::::::::::::::::,::+::::::::++::::::::::::::::::::::::::::::::::,,,:::::+
,,,,,,,,..........................,,,,,,,,,,,,,,,,............,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++:,,,,,,,,,,,,,,,::::,,::+:,,,,::::::,,,,::::,,::::+::
,,,,,,..............................,,,,,,,,,,,,................,,,,,,,,,:::::::::::::::,,,,::::,,,,,,::+:::,,....  ....  ......,,::::::::::::,,:::::::::::::::
,,,,,,................................,,,,,,,,,,..................,,,,,,,,,,::::::::::::::::::::,,...,,,,,....,,,,.... ,:++*********#*+.,::::::::::::::::::::::
,,,,,,................................,,,,,,,,,,......................,,.,,,,,,,,,,,,,,,..,,,,,,:::,,:::,:++++++++***:...++++++++++++++*###+ +:::::::::::::::::
,,,,,,....................................,,,,,,........................,,,,,,,,,,,,,,.........,,,,,,,,,::::::::++:**+,,..++++++++++++++**+*###:,::::::::::::::
,,,,,,,,....................................,,..........................,,,,,,,,,,............,,,,,,,,:::::::::::::+:+,,,. +++++++++++******##+****,:::::::::::
,,,,,,,,,,................................,,,,,,........................,,,,,,,,................,,,,,,::::::::::,:::++,,,. .+*##****+***************:+..  ..   
,,,,,,,,,,,,,,................,,,,,,,,....,,,,,,................................................,,,,,,,,,,::,,,,::::,,..    ......................::,++........
,,,,,,,,,,,,,,,,..............,,..,,..,,,,,,,,,,....................................,,................,.................  ........................,.,+:........
,,,,,,,,,,,,,,,,,,............,,......,,,,,,,,,,,,,,....,,................,,....,,,,,,,,,,,::,........,,,,............,,,,,.,.,,,...................,,*,......+
,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,........,,,,....,+**#*+....,,,:,.,,.,,,,,,..........,#::#*....,:+
,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,.......................,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.:++**+*****#:.......,..,,,,:,,,,,,,,,,,,,.,,........
,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::***********#,,.....,,...........,,,,:::,::::::,,,,,
,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:***************.......,,,,,,,,,,,,,,,,,,,,....,.....*
,,,,,,,,,,,,,,,,,,,,....................,,,,,,............................,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:+*****++++++++**,,,,,,,.,.......................,:,,:,
,,,,,,,,,,,,,,,,..........................................................,,,,,,,,,,,,,,,,,,,,::::::+++++++++++:::++*++**,.................. ..,.,,,++*********
,,,,,,,,,,,,,,,,..........................,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++::::::::++*##+.,:**################################
,,,,,,,,,,,,,,..........................,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::,::+########################********+++++++++
,,,,,,,,..................................,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::**+++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,::::++++++++++++++++++++++++++++**+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++++++++++****++++++++++++++++::::++::+++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,,,,,,,,,::::::++++++++++++++++++++**++**++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++::::::+++++++++++++++++++++
::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++::++::::++++++++++::::::++::::::::::::++:::::::::::::::::
::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++**++++++++++++++++++++++**++++++++++++++:::::::::+:
++++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++**++++++++++++++++++++++++++++::::::::::::::::::::++::::::::::,,:::::::::::::::::::::::
::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,
++++++++++****++++++++++++++:::::::::::::::+++:::::::::::::::::::::++:::::::::::::::::::::::::::::::,,,,,,,:::,,,:,,,,,,::::::::::,,,,,,,,,,,,,,,,::,,::,,:::::
::+++++++++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::+++:::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$...............................................................................................:+:....,,,...............,,..,,..,..............................
........................................................................,.....,.....,.........,:+:,,,,,,........,,......,,..,,.................................
..................................................,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,.,,.....,,:+:,,,,,::::,,,,,,,..,,,,,:,,,:,,,,,,,,.................,,......
..................,,,,,,,,::,,,,::,,,,,,,,,,....,,,,,,,,,,,,,,:::::::::::+::::::::::,,::,,,,,,,:+:::::::::::,,::::::::::::::::::::::::,,::::::::::::::::,::::::
....................,,,,,,,,,,,,,,::,,,,.,..............,,,,,,,:,,,,,,::::::::::::,,,,,,::::,,:++:::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::,,:::
..........................,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++:,,,,,,,,,,,,,,,,,,,,,,..,,,,::::::,,,,,,,,,,,::::::::::::::::
............................,,,,,,,,,,..............,,,,,,,,,,,,,,,:::::::::::::,,:::::::::::::++:::::::::,,....................,,,:::,,,,,,,,,,,,,,:::::::::::
..............................,,,,,,,,..................,,,,,,,,,,,,::::::::::::::::::::::::::,:,,,...,,..,,...........:++**********#*:.:::::::::::::::::::::::
................................,.,,,,........................,,,,,,,,::::::,,,,,,,,,,::::::,,,,,,,,,::::::+++:::::+:. .+:+++++++++++++*##*,.+:::::::::::::::::
....................................,,,,......................,,,,,,,,,,,,:,,,......,,,,,,,,,,,,,,,,,,,::::::::::++++,,..+++++++++++++++****##*,::::::::::::::+
....................................,,....,,....................,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,::::::,,,::++:.,..++++:++++++++******#**#*+.,::::::::::
,,..................................,,,,..,,......................,,,,,,,,,,,,..........,,,,,,,,,,,,,,::::,,,,,,::+++,,,...:*####***************#*+*:,         
,,,,,,,,,,..................,,,,..,,,,....................................................,,,,,,,,,,,,,:,,,,..........    .......................,+,*+: .......
,,,,,,,,,,,,............,,,,,,,,....,,,,,,,,,,....................,,,,,,,,..........,,,,........,,..,,,............................................,*:,,.......
,,,,,,,,,,,,,,..........,,,,,,,,..,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,:,........,,:+........,,,,.,,.,..,.,......,.............++*#::......#
,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,::,...,*****#*,...,,:,,,::..,,.,,,..........**+**+.....*.
,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,.,,,,,,,,****+*#****#:........,.,:,::,,:,::,,,,,,.::,,.......,
,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,,,,,,,,::,,....,,,,:****####*****#,,,,,,,..............,,,,::::::+:::,,,,#
,,,,,,,,,,,,,,,,................,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:++**************......,,,,,,,,,,,,,,,,,,......,,.....,#
,,,,,,,,,,,,....................,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::++****+**+******,,,,........................,,,,,,:,,,+
,,,,,,,,,,..........................,,...............................,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++:::+*:++++++,......... ....... .,,++**##****##****#
,,,,,,,,,,........................,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++*#########################################
,,,,,,,,..........................,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,:::*###############**********+++++++++++++++++
,,,,................................,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::+:+++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::++++++++++++++::+++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::++++++++++++++++++++++++++++****++++++++++++++++++::+++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++++++++++****++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++:
,,,,,,,,,,,,,,,,,,,,,,::::::++++++****++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++:::::::::::::
::::::::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++::::::++++::::::::::::::++++:::::::::::::::
::::::++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++
++++++++++++++++++++++++++++++++++::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++****++++**++++++++:::+++::++++:::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++****++++++++++++******++++++++++::::++::++++++++::::::::,,,,::::::::::::::::::,,::::::::::,
::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,::,
++++++++++++++++++++++++::::::::::++::::::::++::::::::++++++::::::::::::::::::::::::::::::,,,,::,,:::,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
**++++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,:::::::::
::,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$..........................................,,......................................++:.......................,,.,,..,....,................................,,,...
................................................................................,,++,...,,.................,,,.,,.......,.............................,,.,,,...
........................................,,,,,,,,,,,,,,.,,,,,...,,,,,,,,,.,......,,++,,,,,,::,,,,,,.,..,,,,,,,,,,,,,,..,,,,............................,,,,,,..,
..............,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,++::::+:::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,++:::::+++,::
........,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::,,,,,,,,,,,,,++::::,,:::::::::::::::::::::::::::::::::::::,,,,,::,,..,,,,,,,,,,,,,,,::::::
..............,,,,,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++,,,,,,,,::::::::::::::::::,:::::::::::::::,,,,::::::++::+:++::::::::::::,,,
..............,,,,,,,,,,,,...,....,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++::::::,,,,,,,,,,::::,,......  .................,::,,,,,,::,,,,,,,,,,,,,,,,,
................,,,,,,,,,,,,..................,,,,,,,,,,,,,:::::::,,,,,,::,,,,,,::+:::::::::::::,,.,,,,,,,,,..,,..,,...*********######**.,++:::::::::::::::::::
......................,,,,,,,,,,................,,,,,,,,,,,,::::,,,,,,,,,,::::::,,:,,,::::,,,,,,,,::,,,,,,,,::,,,,:+:...:+++++++++++++++*##*,.+::::::::::::::::
......................,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,:::::,...+**++++++++++++****+*#*..+::::::::::::
........................,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,...*+*#+*#*****##**#######**: ::::::::::
........................,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,... +*######****+++******+*:,.,, ..  .. 
,,,,................,,,,,,,,,,,,,,..,,................,,,,,,,,,,..................,,::..........,,,............. ...  .......................... .,.,..,.......
,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,::::++++:,............,...........................................,,+*::....,,:
,,,,........,,,,,,,,,,,,,,,,,,,,,,..,,..................,,,,,,,,,,,,,,..,,,,,,,,,:::::::::,.......,,,::,.......,,,,,,,,,,,,,.:,,,,,,,.............+,,,,:.......
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,....,,,,,,,,,,::::,,,,,,,,....,,:::..,+*******##.......,,,:,,,.,,,:,,,,,.,...,,,..,......,:
,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::.,*****####****#,,,,....,...,,..:::::::::,,,,,,,,.:,....,
,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,................................,,,,,,,,,,,,,,,:,,,,,,,,,,..,,,,:*******###*****:,,,,,,,.,....,,,,,,,,,,,,,,,,::::::,,,,,
,,,,,,,,........,,,,,,,,................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++**********#****,..,,,,,,,,,,,,,,....................,,,
,,,,,,,,........,,,,,,,,..,,,,..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++*+++**++:,......................,,,,,.,.,,,,,,..:
,,..............,,,,,,,,,,,,,,..........................................,,,,,,,,,,,,,,,,::::::::::,,,,,,::++::++*+*:+**:........ .,:++#########################
....................,,,,,,,,,,................................,,,,......,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,::::::::+++*#####################################*****
....................,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++*##********+++++++++++++++++++++++++++++++
....................,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++++++++++++++++++++++++++++++++++++++++++++
............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,:::::++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++++++**+++
,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++**++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++:::::::
,,,,,,,,,,,,::::::++++******++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++::::::::++::::::::::::++++++::::++:::
:::::::::::::+::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::::::++++++++++++::::::::::::::::::::::::++:::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++::::++++++++++++++++::+++++++::::::::::::::::::
::::::::::::::::::::++::::++++++::::::::::::::::::::::++++++++**++**++++++++++***+++++++++++++++++++++++++::+++++++++++:::::::::::::::::,,::::::::::,,::::::,,:
::::::::::::::::::::::::++++++**++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::::,,,,,,:::::::
++++++++++++++::++:::++:::::++++++++++++++++++++::++++++::++::::::::::::::::::::::,,::::,,::::::::,,,,,,,,::,,,,::,,::,,::,,,,,,,,,,,,,,,,,,,,::::::::::**:::::
+++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::,::
,,,,,,,,,,::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::
$................................................................,........:+:......,........,......,,.............................................,,...........,
........................................................,.......,........:+:....,,,.......,.......,,..,,..,..................................,...,,......,,,,,,
................................,,,,....,,,,..,,,,,...,,,,,,,,,.,,.....,,:+:,,,,,,:,......,,..,,,,,,,,,,,,,,...,.............................,,,,,,.,,,,,,:::::
........,,,,,,..,,,,....,,..,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,.,,....,,,:+::::::::::,,,,,,,,,,,,,::,,::..,,,,,,....,,...........,:......,,,,,:,:,,.,,::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:,,,,,,,,,,,:++:::::::::,,,,::::::::::::,,::,,::::,,::::::::,:,,,,:,,,,,,,,,..,:,,,,:::,:::++++++++
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::::::::::::::::::::::::::+:::::::::::::::,,,:::::+:::::,:::::+:,,,,::::,,,,,,,,..,
........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++:::::,,,,,,,,,,,,,,,,::::,:::,,....  ..      ........  ..,,,,,,,,,,,,,,,,,,,,,,,,::,
........,,,,,,,,,,,,,,..................,,,,,,,,,,,,::::,,,,::::::,,,,::::+:::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...*#*****########**,.::::::::::::,,,,,,,,:
......,,,,,,,.,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,::::::,,,,,,,,,,,,.,::,,,,,,,,,,:::::...+:++++++++++++++**##* +::::::::::::::::
..............,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,::,...++*#*+++++++++++*****##+ :::::::::::::
..............,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,...+*####*#+*****##########*+..++::::::+
................,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,....**#######****++****++++:,,,,....... 
........,,,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,........,,......::+.,...........,.. ..............  ............................:,,.,:.......
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,:::::++**:.........,,,,............................................:.++*,....,,:
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,........,,,,,,,,,,:::::::::::::+........,,:+:.....,.,,,...,,,:,,,,,:,,,,,,,.............,...,,......,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,........,,,,,,,,,,,,,,,::::::,,,,.....,,,,.,.*#********#........,,:,,,,,,,,,:,:,,,...,:,..........:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................................,,,,,,,,,,,,,,::,,::,,,,::++,,,+**#*##**#*****..,,..,,,...,,....,,::::::,,,.,,:,,:....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++*************:,,,..,..,..,,,,,,,,,,,,,,,,,,::::::,,,,,
,,,,....,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++***#*+**********,,,,,,,,,,,,,......................,,,,,
,,,,....,,,,,,,,,,,,,,,,,,............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++******++*+++++***.......................,,.,..:...,,.,,,:
............,,,,,,,,,,,,............................................,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::+++::++**:......,:**#############################
..........,,,,,,,,,,,,,,............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::*###############################***********
........,,,,,,,,,,,,,,,,,,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+****+++++++++++++++++++++++++++++++++++++++
........,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++
,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::++++++::::::++++++++++++++**++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++:::::::::::
,,,,,,,,:::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++::++::++::::::::++++++++++:::::::::::
::::::++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++++++++::::::::::::::++++::++:::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++::++++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++
++++++++++++++++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::
::::::::::::::::++++++++::++::::::::::::::::::::::::++++::++++********++*++++:::++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,
::::::::::::::::::::++++++++++++++**++++++++++++++++++++++++++++::+++++++:++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::+::::::::::
++++++++++++++++::++++++++++++++++++++++++++++++:+++++::::::::::::::::::::::::::,,::::::::,,,,,,::::,,::::::,,,,:::,,,,,,,,,,,::,,,,:::::::::::++::::::::::::::
::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,::,,::::,,,,,,::,,::::::,,::::::::::::::::::::::::,:::::::::::::**:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::++:::
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::+
$............................................................++:...........................,,.,....,.................................,...............,,,,...,,,:
............................................................++:..........................,,..,....,................................,,.......,,,,,,,,,,,,:,,::::
..........................................,,..............,,++,,,,,,,,.......,.......,,,.,,..,....,.............................,,.,:,.....,,,,,,:::::::::::+++
................,,,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,.,......,,++,,,,,::::,,,,,,,..,,,,,,::,:,,,,,,,,,.................,,..........,,,,,,,,,,:::::::++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++::::::::::,,,:::::::::::::::::::::::,,,:::::::::::::,,,,:::,,,,,,,,,,++::::,..,,,,,,,,,,::,,:::++
,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::,,,:::+::,,,,:::::::+++++++++:,,,,++++,,,
,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,::::::++::,,,,::::,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,............  ......   .,,,,,,,,,,,,,,,,,,,,,,,::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....::+******#####*#*:.,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,::::::::::+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:...:+**+:::++++++++:*##*.:::++++++++++++++
..,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...++*###*+++++++++++*+*##*.,+:::::::::::
,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,::,,,...***######*++****########*:: +++++++++
..,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,::::::,,,....**#********++*++++:,,,:+::+,........
..,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.........,::..,..... ..,.,, . .............. .............................,.. .,.......
,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,+::::+++*,........,,,,,..............,,,.....,.,.,.................: *+*,....,,:
,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::+++++:.......,,::+.......,,,....,:,:,:.,,,,,,,,,,.............:,.,:,....,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++*:.....:::::,,##******#*##.........,::,.,,:,,::,:,,,,,.,,...,.......:
,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,::::::::,...,,,,,,##*#*#####*****:,,..,,.,..........,,:::::::,:,:,:,::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,................,,,,....................,,,,,,,,,,,,,,,,,,,,,,::::+:,,..,,,,,*#***##****#***+*,,......,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,..............................................,,,,,,,,,,,,,,,,,,,,,,::::::,,::,::+****#***********,,,,,,,,,,.....................,...,::::,
,,,,,,,,,,,,,,,,,,,,............................................,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++:::::+:++++++:.......................:,:.,,:,,,::+++++
,,,,,,,,,,,,,,..,,..............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++**:+**#####################################
,,,,,,,,,,,,....,,............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+*##########################******++++++****+
,,,,,,,,,,,,,,,,,,,,........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++
+.,,,,,,,,,,,,,,,,,,,,,,............................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::++++++++++++++++++++++++**++**++++++++++++++++++++++++++++++++++++++*
##:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
##:,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::++++::::::++++++**********++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::++++++:
##+:++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++::::++::::::::::::::::::++++++++++++::::::::+
#*++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++::++++::++++++++++++++++++::::::::::::::++::++::::++:::::::::::::::::::::
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++
++++++++++++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++::::::++::++++++::::::::++++++:::::::::
++++::++++++::++++::::::::::::::::::::::::::::::::::++++++++++++++++**++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,::,,:
::::::::::::::::::::::++++++++******++++++++**++++******++++::::::++::++++++++++::::::::::,,::::::::::::::::::::::::::::::,,,,,,,,:,:::+:,,,,,,,,,,,,,:::::::::
+++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,:::::::::::::::::
++:::+++++++++++++++++++++::::+++:::::::::::::::::::::::,,::,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::+++*++:::::::::::::::::::::::
,,,,,,,,,,,,,,,,::,:::,,,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::
,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::++++++:::::::
$......................................,++,....,,.............................,.................................,......................,,,,,,,,..............,,,
......................................,++,....,,........,.....,.,,..,........,.................................,..............,,,,,,.,,,::::,,,,............,,,
......................................,++,....,,........,.......,,..,........,...............................,,,......,,,,,,,,,,,,:,,:::::::::::,,,,......,,,,,
....................,,,,,,,,,...,....,:++,,,,,,,,,.....,,...,,.,,,,,,,.,,,...,............................,,,,,,.....,,:,,,:::::::+:::++++++++::::,,,,,:,,,::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,....,,:++:::::+::::::,,,,,..,,,,,,,::,,,,,,,,,,..,,,..........,:..,,...,,,,,,,,,,,,,::::::::+++++:,,++++++*++++++++++++++***+:.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::::::::,,,,::::::::::::,,,,,,::::,,,:::::::::,,,,,,,,,,:,..,,,,,,,,::::::++::++++++:::::::::+*++:++++::::::+:....,++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::::::::::::::::::::::::::::::::::::::::::,,,,,,,::::::,,,:,,::,,............................,:::+:::,,,,:+++++++::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++,::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,...::,:******##***#**,,::::::::::++++++:::
,,........,,,,,,,,,,,,,,,,,,,,::::::::++::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...:::,*#*+::+++++++:*##: ::::::::::::+++
,,..........,,,,,,,,,,,,,,,,,,,:::::,:++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,...*+::***##*++++++++****##..::++++++++:
,,,,......,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,....**###*#####**++++****###*+* .:++++++
,,,,........,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,:::::::,.....,++++::::::,,,,.......,**+*+,.......
,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,,..... ....,..,,,............ ...................................,,,,......
,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++,.......,,,,:.......,,,...,,,:,,.,..,,,::.................,:***,.....,
,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::+++++++++:,,.....,,:++....+*****#+,...,,,::,.,:,,:,:,,,...........,******,..,,,
,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++**:.,,,::*:::,##********#*#*,,,.....,..,,,:::,,:,,,,,::,,,,,,,,,.....,
,,..,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++,,,,,,,,.*###*########*###,,,,,,,,,,..........,,,,::::::,+::,:+,,,,
,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++::,,,,,,,,:+****##**********:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,..............,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:,,,:::+***++++**++++*..............................,,,..:+,,,
,,,,,,,,,,,,............,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::::::::::::,,,,:::+::+:+++++****...............,,,,::::+*########*******
::::,,,.,,,::::,,.................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,:+++:::::++**###########################################
:::::::,,:+###*+:,..................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,:::+::::::+########********++++++++++++++++++++++++++***
++++*+,,,*####*#+.................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++++++++++++++++++++++++++++++++++++++++++++
****+:,,:#########................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++:+++++++++++++::+++++++++++++++++++++++++++++++++++++++++++
****+++:*#########*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++::::++::++++::++**++::::++++++::++::+++++++++++++++++++++++++++++++++
****+::+*##########:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::+++++++++
****+::+##****#####:,,,,,,,,,,,,::::::::::::++++++++++::++++++++****++++++++++++++++++::::++++++++++++++++++++++++**++++++++++++::::::::::::++::++++:::::::::::
*********###*######+++++++++++++++++++++++++**++++++++++++++::++::::::++++++++++++++++++++++++++++++++++++::++++::::::::::++++++::::::::++++++::+++++++++++++++
********#***,###*#++++++++++++++++++++::::::::++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++::++::::::::::::++++++++++++:::::::::::::::::::::::::
##########*##**##+++++++++++++++++++++++++++++++++++++++::::::::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##############********++++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++
******++++++++++++++++++::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++:++++++++++++
+++++++++:::::++++::::::::::::::::::::::::::::::::::::::::::++++++++++**++++++++++::++++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::
::::::::::::::::::::::++::++++********+++++:++++++++**++++++++++++++++++++::+:::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++::::
****++++++++++++++++++**++++++++++::::::::::::++::::::::::::,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::+:::::::::::::::::::::::::::::::::::+++**+:::
++++:+++++++++++++++++++++::::::::::::::::::::::::::::::::,,:::::::::::::::::::::,,,,,,,,,,,::,,,,::,,,,::::++::::::::::::::::::::::::++*++:,,::+++++:::+****+:
::::::::::::::::::,,,,,,,,,,,,::::::::::,,::::,,::::,,::::,,::::::::::::::::::,:::::::::::::**:::::::::::::::::::::::::::::::::+::++++:::::::::::::::::+::+++++
,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::++:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::++++::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::+::::::++++++++++:::::::::::::::::
$...............................++,....,,................,,..,,.................................................................,.,,,,,,,............,,,,:::,,::
...............................++,....,,........,.......,,..,,........................................,,................,,...,,,,::::,,,............,,,,,::,,,*
......................,.......,++:....,,,.......,.......,,..,,..,.....................................,,.......,,,,,,,,,,,:,,:::::::::::,,.,.......,,,,:::+:+++
............,,..,,,,..,......,,++:,,,,,,,,......,.....,.,,..,,..,.,,...............................,,,,:....,,,,,,,,:::::::+::++++++++:::::,,,,,,,,:::::::+++++
,,,,,,,,..,,,,,,,,,,..,,....,,:++:::::::::::,,,,,,,,,,,,,,,,::,,,,,,......,,..........,:......,....,,:,,..,,,::::::+++++++::++++++:+++++++::+++++:++*,.......,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::::::::,,,::::::::::,,,,,,,,:::::,,,::::::::,,,,:,,,,,,,....,,,,,,:::::::+++++::::::::,,:::+++++++++::::+++:,,,,,:+++++++,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::::::::::::::::::::::::::::::::::::::::,,,,,,,::::,,,,,,,,:::,,,,,,,,,::,.................    ...  .,:::++++++::::+++:,,:::
......,,,,,,,,,,,,,,,,::::++:::+::::,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,::++::,,,,,..,::+********###**#+.,:+++++:::::::::::
..,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,....,+::::*#*+++:++++++*##, :::::::::::::
......,,,,,,,,,,,,,,,,,,,,:::::+::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,...+++::**#***++:++++++****+ ,::::::+++
....,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,:,....***#####*####***++++***#+**+ .:::++
....,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................,.,::++,,.....
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::+++,...,,,,................ ...................................::*++......
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++::++++:.......,,:,+.......,,,,,,:,.,,,,,,,:,..,.................:+,+:,..,..
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++**#+::,,....,,::,.,.##******#*,.....,,:,::,.:,,,::,,....,,...,*::+*#,,...
+,**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::::*****+++:,,:::***:.+#*****##****##,,,,,,..,,,.,,,,::,:,,:,,,,,,,,:,,..,,..,
#*##**+.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,*#***#****###***#,..,,,,,...,,,,,,,,,,,,,,,,:::::::++:,,,
*#*::,,,..,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++:::::::,,,,,,,,:++*******+*****+**+,,,,,,,,:,,,,,,,,,,,,,,,..........,....
+:,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::,,,,::++++++**:+*+:**++***........................,,,,:,,,,,,,:,,
,,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,:++++:::::+:+++++****........::::++****#####################
::::::::::::,,,,,,:,+*:,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,:::::::::::+++**###########################################
++++++++++++::,,:+###*:,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::+++****++++++++++++++++++++++++++++++++++++++**+
++++++*****+*:,,*#####**......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++++++++++++++++++**+++++++++++++++++++
++*********+:,,:*########,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++**+++
************++++#########*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++::::++++::++::++++++::::++++++::::::++++++++++++++++++++++++++**+++++++++++
************:,:+#++#######,,,,,,,,,,,,,,,,,,::,:::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::+++++++++++++++
************++++#****#####::::::::::::++++++++++::++++++++++++++++++++++++++++++++::++++++++++++++++++++++++**++++++++++++::::::::::::::++++++::::::::::::+++++
****************###*####**++++++++++++**++++++++++++++++::++::::::++++++++++++++++++++++++++++++++++++++::::::::++::++++++::::::++++++++++++++++++++++++++++++:
*****************####**#*+++++++::::::::++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++::::::::::::::++++++++++++++:::::::::::::::::::::::::::::::
######**##########**###*++++++++++++++++++++++++++::::::::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##############**********++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++
****++++++++++++++::++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++:::
++++++::::::::::::::::::::::::::::::::::::::::::::::::++++++++++**++++++++::::++++:+++++++++::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::,,,,,
::::::::::::::::::++::++++******++++:+++++++++++++++++++++++++++++::+:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::::::::+++
++++++++++++**++++++++++++++::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::++::::,,::::::::::::::::::::::::::::++***+::::::::+++
++++++++++++++++++::::::::::::,:::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,::,,,,,,,,,,:::::+:::::::::::::::::::::::::+*+:+,,:::+++++:::*****:::::::::
::::::::::::::,,,,,,,,,,::,,,,,,,,::::,,,,::,,,,::::,,::::::::::::::::,,::::::::::::+*+:::::::::::::::::::::::::::::::::::++++::::::::::::::,::+::+++++++++++++
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::+++::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::++:::::::::::::::::::::::::
$....................++:...,,,.................,,.....,....,..................................,......................,,,,,,,,............,,.,,,,,,,::+++:::::,,:
....................++:.....,,........,.......,,..,..,....,.................................................,,.....,,,::::,,,,.............,,,::,,,+*:++:::::::
....................++:.....,,...............,,,..,..,....,................................,,,......,,,,,,,,,,,,,,::::::+::::,,.,.......,,,,:::+:++:+++:+++:+++
.........,.,......,,++:,,,,,,,.......,.......,,,,.,..,....,.............................,,.,,,.....,,,,,,,::::::+:::+++++++:::,,,,,,,,,,::::::++++++++++::::,, 
,,,,,,,,...,......,,++:,,,:::::+,,,,,,,,,,,,,,::,::,,,,,,,,,............,,.,::..........,,,:,,,,,,::::::::+++++++:++++++++++++++++::+::+:::,,,..  ,,,.:,..,....
,,,,,,,,,,,,,,,,,,::++::::::::::,,,:::::::::::::,,,,,,::::,,,:::::::::::,,,,,,,,:,....,,,,,::::::,,,,,::::::,,,,:::::+++++++++::::::+:::::::+++++:,,,,:,,,,....
,,,,,,,,,,,,::::::::++::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,::::,,,,,,..,,.........  ...,,:::::::,. :+:,,,::::++++++,.,
,,,,,,,,,,,,,,::::::++::::,,,,,,,,,,,,::,,,,,:::,,,,::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,..,,,,::,,,,:::,..:::::+****+:*****#*+.::::++++++++::
,,,,,,,,,,,,,,,,,,,:++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,,,,,,,,,,,,,,,,,.. ,:::::::***+:*+:++++*#* :::::::,,,
,,,,,,,,,,,,,,,,,,,:++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,...*+:+:,*#****#*+:+*+++**+,,.,:::::
,,,,,,,,,,,,,,,,,,::+:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,......,,....,,,,,,,,,,,,,,,,,,.....+**######****#*****++*##*#**.,.,
,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,:,...........,,........................ ...................... +::*+*...
####*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:+:,.......,,,,,...........,,................................,. :..,..
**#*####:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++*,......,,,,:,......,,:,.,.,,,::,,,,,.,,,,,,..............,.#:#.+,.
*+:#+,*###+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++,,,..:+,,:+.##***###***#:,,,,,,,,:::,,.,,,,,:,,,,.,...,,:,,,,,,,
,::::::::+##+:##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++:,,..,.,.,*#*#*######**#*#,,,,,,,,,,,,,,,,,,,,:::::::,:,,:,:,.:,
++:::::*###*#**#**+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::,,,,,,,:*#**#########*****,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:
::::::,:++****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++*#********+***+***,,,,,,,,,,,,.........................
,+*+::,:++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++**+*++*:#*****#*........................:::,,.,...,,:
:,:#+:::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::+++++++:++*#########################################
::::#*::::::::::::::::,,,,,:+*#*#:....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::+++++++**#####################*********************
::++++++**++++++****++++..,+###*+.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:::::+++++++++++++++++++++++++++++++++++++++++++++++++
+:++******++++*********+:,+#######,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++
*++++******************:::*########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++::::++++++++++++++++::++++++++++++++++::::+++++++++++++++++++++
***********************+::*#####:+#*,,,,,,,,,,,,::,,,,::::::::::++++++++++++::::++++++++++++++++::::++++++::::++++++++++++++++++++++++++++++++++++++++++::++++:
***********************::+*++*#####*::::::::::::++++++++++++::++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++::::::++++++++++++++++++:::::::
************************+*##****###*++++::++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++::::::::::::::++++::::::::::::::+++++++++++++
********####****++++*******########*++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++::::::::++::++++++::::::++++++++++++++++++++++++++++:::::::::::
**********************##*####*****++++++++++++++++++++++++++++++++::::::::::::::::::::::++++::++++::::::::::++++++++::::++++:::::::::::::::::::::::::::::::::::
**##############################****++++++++++++++++++++++++++++::++++++::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
################******++++**++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++
*******+++++++++::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++**++++++++:+++++++++++++++++++++++::::+:::+::::::
::::::::::::::::::::::::::::::::::::::::::::::++::++::++++++++++++++++++::+:::++::::::::::::::::::::::::::::::::::::::::::::+:::::++++++:::::::,,,,,,:,,,,,,,::
::::::::::::::::++++++****++++++++++++++++++++++++++++::+++:::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::+++++***+::::
++++**********++++:::::::::+::::::::++::::::::::::,,,,::::,,,:::::::::::::::,,,,,,,,,,,,,,,,::,++:::::::::::::::::::::::::::::::::::++**++::::::::++::::++++++:
++++++++++::::::::::::::::::::::::::::::::::::::::,,::,,,,,,:::,,,,,,,,,,,,,,,,,::::,,::::::::::::::,,::::::::::::::+++:::,,::::::::::**++*+:::::::::::::::::::
::::::::::,,,,,,,,,,,,,,::,,,,::,,,,,,::::::::,,,,,,::::::::,::::::::::::+*+::::::::::::::::::::::::::::::::::++++::::::::::::::::::++*+++++++++++++::::::++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::++:::::::::::::::::,::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++:::::::::::::::::::::::::::::::::::
$.............++,...,,,........,.......,,::...................................................................,..,,,,................,,,,,,,,:,*+::::,,::::++::+
.............++,....,,........,,......,,,,,,,,,....,.................................,......................,,,,:::,,,............,,,,,:,,,,**:+::::::::::++++:
....,.......,++,....,,........,.......,,..,,........................................,:........,,,,,,,,,,,,,,::::::,:::,,.,.......,,,,,,++::+:::++++::++++++++++
..,.,.,....,,++,,,,,,,,.......,.....,.,,..,,....................................,,..,:......,,,,,,::::::::,:::++:::+:::,,,...,..,::::::++:++++++++++++:,,,:++++
,,........,,:++,,,,,::::,,,,,,,,,,,,::::,:::,,,,,,,,,,..........,,,,.:,,,,......,,,,::,,,,::::,:::++++++::++++++++++++++++::++++::++++++:,.,,,.:...............
,,,,,,:::::::++:::::::::::,:::::::::::::::+::::::::,,,::::::::,,,,::,,,,,,,,,,,,,,,,::::::,,....,,,,,,,,,,,:,:++++++++::::::::::,,,,::::::::,,.:...............
,,,,,,:::::::++:::::::::::::::::::::::::::::::::::::::::::,,,,,:::,,:,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,::+++++++++:, .++++++,.,,,,,,,,
,,,,,,,,:::::++,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,..............,,.,,,,,::::,,,,,:*,..::::::+***:::+++**#+.:*+:::::+*++
,,,,,,,,,,,:+++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,.......,,,,,,,,,,,,::::..,,,,:::+::***++:++++**#*..,:::,,:
,,,,,,,,,,,,++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,,,,,..........,,,,,,,,,,,,....::::+:+##*****++++++++**,: ,:::
,,,,,,,,,,,:++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................,....,,....,,,,,,,,,,,,,,,,....+***#####****##***++++*#**#+:. 
,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,.....,,,,.,................................................*:+*+:.
,,,,,:**####*:,:,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::+++,.......,,,,,.......,,.,,..,.,.. ,,.......................,,***,.
,,,:+*##**#*###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:++++++*+:..,....,,,,:,,,,,**++*:,.,,,,:,:,,,,,:,:,,,............,.:,,,,,,
,::+++::*:**:+####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::++++++*:,,,:,,*,:+,##*********##:,,,,....,,,,,,,,,:::,,,,,,,..,.,....,
,,,,,++::::::::::##*:#**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++,,,,,,,,,*#***#######***#:,,,,,,,.,,,,.,.,,,,.,,,:::::,,,:,:,:
,,:++:++++::::**##***##***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::,,,,:**##*#*#**###****#,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,+*:,,::,:,,:++***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++********##+****#****#:,,.............................,...
#*#:,,,,::#+,,::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++*++*******+##+++#*#:....................,,,,:::+**#####
+:,,,,,,:,:#+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++*#*#######################################
,,,,,,::::::*+::::::,,::::,,,,,,,:+##*#:,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::+++****######************++++++++++++++*********
,,::::++::++++****++**********,,,+###**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
,:**++++++++******++*********+,,:*######,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++**+
+*********+++***************+*+++########,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++++::::++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++
*###************************+++++#######*+,,,,,,,,::::::::++++++++++++++::::++++++++++++++++::++++++++::++++++++++++++++++++++++++++**++++++++++++::::++::+++++
*****************************+:++**######*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++++++++::::::::+++
****#****************************#*###****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::++++++++::::::::::::++++++++++++++++++:
##******************++***********#,###***+++::::++++++++++++++++++++++++++++++++++++++++++++::::::::++++++++::::::::++++++++++++++++++++++++++++:::::::::::::::
#*##*#************###############****#**++++++++++++++++++++++::::::::::::::::::::::++::::++++::::::::::++++++++++::::++::::::::::::::::::::::::,,,,:::::::::::
*####****#########################******++++++++++++++++++++++++++++::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####**############**********++++++++++++++++++++::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++::+++++
####*****+++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++*+++++****++++++++++++++::++:::::::::
::::::++++++::::::::::::::::::::::::::::::::++++::++++++++**++++++++::++::::::::::::::::::::::++++::::::::::::::::::+:::::++++++++:::::::::,:,,,::,,,::::::::::
::::::::::::::++++********++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::,,,,,::::++++:++++::::::::::::
++**++**++++++::::::::::::++++++:::::::::::,,,,,:::,::::::::::::::::::,,,,,,,,,,,,,,,,,:++::,,,,::::::::::::::::::::::::::::::++++::::::::::::::::++++++:::::::
+++++:::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,,,,,,,,,,,,,,,::,,,,::::::::::::,,,,:::::::::::::++:::,,,,::::::::++++++::::::+:::::::::::::+::::::
::::::::,,,,,,,,::,,,,::,,,,,,::::::::::,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::+***+:+++++++++++::::::++:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++
$.,++,...,,,...................,.,..,......................................,......................,....,,..............,..,,,.,,,,,:*:,::,,,,,,,:::::::,,,,.....
.,++,....,,.........,,,,,,,,,,,,,,,,,,,,,.................................,......................,,,,,:,,,,...........,,,,,,::,,,+++:::::,:::::+::::::::,,,,,..
.,++,....,.................,,..,,..,....................................,,:.........,,,,,,,,,,,,,,:::::::::,..........,,,,,,+:::+:::++++::++++++++++++::,,,:,,.
,:++,,,,,,.........,.......,,,.,,..,....,.............................,,.,:.......,,,,,,:::::::,::++::+:::::,,,......,::,:++++:+++++++++++++++++++++++::,::+,,+
::++,,,,,::::,::,,,,....,,,::,,::,,,,,,,,,..........................,,,,,,:..,,,::::,,:::::::::::+++++:::::::::::::::::::++++**:,,...................,,.....,,,
,:+:::::::::::,,,:::::::::::::::::::::::,,,,::::,,::,,::,,:,::::::::::::::+:::::,,,,,,,,....,,...,,,,,::::::::::::::+:,,:,::,,,,....................:***+++++:,
,:++:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........::::++*********+...,:*******+**
,::+,,,,,,,,,,,,,,::::::,,,,,,.,,,,,::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,:::::::::+..,:::::++****:::::+*#:.:+++*+:+*
,::+::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,......,,,,,,,,,:::::,..,:::,:,+:+:##*:+++*++*#+.,:,:,
,:+:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,......,,,,,,,,,,,:::::,...++::::++********++******++,.,
,:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,.......................,,,:,,,,,......+++++**++++++++++++:::++:,,,
,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,.....,,,,,,,..............................................,,.,.
########*:,,,,,,*#####*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+::::::::.......,,,,,...,,.,,,,,,,,,,::,.. ,::,:,................,:,+**
,,::::::,,,,,,+:##****###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++**++:::,,...,,::,,,,*##*****#+.,,,,,,,:,::.,:,,,,,..........,,*+**+
,::::,,,,,,,:::+:+*,#+::###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++***++:,,,::++:,,+******##*****#,,,,,,,,,,.,:::,:,::,,:,.::,,:,,,,,
+:,,,,,,,,,,,,.,+++::::::::##+#+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++*+++:,,,,,,,,,*#***###*###**#*#:,,,,,,,,,,,,..,,,,,,..,,:::::::::
,,,,,,,:,,,,,,:*::*+:::::++**###*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++::::::+**#*******#*******:,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,
,,,:**+:,,,,,,,+::,:::,,+++**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++++******#****+*++:*#***#+.......................,,,::.:,,,
..,,,,,,,,:###:,,,,:+#+,,:+:,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++***++*****++*+*****#*+*,,,,::::::++++++**************###
,,,,,,,,,,,,:,,,::,,::#*,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++**++**#######################################
 ..,,,,,,,,,,,,,:::::::::::::::::::::::,,:*#*,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++******++++++++++**++++++++++++********++***
,,,,,,,,,,,,,,:+++++:++*************+**:,+####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
::::,,::++:::+**+++*+++**************+:,,+,#####,,,,,,,,,,,,,,,,::::::::::::::::::::+:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++::::::::::+*#++*+**+**************+++++#######*,,,,,::::::::::++++++++::::::++++++++::++++++++++++++++::++++++++++++++::::+++++++++++++++++++++++++++++++++++
++++:::::::+*##*********************+*::::*######:::++++++++++++::::::++++::++++++++::++++++::::::::++++++++++++++++++++++++**++++++++++++::::++::++++++:::::::
+++++++++++**#************************+++***#####+++++++++++++++++::::++++++++::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++::::::::::+++++++++++
:++++++++++************************++****#*###**+:++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::++++::::::::::::::++++++++++++++++++:::::::::
++++:++++++**#**##***********************#####**++++++++++++++++++++++++++++++++++++::::::::::::++++::::::::::::++++++++++++++++++++++++:::::::::::::::::::::::
++++++++**++*#*##+******########**########****++**++++++++++::++++::::::++::::++::::++++::::::::::++++++++::++++++:::::::::::::::::::::::::::::::::::::::::::::
++++++++**++##*##+################****++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*******#**######*#####******++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::+++++++++++++
**+*******++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++**++++++++******+++++++++++++++:++::::++:::::::::
::++++::+:::::::::::::::::::::::::::::::::::++++++++++++++++++++::::::::::++++++::::::++::::::::::::::::::++::::+++++++:::+:::::::::,:::::::,,::::::::::::::++:
::::::++::+++++++*****++++++++++++****++**++++++++::::++::::::::::::::::,,::::::,:::::,,,,,,::,,::::::::::::::::::::,,,,,,,,::::+*:::+++:::::::::::::::::::::::
**++++++++++++++++++++++::::::::::::::::::::::,,::::::::::::,:::,,,,,,,,::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::++:::::
++::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,::::::::::::::::::::::::::,,::::++:+:::::::++:::::::::::++:::::::::::::::::
::,,,,::,,,:::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,::::::::::::+++++:::::::::::::::::::::::::::++::++:+****++++*+++:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++:::::::::::::::::::
::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::+***:::::+*+:::
$,.........,........................................................................,..................,,,.,,,,,,*+:::,,,,,,:+:::::,,..,,.......,,,:::++++++:,,,
,...............,..............................................................,,,,,,,,,............,,,,::,,,:,+++::::,,::::+::::::::,,,,......,,,,,:++*+:::::,
,.....,.,,..,,.........................................,..........,,,,,,,,,,,,,,:::::,::,...........,,,,,:::,++::+::::::::::++++++::,,,::,....,,,::::+**:::::::
,.......,,..,,..,.....................................,,......,,,,,,::::,,::,:::::::::::,,,,......,,,,:::+++*+++++++++:+++++++++++++::::+,,:::::::::++***+::,::
,,,,,,,,,,,,:,,,.....,.............................,.,,,...,,,,,::::++++++::::::++++++::::,,,,::,,::+::::++++++:,,  ..........::++++::,,,,,,.,,,,,,,,,,,,,....,
,,,,,,::::,:+:,,,,,,,,,,,,::,,,,,,,,,,,:,,,,...,::,:::::,,,::+++::,,::::+:,,,,,,,,::::::::,,,,,,::::,,,,,,,,,,,,.,...............................,,,,,,,,,,,,::
::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++:::::,,,,,,,::::,,,,,,,,,,,,,,....,,,,,,,,,,,,.,,,,,...,,,,,,,,..::+++++**####***#:.,:::::+**
::::::,,,,,,::::,,,,:::::::,,,,,::::::::::,,:,,,:,,,,,,,,,,,,,,,,,..........,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::..+***::+++*##*+:::+*#*,,:::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,............,,,,,,,,::...*+*::::,*:+#*##+::::+*#*..
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,::,,::...,**::::+***#**##**+++**#*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.....,,............,..............................  .............,:++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+........,,,,...........,..,...............................*
#######################*,,,,,,+#*####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++::,,,...,,,,,,,...,:::,..,,,,::,,,,,:::,,::,..............:*
,,,,,,,,,,,,,,,,,,::::,,,,,,,++#*#+###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++*:,,,:,,,,:::************:.,,,,,,,,::,,,,,,,::,:,.,....,*+
::,,,,,,,,,,,,,,,:+:,,,,,,,,::+++,*,::*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++:,,,,,,,,:*****#####******,,,,,,,,,,,,,,,,,,,:,:::::::,,,
::::,,,,,,,:::::+:,,,,,,,,,,,,:::+::::***#+##**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++::::,,,,+***##****#####**#,.,,,,,,,,,,,,,,,,,,,,,,,,,,:,:
,,,,,,,,,,,,,,,,,,,,,,:,,,:+*++#+,,,,:++**#+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++******###**++**+**+**#*......................... .,..
,,,,,,,,,,,,,,,,,,:+:::,,,,::,,*,,:*,:+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++*++*******#***#+*#+**+*##*.......................,:::,,,
::,,::::,,,,,,+:,...,,,,,,,+#:,,,,,+#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++*********++++**###################################
::,,::::::::::,,....,,.,,,::,,,,,::,:#::::,,,,,:::,,,:*#+,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,:::::::::::+++++++*******#######*****************************
::::::::::++::::::,,,,,,,,,,.,,,::::++***********+,,:*#**,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::++++++++++++++++++++++++++++++**************++++****++**+++
::::::+:::::::::::::::,,,,,,,,+*+++++*********++++:,*####*::::::::,,,,:::,::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::,+**+++*+*********++++::###*##*:::::::::::++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++**+++++++++++++++++++++++++++
::::::::::::++******::::::::+**++++*+*******++++++++######*+::++++++++::::++++++++++++++++++++++++++++++::::++++++++**+++++++++++++++++++++++++++++++++++++++++
::::::::::::::::++++++++:::++*******+*******++++++++***##**+++++++++++::::++++++::::++++::++++++++++++++++++++++++++++++++::::++++::++++++++::::++::++++++:::::
::::::::::::::::::++++++++++*#**+*+*+**********++****#*#***+++++::++++++++++++++++++++++++++++**++++++::++++++++++++++++++::::::::::::++++++::++++++++:::::::::
++++::::::::++::::::+++++++*************++**********###***++++++++++++++++++++++++++::::++++::::::::++++++::::::::::::++++++++++++++++++::::::::::++++:::::::::
+++++++++++++++++++++++++***#*#*#************######*****#*++++++++++++::::::::::::++++::::::::::::++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::
++++++++++++++++:++++++++***##**+*############******++++++++++++++++::::++++++::::++++++++++++++++::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::
++::::++++++:+++++**+++**++*###**###******++++++++++++++++++++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++++********##******++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++***********
::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++******++++++++++++**++++++++++++::::++++++:::+::+::::::::
::::::::::::::::::::::::::::::::::::::::++:::+++++++++++++++++:::::+++++::::::::++::::++++:::+::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++******++++++++++++++++++**++++::++++++::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,::+:::+++::::::::::::::::::::::::::::::+:::::::::::
++++++++++++++++::+++:::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+:::::::::::::::::::::::::::::::::::::::++::::::::,,:::::::::
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,:,,,,,,::::::::::::::::::::,:::::,:::++++:::::++:++:::::::::::++::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,:::::::::+**:+::::::::::::::::::::::::::::::::+++++:+:+****+++::::,::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::+++++::::::::++:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::+++::::::::::::,,::::::::::,,:::::::::::::::::::::::::::::::+*++:::::+++::::::::::::::::::::::
$............................................................................,,..............,..,,,.,,,,,,++,::,,,,,,::::::::,,..,.......,,::::++++++:,,,:,.,,,,
..,...,..,....,.........................................................,,,,,,,,,...........,,.,,,,,,,::+++::::,,:::::::::::::,,........,,,,,:***+::,,,,:,,,:,,
.,,...,..,....,..................................,..........,,,,,,,,,,,,,:::::,:,,..........,,,,,,+:,,:*+:++:::::::::+::+:+:::,,,,,....,,,,:::***+::::::::,::::
.,,,.,,..,....,.............................,,.,,,......,,,,,,,,,,,,:,::++::+::::,,,,.......,,,,::+++++:+++:++++++++++++++++::::::,,:,,,:::::++**++::,:::::++::
,,::,,,,,,..,,,,.....,......................,,,,,,.,.,,,::::::::::::+:::++++++::::,,,,.,,,.,,:::++:++:+:+:,.    .......:+++++:::.:,,,,,,,,,,::,,,,,,,,.,,...,..
:::,,,,,,,,,,,,,,,,,,,,,,,..,,.,,:......,,,,,,,:,,,,:::::::,::+++++,.,:::::+++++++::::::::::::,,......,,..,...............,,::,,....... ........ ..,,,::+:,,,,,
,,,,,,,,,,,,,,,,,:::,,,,:,,,,,,,,,,,,,..,,,,,,,,,,,,::::::++::::,,,,,,,,,:::::::,,,,,,,,,,..,,,,::,,,,,,..................,,::::,,,..:+*****#***###**#+.:****+:
::,,,,,,,,,,,,::::::,,,,,,::::::::,,,:,,::,,,,,,,,,,,,,,,,,,,,,.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:..:+**++*+:,*#**+:++*#*,.,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,::+...+**+:::::+,#*##***+*++**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,,,:,,,::...,+*++++++###***##**+++##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...,,,...........,............................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,::::++........,,,,...........,..,..............................
#############################*,,,,,,***##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,::::::++:+:,,...,,,,,,,,,..:++*+,,,,,,::,,,,,:,:,:,,,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:+**#:###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,::::,,:+++++++:,,,:::+::,+************:,,,,,,,,,,,,,,,,,:,+,:,,:..,,,
,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,:++, *::,+#*,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++:,,,,,,,,:*****#######**#*,,,,,,,,,,,,.,,,,,,,::::::,:,
::::::::::::,,,,::+:::+:,,,,,,,,,,:,::+:::+**+#:##**:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++:+++::::::::+*#*#**#**#**#***#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+**:*#::,,:+****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::+++++++++******###*##+**++#+****.........................,..
:::,,,,,,,,,,,,,,,,,,,,,:+:,::,,,::,+*,,*+:+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++*********#****##+##**###*.................,,,,,,::++*
::,,,,,,,,::,,,,:,,:++,,..,,,,,,,:*:,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++*++++*****++***##################################
,,,,::::::::,,::::::.....,,,,,,,,,,,,,,::,**::,,,,:::::,,::##,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,:::::::::++++++++++++******************++******++++***********
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,:+:+*******++**:,:*##*:,,,,,,,,,,,,,,,,::::::::::::,,::::++++++++++++++++++++++++++++******++++**++++**++******++++++**+
::::::::,:::::::::::::::::::,,,,,,,:++::*++*******++++:,+*+##*:,::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+
:::::::::::::::::::::::::::::::::::++++++++*******+++++++######++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::++*****+:::::::+***++**+*****++++++:::######+++::::++++++++++++++++++::++++++++::++::++++++**+++++++++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::+++++++++++:+*****+********++++++++**#####*::::++++++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::+++
::::::::::::::::::::::++++++++++++******+***********:+***#*#***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::++++++++::++++++++:::::::::::::
::::::::::::::::::::::++++++++++++**********************###***++++++++++++++++++::::::::::::++++++++++::::::::::::++++++++++++++++::::::::::++++++:::::::::::::
::::++++++++::::++::+++++++++++*++*#*,#*******##########******++++++::++::::++++++::::::::::::::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::
::+++++:::::++++++++++++++:++**+++*#***##########***++++++**++++++::++++++++::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++::::::::+++++++++++++++******####*##******++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++++++++++****++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::++++++++++++++*****************
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++****++++:+++++*+++++++++++++::++++++++:++++++++::::::::::::
::::::::::::::::::::::::::::::::::::::::::++++++++++++++::++++++++::++::++++:::+++++::+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++:+++++++::::::::::::::,,::::::::::::::::::::::::::::::++::::::::::,,,,,,,,::::,:++::::::::::::::::::::::::::::::::::++:::::::::::::
++++++++++::::+:::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++:::::::::::::::++::::::::::::::::::::::++:::::::::::::::::::::::::
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,:::,,,,,,::::::::::::::::::,,::::::::++:+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,::::,,,,::::,,,,,,,,,,::::,,:::::*+:::,:::::::::::::::::::++++::::::++++::::+++***+:::::::::::::++**:::::::::::::::::::::::::::::::::::::::::::::
::,,,,::::::::::,:::::::::::::**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++:::::::++++:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:*++:::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::+*::::::::+::::::::::::::::::::::::::::::
$......................................,...........................,...............,..,:..,,,,,:*::::,,,,,,:+:::::,....,.......,,:::++++++::,,,,,,,,:::::::,,,,:
......................................,......................,,,,,,,,,,...........,,.,,,,,,,::++::::,,,::::+::::::,,,,,.......,,,,:+***+::,,,::,,,:,:,,,,:,,:::
......................................,...............,,,,..,,,,:::,,,,...........,,,,,,::,,:*:++::::::::::+:+::::::,,,,....,,,,:::+***+::,:,::,,::::::::::::::
.....................................,:.......,,,,,,,,,,,,,,:::::::::::,.,,.......,,,,::+:++:::++++++:++::++::+++:::,,:,,,,,,,::::++**++::::,,:,::::::+++++++++
,,,,..............................,,,,,...,,,,,,,,::::::::::++++::++::::::,,,,,,.,::::::++++::++::....     ,+:+++:::,:+:,:::::,,+++:::++:,,,,,,,,,++,,,::,,,,,,
,,,,,,..,,,,,,.......,:,......,,,,,,,,:.,,,,:::::::+++::::,:::::::::::::::::::::::::,.... ..,,.,................,,,,,,,,,,,,,,.........................,,,.,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,..,,,::,,,::::::::::,,,,,,,,,,,,::::::::::::::,,,,,,:::::::,,,.,................::,,,,,,,,,,,,,,:::::,..+*******######***+..,,,
::::::::,,,,,,,,::::::,,,,,,,:::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:,,,,,,,,,,,,,,.......,,.,,,..,,,,,,,,,,,,,::::+,..+*###++*:,:##*++::*#*.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,::+++. ,****:::::+,*##*#*+::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,,::,,,:,...:+************###***+
,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,.,,,...........................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+,.......,,,,.......,,..,..,,,.........................
,,+###***#****************##########*,,,,,,**####,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::::+++++::,..,,,,,,:.,.,+*****+:.,,,,,,,,:,:,:,::,,,.,,..,,...
::,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::::,,,,,,*++*:###*,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,::::+*****+:,:::++*+,:************#+,,,,,,,,,,,,,,,:::::,,,,.,,
,,,,,,,,,:::::,,,,,,,,,,,,,,,:::+:,,,,,,,:::+:+:::*#+,##:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++:,,,,,,,,+*****#######**#*:,,,,,,,,,,,,,,,,,,.,,,,:,
::::::::::::::::::::::::::++::::,,,,,,,,,,,,:+::+#*+#+##***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++*++::::::,*****************#,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**+:,,**+,:+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++*********#*##**#+++*+*#***#:.......................,.
,,,,,,,,:::,,,,,,,,,,,,,,,,,,,.:,,,,:,,,+*++#:,**:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++***********+**+*#++*#+*:..,,,,::::::+++++++++++++
,,,,,,,,,,,,::::::::::::,,,,:,,....,,,,,,:,,,:,,*#,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++*******#*###############################
,,,,,,,,,,,,,,,,,,:::::::::,.....,,,,,,,,,,,,,:::::,:::::::::,:*#:,,,,::::::::::::::::,,,,,,,,::::::::::++++++++++++++************++++++++++++++**++********+++
,,,,,,:::::::::::::::::::,,,::::,,,,,,,,,,,,::++++****+++++**:*###*,,,::::::::::::::::::::::+:++++++++++++++++**++++++++++++++++**++++++++++++******+++++++++++
,,,,,,,,:::::::::::::::::::::::::::::::::::+++:*++****++++++,,#####*::::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++++++++++
,,,,,,,,::::::::::::::::::++++++:::::::::::*++++++****++++++:,######+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::,,,,,,::::::::::::::::::::::::::::::::::**++*+++****+++++*:++*####*+++++++++++::++++++++++::++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++:::::
::::,,::::::::::::::::::::::::++::::++++:+*****+++****++++++++#*##**+:::++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::++++++++:::
::::::::::::::::::::::::++::::++:::::+++++*****++******++++***#.#***++++++++++++++++++++++++++::::++++++++++++++::::::::++++++++::++++++:::::::::::::::::::::::
:::::::::::::::++++:::++++++++++::++:+++*+#****************#********++++::::++::++++::++++++++::::::::::::++++++++++++++::::::::::::++++++:::::::::::::::::::::
::::::::::::++++++++:::+++++++++++++:+++++#*#***###########*****++++++++++++::::::::::::++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++++::::::::+++++++++***+++*##**#####*******++++++++++++++++++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::++:::::::::::+++++++*******###**++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::
::::::::::::::::::::::++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++*******************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++****++++++++++:+++++++++++++++++*+++++::+++++:::::::::::+++
::::::::::::::::::::::::::::::::::::::::++++++++:++++++++++++++++++++++++:++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::
++++++**++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::,,,,,:,,,:::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::
++++::::::::::::::::::::,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+*:::::::::::::::+*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::+++++++::::::+:::::::::::+:::::::::::::,:::::::::::::::,,,,:::::::::::::::::::::::
,,::,,,,,,,,,,,,,,::,,,,,,::::::,,::++::::,:::::::::::::::::::***+::,:::++*+:::+****++::::::::::::::+**+::::::::::::::::::::::::::::++++::::::::::::::::::::,,,
,,,,,,:::::::::::::+*+::::::::::::::::::::::::::::::::::::++::::::::::::::,,::::::::++++++++**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::
$..........................................................,.................,,,.,,,,,:++,,:,,,,,,:+::::,,,...........,,:::++++::::,,,,,,,,,:::::::,,,:::::,,,,,
.....................................................,..,,,,.............,..,,,,,,,,::++::::,,::::::::::,,,,,,.......,,,::+*+*++::,,,:,,.:,,,,,,:,,:::::::,,:::
....................................................,,,,:::,,,............,,,,,:,,,,*+:+::::::::::+:++::::,,,,,,....,,,,:::***+::::,,:,,::::::::::::::+:::,,:::
............................,,........,,,,,,,,,,,,,,:::::::,::,,.,.......,,,,,,::+++:::+::+:::++++++++++:::,,::,,,,,,,:::+:+*++,::+:::,:::::++++++++::+:::::::,
.........................,,,,,.....,,,,,,,::::::::::::::::::::::,,.,,,,,,::::::+++:+++++++++::.. .+:::++:::::::,::,,::,:++:++*+:,,,,::::+++:,,,+,,,,+++,::..,,.
,,..........,,,..........,,,,,..,,,,,,::::::::::::::::::::::::::::::::::::::::::,..,,..,................,,,,,,,,,,,,........,,,,,,,,,,... ..  .........,,,,,,,,
,,,,,,,,,,,,,,,,,,,,..,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,:::::::,,,,,...............,,,,,,,,,,,,,........,,.,:+::::..:+****###*####***+..,,,
,,,,,,,,,:::,,,,,,,,::,,,,,,,,,,,,:::::::::::,..,:::,,,,,,,,,,,,::::::::,,,,::,,,,,,,,,:::,,,,.........,,,,,,,,,,,,,,,......,,,,,:::+*+..+*###,,,,,,+##*:::*#*,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,:++++...****::::::++#####+::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,:::,::...:+**++++******####***
,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,::,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,........................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::.......,,,,.......,,,,,..,,,.........................
,,,,.+##********++++++++++****#########:,,,,,***###:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++,::,,...,,,,,,.:*******+,,,,,,,::,,,,,,,::,,..,..,....
,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,+:+#,####,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++*:,,:::+*+,,**********#*#*,,,,,,,,,,,,,,,:::::,,.:,,,
,,+,,,,,,,,,,,,,::,,,,,,,,,,,,,,::+:,,,,,,,,::::+::::#+,#+#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++:,,,,,,,,+****########**#*,,,..,,,,,,,,,,,,,,,,,,::,
,,:::::::::::::::::::::::::::+:+::,,,,,,,,,,:,:+::*#**#*##*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++:::::::**#***##***###***#,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**:,,,+*:,,+++*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::++*********##**##++:###***#:..................,,,,.,.
,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,:,:,,,:,,,,*#+*:,+#:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++*****++*#**+**++*+***++:::::+++++++++++++++++++++
,,,,,,,,,,::::::::::::::::::,,:+,,,.,,,,,,,,,,,,:,+#::,,,,::,,,,,:*:,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++********###############################
,,,,,,,,,,,,,,,,,,,,,,,,,,::::,.....,,,,,,,,,,,,,:::::::++*++:.,*##:::::::::::::,,,,,,,,::::::::::::++++++++++++**++***********+++++++++++++******++++++++++++*
,,,,,,::::::::::::::,,,::::::::::,::,,,,,,,,,,::::++****++++++::####*:::::::::::::::::++++++++++++++++++++++++++++++++**++++++++++++++++****++****+++++++++++++
,,,,,,,,::::::::::::::::::::::::::::::::::::++++:+++****++++++:+#####*++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++++++++++++++++++++++++++
,,,,,,,,,,::::::::::::::::++++****+++::::::::+*+++++****+++++++*#####*++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++****+++
,,,,,,,,,,::::::::::::::::::::::::::++::::::+**+*+*+****++++++:+*#####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::
::,,::::::::::::::::::::::::::::::::::::++:++*++*+********++++*#+##*#*++::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++::::::::++++++++:::::::::
:::::::::::::::::::::::::::::::::::::::::+++*****+*************##****+**++++++++++++++++::::++++++++++++++::::::::++++++++++++++++:::::::::::::::::::::::::::::
::::::::::::::::++++::::++++::++++++::::+++*+*:**********#####****#*++++++++++++++++++++::::::::::++++++++++++++++::::::::::::::++++:::::::::::::::::::::::::::
::::::::::::::++++++::::+++++++++++++++++++++****#########********++++++::::::::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++++::++++++++++++++++*+**+*##**##****++++++++++++++++++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++::::++++*++*******++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++
:::::::::::::::::::::::::+++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++*********************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++**++++++++::++++++++++++**+++++*++++++++++++++++::+++++++++++++++
::::::::::::::::::::::::::::::::::++::::++++++**++++++++++++++++:+++++++++++::::::,,::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::++::::::::::::+++
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:::::::::+++::+***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::,,,,,,,,,,,,,,::::++,,::::::::::::::::::::::::::::::::+++**+::::::::::::++++::::::::::::::::::::::,,::::::::,,,,::::::::::::::::::::::::::::,,,,,
,,,,,,,,::::,,,,::::,,:::::::::+:::::::::::::::::::::+++::::::::+++::::*++*+::::::::::::::::++::++::::::::::::::::::::::++::++++++::::::::::::::::::,,,,,,,,,,,
,,,,,,::,:::::::::::::::::::::++::::::::::::::::+:::::::::::::::,,::::++++:++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::++::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::
$.................,............................................,,,,.,,,,,,:+,,,,,.,,,,:::::,,............,,::::+++++::,:,,,,,,,::::::,,,,::::,,,,,,,:..,:.......
.................,..........................,,.................,,,.,,,,,,++::::,,,,,::::::::,,,,,.......,,,::+++*+++,,,,:,,,:,:,,,,:,,::::::::,:,,::,,,:,......
.................,......................,,,:::,,,,............,,,,::,,,:*:+:::::,::::+::::::::,,,,,.....,,,,::***++:::,,:,,,:,::,:::,:+::::,,,,,:::+:::+,......
..............,,,,......,,,,,,,,,,,,,,,,,:::::::::,,,.......,,,,,,::::+:::++::+::+:::+++::::::,,::,,...,,,,::+**++:::::::::::::::++++++::::::,:::,:+:::+,,,,...
............,,,,,,.....,,,,,,,,,,,,,,,,:::::::::::,,,...,,,.:::::::+++++++++::++++::::::++::::,:::,,,,,,::::::::++::,,,:::::+++:,:::++:+++::+:..:::+::,:,,.....
,,..........,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::+:::+::,,,..,................,,,,,..,,,,,,,,..........,,,,::,,,,,,,,,,....... ........ ..,,:++++:
,,,,,,,,,,,,,,,:::,,,,.....,,,,,,,,,,,,,,,::::::::::::::::::,,:::::::,,,,.:...............,,::::,,,,,,,,.......,....,,,,,,,,,,,,,:++++:,.+**############*#: ,,,
,,,,,,,,::,,,,,,:,,,:::::::::::::,.,::,,,,,,,,,,,,,,,,,,,:::,,::::,,,,,,,,::::::..,,,,,,,,,,::,,,,,,,,,,.................,,,...,,::::::,..**##*,,,,::+##*+++***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,:++++:..,****:::+:+**#####+:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,,,,::,,,:,.. +************#*##***
,,::,,,,,,,,,,,,,,................,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,........,,...........................................
,,,,,,,,,,,,,,::++++******++++++::::,,,,,,,,,,,,,:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++......,,,,,......,,,,,,,,,,:,.,.,,,.,,,.............
,,,,,,,,,:**++::,,,,,,,,,,,,,,,,,,::+**###,,,,,,***###:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:.,,,..,:.,,+*******#*:,,,,,,,:,,:.,:,,,...,,,.,.,.
,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:++#:*###,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++:,,,,,,,,,+*****###****#+,,,,,,,,,.,,,:,::::,,,,,::
,,,,,::,,,,,,:::,,,,::,,,,,,,,,,,,::::::,,,,,,,,::+::::,#*,*#++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++*+,,,,,,,:*#***#######**##*,,,,,,,,..,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::+:::,,,,,,,,,,,,,:+:::++++###*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++*++++++++**#**#******##***#,,,,,,,,:,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.:*+,,,,.:+:*,+:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**++++***********+*+#:*#*+***#......,,...............:.
,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,:,,,,,,,,:###,,,:#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++****+++***++++*+**#*++++**++++++++++++*********
::::,,::::::::::::::,,:::::::::::::,....,,,,,,,,,,,:,:#:,,,,:::::,,+##,,,,,,,,,,,,::::::::::::::::::::::++++::++++::::+++++*****###############################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,...,,.,,,,..,,,,,:::+++******:.+###::,,::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++
,,,,::::::,,,,::::::::::,,,:::::,,::,,,,,,::,,,,,+:::++***+++++++,*####*::::++++++++++++++++++++++++++++++++++++++++++++++++++**++******+++++++++++++++++++++++
,,,,,,::,,,,,,,,::::::::::::::::::::::::::::::::+++::++***++++++++######++++++++++++++++++++++++++++++++++++**********++++++++++++++++++++++++++++++++++++++++*
,,,,,,::::,,,,,,:::::::::::::::::::::+++::::::::**+++++***++++++,:+##+***+++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++****++++++++::::+++
,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::+**+++*****+++++++++*####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::++++++:::::
,,,,,,:::::::::::::::::::::::::::::::::::::++++**++*++******+++***####****++++++++++++++++++++++++++::::++++++++++++++++++++::::::::++++++:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::++**++**++************#+*#*+++++++++++++++++++++++::::::::++++++++++++++++++:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::++::::::::::::++:++*****#***############****++++++++++++::::++++++++++++++++++::::::::::::++++:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++++::::::::::::++++++**#**######****+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++++::::::::++:++++*+*###*********++++++++++++++++::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::::::::::::::::::::::::::::::++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::++++++++::+++++
::::::::::::::::::::::++++++++::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++*************************+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++*+++:+++++::++++++++++++++++++***+++++++++++++++++++++++++++++++++******+++++
::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::++:::::::::::+++++:::::::::::
++++::::::++::::+++++:::::::++++::::::::::::::::++::::+++++++:::::::,,,,::,,,,::,::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::,
::::::::,,::::::::::,,::,,,,,,,,,,::,,,,,,,,::::::,,,,::::,::,,,::::::++++++**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::,,::,,,,,,,,,,,,,:+:,,,,,,::::::,,::::::::::::::::::::+++*++::::::++::::::++++++::::::::::::::::,,::::::,,,,::,,::::::::::::::::::::::::::::,,,,,,,,,,,,:::::
,,,,::::::::::,:::::::::::::::::::::::::::::::,,::::::::::+*++*+::::::::::::::::+:::::::::::::::::::::::::::::::++++++::::::::::::::::::,,,,,,,,,,,,:::::::::::
,,,,::::::::::::++*++::::::::::::::::::::::::::::::::::::+**++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::
:::::::::::::::::::::+++::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::++++++:::
$..........................,................,,,,..,,,,,:+,,,,...,,:+++::,,,............,,,:++++++::,,,,,,,,,::::,:,,,,:::+:,,,,,,:,.,:,.........................
.....................,..,,,..................,,,,,:,,,:*::::,,,,:::+:::::,,,,,,.......,,:::++++++:,,,:,,,,,,,,,::,,,::::::::::,,+,,,+,.........................
.....................,,,,,,,,,,...........,,,,,::,,,:+++:::::,,::::+:::::::,,,,,......,,,,:+***+::::,:,,,:,:::,::,,:::::,,,,::::+:::+,.........................
........,,,,,,,,,,,,,,,,:::,::,,..........,,,,,,+:::+::++:+:::::::++++++:::,,,:,,...,,,,:::+**+:,:::,::,::::::::::::::+:::,:::,:*:::+,,,,..................,:::
....,,,,,,,,,,,,::,,::::::::,,,,,,....,..,::::++::::::++++++++++++++++++++::::::,:,,,:::+++++++:::,,::,,::::::::::::::,:::::,,++*+:::,,,::,,,,,,,,....,.,..,:::
.,,,,,,,::::::::::::::::::::::::,,,,::::,::+::::++::,.,,................,,..,,,,,,,,,,,,........,,..,,,,,,..,,,,..,,....,,..,,,,,,,,:,,,..........    . .. ..,,
::,,......,,....,,,,,,,,,,::::::,,::::::::,,,,,,,,,,,,,,................:::::::::,,,,,,,,,..,,,,,,.,,,,,,,,,..,,.................,,,,:++::+..+**##****######**,
:::::::::::::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::+:,,,,,,,,,,:::,..,,,,,,,,::::::+::::::,,,,,,,.,,,,,,,,,,,,,......................,,,,,::++**,.:*##**:,,::,,*##++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,:+++*,..*+###*::::,*#*###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,..................,,,,,,,::::,.....+***************
,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::..........,............,.........................
,,,,,,,,,,,,,,,:##############################+:,,,,,+*##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+,.....,,,,,......,,,,,,,,.,,,,,,,,,,,.,.........
,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+,,,,,,***#,###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,.,,,,,,,,+#***####**#,,,,,,,,,::,,,,,::,:,..,
,,,,,,,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,,,,::+:,,,,,,,::++,*:::*#:,**.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++:,,,,,,,,:*##*########*#:,,,,,,,,,,,.,,,,,,::::
,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,:::+:,,,,,,,,,,.,:+::+#*+#*##*#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++*+::::::,**##**##*####***#:,,,,..,,,,,,,,,,,,,,,
,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*:,*#,,,,+++*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:+++***********##+##+**+*#***#+..,,.................
,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,:,,,+*,#,,:#:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++**#****#***##+##*+###+....,,....,,.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,:.,:,,:#+,,,,,,,,,,,,,:#*,,,,,,,,,,,,,,,,:::::::::::::::::::::::+++++++++****+++**##########################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,..,,,,..,,,,,,::::::+++++++:,,*##*::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++******++++++++*
,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:,::,,::,,,,,,,,,,,,:,:++*****++++++:,:####+++++++++++++++++++++++++++++++++++++++++++****++++++++++**+++++++++++++++++++++++
,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::,,::::::::::++::+++***+++++++++:######++++++++++++++++++++++++++++++********+++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::++++++::::::,:*++++++*****++++++.+*#####++++++**********++++**++++++++++++++++++++++++++++++++++**++++++++++++++++++++++:
,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::++:::::::+*+++:*******+++++++++*###*++++++++++++++++++++++++++++++++++++++++++++++++**++++::++++++::::++++++:::::::::
,,,,,,,,,,,,,,,,::::::::::::,,,,,,::,:::::::::::+:+*:+++:+********+++***###***++++++++++++++++++++++++++++++++++++++++++::::::::::::++++++::++++++:::::::::::::
,,::::::::::,,,,:::::::::::::::::::::::::::::::::+**++++++***************+****++++++::::++++++++++++++++++::::::::::++++++:::::::::::::::::::::::::::::::::::::
,,::::::::::::::::::::::::::::::::::::::+++++::::+*#**#*****##############**++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::::::::::::::::::::::::::::::::++++++::::++*#**+#######***+++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::::::::::,,::::::::::::::::::::++++++++++***#******+*******++++++++++::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::
,,,,::,,::,,::,,,,,,::::::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++**************************++++**++++++++++++:::
::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::++++++++++++++**++++++++++***+++****+++++++++++++++++++++++++*******++++++++++++++:++::::::
::::::::::::::::::+++++++++++++++++*++++++**++++*+++++::++::::::::::::::::::::::::::,,,,,,,,,,::,,::::::::++::++++::::::+++++++++++++:::::++++++::::::::::++:::
+++++:::::++++++:::::::::::::+++++::+++++++:::::::::,,,,,:::,,:::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::++++++:::
,,,,::::::,,,,,,::::::,,::::::::::::,,,,,,,,,,,,::::+*::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::::+:::
:::,,,,,,,,,,,::::::::::::::::::::::::::+::::::::::::::::+::++++::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::
::,,:::::::::::::::::::::::,::,:::,,::::::++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,,,,,,,,,,,::::::::::::,,:::::::::::::::
+:::::::::::::::::::::::::::::++::::::+****+++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::++::::::::::::
::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,::::::::::::::::::++++::::+::::::::::::::
$....................................,,.,..,,,,::::,,,...,,:+:::,,,,,...........,::::++++:::,,,,,,,,,::,,,,:,,,,:::::,,,,,::..,.................................
..................,,..................,,,.,,,,,:*:::,,.,,,::+:::::,,..,,.......,,:::++*+++:,,,,:,,,,,:,,:::,,:::::::,::,,:,,,:.................................
..............,,,,,,,,,,............,,,,,:,,,:++++::::,,::::+:::::::,,,,,......,,,,:+***+:::,,::,,:,,:,,::,,::::::,,,,:::::::+,................................
..,,,,,,,,,,,,,,,,::,,:,,..........,,,,,,::::+:::+::::::::::++++:::::,,::,....,,,:::+*++:,::::,:,::::::::::::::::::,,::,:+:::+.,,,...................,,,,,,,,,,
,,,,,,,,,,:,::::::::::,,,,,,....,,,,:::::++:+:::+:::++:++++++:++++:::::::,:,::,:::++++**++:::,:,::::::::::::::::::,,::,,:::::+,,,,,+..,,,,,,..,,..,,,:::::::,,,
::::::::::::::::::::::::,,,,,,::,,::::::::++::,...............,,,:,,,,,.,,,,,,,,,,,,,,,,,,,,,,...,,,....,,................,,,:,,::::,,,,,,,...........  ..   .:
,..,....,,......,,::::::,,,,:::::::,,:,,,,,,,,,.,,..............,:::::::,,,,,,,,,,,,.,,,,,,,,,::,,,,,,,,,,..................,,,,,,,,,,,,++:,:..+*####**++#####*
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,..,,,,,,.:+:::::::::::,,,,,,.,,,,,,,::::,,,,..........................,,,,,,,,,,:++**,..+*##*:,*::::*#*
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,::::,,:::::::::,:::::,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,,:*+++,..+*###*#+,,,:#*#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,.................,,,,,,,:,,,,.....+*************
,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,.......,,,,...........,.......................
,,,,,,,,,,,,,,,,,,####**########################*:,,,,:***##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,....,,,,......,,,,.,,,,,,,,:,,,,..,,,,.....
,,,,,,,,,,,,,,,,:,,,.,,,,,,,,,:,,,,,,,,,,,,,::::,,,,,:+****:###+,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::+++,,,,,,:,::+#*#*##****#:,,,,,,,,::,,,,,::::,,
,,,,,,,,,,,,,,:,,,,,,,,,,,,,::,,,,,,,,,,,,::::,,,,,,:::+*+::,::##,#*#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++:,,,,,,,:*#***#####****#,,,,,,,,,,,.,,,,,:::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::*+++:,,,,,,,,,,,.,++::+#**+##*##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:+++::::::+*##*###**####*##+,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,:**:,.,+*:,,,,++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::++++********+*+##**#***+*****#*...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,.,,.##*,,,,:#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++*#***+***+*#*+*+*#***..........,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,.....,,,,,,,,,:,::#+::::::,,,,,,,:#+*:::::::::::::::::::::::::::::::::++++++++*+++++++*******########################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,:::+++++++++**++,,*##*+::::::::::::::++::++++++::::::::::++++++++++++++++++++++++******++++++++++++++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,,,,,,,,,,,,,:::+:++***++++++++:,:#####++++++++++++++++++++++++++++++++++++++++++++++++++++****+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++:+*++***+++++++++::######*++++++++++++++++++++**++****++++++++++++++++++++++++++++++++++++++++++**++**+
,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,::::++++++::::::::++++++*+****++++++++::++##+*******++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::+
,,,,,,,,,,,,,,,,::::::::,,::,,,,,,::::::::::::::::::++++++++**********+++****####+++++++++++++++++++++++++++++++++++++++**++++++++++++::::::++++:::::::::::::::
,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::++++++++****************####***+++++++++++++++++++++++++++++++++::::::::::::++++++++++++++::::::++:::::::::::
,,,,::::::,,,,::::::::::::::::::::::::::++::+:::::++*+**+***********######******++++++++++++++++++++::::::::::++++++:::::::::::::::::::::::::::::::::::::::::::
,,,,::::::,,,,,,::::::::::::::::::::::++++++++::++********############****++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::,,,,,,,,,,::::::::::::::::::++::++::++*****#**####********++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::,,,,,,,,,,,,:::::::::::::::::::::::::::+***###********++++++++::++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::,,::::::,,::::::,:++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::++::::++++*+++++*******
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++++++++++************#************+++++++++++++++++::::++::+++
::::::::::::::::::::::::::::::::::::::::::::++::::++++++::::::+++++++++++++++*++++++++++*+++++********++++++**++++++++++++******++++++++++++++++++:::::::::::::
::::::::::::++++++++++++++++*+++++++++**++*+++++++++:::::::::::::::::::::::::,,,,,,,,,::::::::::::::::++++++::::::+++++++++++++:+++++++++:::++::::::+::::::::::
::++++++++++::::++::::++++++:+++++++::::::::::,,,,:::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::,,::::::::++++++::::+++++++
::::,,,,::::::::::::::::::::::::,,,,,,,,,,::::+*::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,::,,:::::::::::::::::::::+::::::::::::::::::++++::::::::::++::::::::::::,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::,::::::+++++::::++::::::::::::++:::::::::::::::::::::::::::+++::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,,,,:::::::::::::::::::::
::::::::::::::::::::::::::::++++*+**++***+++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::++:::::::::::::::::::
::::::::++::::::::::::::::::::::::::++++::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::+::::++:+:::::::::::::::::::::
$..........................,,,.,..,,,,,,::,,,....,,:,:,,,,,............,,,::+++++::,,.,,,..,,,,,,,:,,,,::::,,,,..,:..:..........................................
.....,....,...............,..,:,,,,,,,,*:,::,,,,,,,+:::::,,,..,.......,,:::++++++::,,,:,,,,,:,,,::,,,:::+:::,,,,::,,+,.....................................,...
.....,,,,,,,,,,...........,,.,,,:,,,,:+++::::,:::::+:::::::,,,,,......,,,,,:***+::::,::,,,,,:,,,::,::::::,,,,,::::,:+,.....................................,...
,,,,,,,,,,:,,,,,..........,,,,,,+:::+:::::::,::+:::+++::+:::,,::,,..,,,,,::+**+:,,::,:::::::::::::+::::::::,::,:+:::*,,,,...................,,,,,,,,..,,..,,...
::,,::::::::::,,,,,...,..,::,::::+:+:::::::::::::::+:+++++::::::,,,,:::::+++***++:,:,:::++::::::::::::::,,,:,,::+:,,:,,,,:,...,,,,..,,..,,,,:::::::::,.......,:
:::::::::::::::::,,,,,,,,,:::::::+++::,,.............,::::,,:,.,,,,,,,,,,,,,,,,,,,......,,,,,,,,..,,..............,,,,,,,,,,,,,,,,,,,::,.............. ........
.,......,,::::::::::::::::,,:,,,,,,,,,.,,...............::::::,,,,,,,,,,,,...,,,,,,,,:,,,,:,,,,,,,,,,,..,,........,,,,.,,,,,,,,,,,,,,,,,...,:++:::.:*####*++++#
,,,,,,::,,,,::::::::,,,,,,,,::::::::,,,,,,,,,,..,,,,,,,,:+++::::::::,,,,,,,,,,,,,,,:::::::,,,,..,,,,,,,,,,..............,,,,....,,,,..,,,,,,:::***..**###+**++*
,,,,,,::,,,,,,,,,,::,,,,,,,,::::,,,,,,,,::::,,,,,,::,,,,::,,,::,,:::,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,..........................,,,,,+:+**.. **###+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,......................,,,,,,.....,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++++::::,,,,,,,,,,,,,,,,,:**+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::.......,,,...............................
,,,,,,,,,,,,,,..,,,,,::++:,,,,,,,,,,,,,,,,:::+**##*+,,,,,+##*####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++*,,....,,,,,....,,,:,,,,,,::,,,,,,,:.,,,,.
,,,,,,,,,,,,,,,,,,,:..,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::+:++:*:*###::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+*+***+,:::+*:+,:******#****#,,,,,,,,,,:,.,,,:
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,.:+:+:::+:**#:#***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++:,,,,,,,,+*#**#######**#:,,,,,,,,,,,,,,,
,,,,,,,,,,,,..............,,,,,,,,,,,,,,:,,,,,,,,,,,,,,:*+:::,::,:++**+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++*+:::::::++##*##*****#***#,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,+.,,,#,,,+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:+:+++*******++***+**#++:##***#...............
,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,..,,...,,,:,,,,,:,#*,,,,,,,,,,,,,,,..,+,,:,,,,,,,,,,,,,,,,,,,,::::::::::::::::++**++++***+++**+***++::::::+++++++++
,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,.,,::::*::::::::::::::,,*#**,:::::::::::,,:::::::::::::::::+++++++::::::+++++******####################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,::::+++++++++++++++*+::#####+::++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::++++++++++++++++++::*######+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++:++:::::::,:++++++*+**********++++*:+**#####*+++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++**+++++++++
,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:::::::::::::::+++++++************+++*+:+***####*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++:
,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,::::::::::::::+*+++++++**************:***#####*#++++++++++++**++++++++++++****++++++++::::::::++++++::++:::::::::::::::::
,,,,,,,,,,,,,,::::::::::::::,,,,::::::::::::::::::++++*+++++*+*****************#*##***++++++++++++++++++++::::::::::::++++++++++::::::::::++++:::::::::::::::::
,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::++++++++**+:*******###################***++++++::::::::::::++++::::::::::::::::::::::::::::::::::::::::++:::::::::
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++++++****+*#########**********++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::++++++***#*************++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::++++*******++++++::::++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::+
::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::+++********+::::::::
::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++************###*********++++++++++++++++++:::+++++++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++**++++**++****++*+++****++++++++++++++******++++++++++++++::+::::::::::::::::::::::
::::::::++++:+++++++++++++++++******++++++++++++::++::::::++::::::::::::::::::::::::::::::++++++++++::::++++++++++++++++++++++++:::::::::::+::::::+::::::::::::
++++::++++::++++++:::+++++++::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::+++:++++++++++++
::::::::::::::::::::::::::,,,,,,,,:::++:::++::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::+::::::+:::::::
,,,,,,,,::::::::::::::::::+:::::::::::::::::::::::::::::::::++::::::::::::,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::+++++:::::+:
::::::::::::,,::::,,,::::+++::++::::++:::::::::::+::::::::::::::::::::::::::::++::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::,,::::::::::::::::::::::::+::::
::::::++++::::::::+++++++++*****+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::+:::++:::::::::::::::::::::+++::+
::::::::::::::::::++:::::::+++++::+++:+:::::::::++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::++:+:+++:::::::::::::::::::::::::::::::
$....................,,,....,,,:::+:,,....,,,,,:,,,,,............,:,:+++++::,,,.,,,..,::,,,,:,,,,::::,,,..,:,..:......................................,.........
...,...................,,.,,,,,,+*:::,,,,,,::+:::::,....,......,,,::+++++++:,,,:,,,,,::,,:::,,,::::::::,,,+,,,:,.....................................,.........
,,,,,,,,,...........,,,,,::,,::+++:::::,::::++::+::::,,,,......,,,,,:+**+:::,,,:,,,:,:,,,::,,:::::,,,,::::+,,::......................................,.........
,,::,,:,,...........,,,,,::::::::+::::::::::++++::::::,,:,....,,,,:::+**+:::::,:::::::::::::+:::+:::,,::,:+:::,.,,....................,,,,,,,...,....,.....,...
::::::::,,,,....,,.,,,,::::::::::+::::::::::::::++::::::+:,:,,::::+++****+::,:,:::++:,++++::::++::,,,:,,::+:,:,,,,,:....,,,,......,,,,::::::,,,,.......,:::+***
::::::::::,,,,,,,,,,::::::+:+:::,,............,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,.,,,,..,,..,,..........,,,,,,,,,,,,..,,,,,,,,..,,,,,,,,,,,,,,......  .....
,,,,::::::::::::,:::,,,,,,,,,,,,.,...............,::::::,,,,,,,,......,,,,,,,,::,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,,,,,,,,,..,,.......,,,,,..,,,+:+,+..**####++:
::,,,,::::::::,,,,,,,::::::::,,,,:,,,,....,,,,,,,,+++++++:,::::,.,,,,,,:,,,,::::::::,,.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,,,..,,,:++**,.,*##**+::
,,,,,,,,,,::::,,,,,,,::::,,,,,,,::::::,,,,,,::,,,,::,,,:::::::::,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,.,:+::+*...+*#*#+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..............,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.......................,,,......,.,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,+**#################****:::,,,,,,,,:+****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+........,,,.............,..............
,,,,,,,,.,,,,,,,,,,,,,:,,,,,,,,,,:,,,,,,,,,,,,,,::*+,,,,,:*##*#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*+:,.....,,,,,...,++++,,,,,,:::,,,:,:,,,,
,,,,,,,.,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,:,++*:+*,::::###,,.:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:+******:,:++***,:*#****#****#+,,,,,,,,,,,,,:
,,,,,,,...,,,,,,,:,,,,,,,,,,,,,,,,:::::,::::+:,,,,,,,,,,::++++::++:*#*#*##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++:,,,,,,,+****#######****,,,,,,,,,,,,,
,,,,,,,....,,.......,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++#+,,::,,,,++****,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++:::::::*+#**#**********#,,,,,,,,:,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,..,::,#:,,::#::::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++*++*****+*:***+**#:............
,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,....,,::,,,,,,,:#+:::::::::,,::,,,.,,:#*:,,,,,,,,,,,,,,,,,,,,::,,::::::::::+:::++++**+**++++++**#+++++++++++++++
,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,.,,,,:,:,,,,::::+++++++++:,.+###+,::::::::::::::::::::::::::++++::::::::::::++++++++***##################
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++*++++++++++++++:,:#+*###++++++++++++++++++++++++++++++++++++++++**++****+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::*+++++++++++++++++++++###*##*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++*****************+:+**+#####*++++**++++++++++++++++++++++++++++++++++++++::++++++++**+++++++++++++
,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::::::::::++++++++*******************++##+*####+++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++:::
,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,::::::::::::::++::++++************++++*****#####***+++++++++++++++++****++++++::::++::::++++++++++:::::::::::::::::::::::
,,,,,,,,,,::::::::::::,,,,,,,,,,::::::::::::::::+++++++++***************##########******++++++++++++++::::::::::++++++++::::::::::::++++:::::::::::::::::::::::
,,,,,,,,,,,,::::::::::,,,,,,,,,,:::::::::+++++++++++**++***###################******++++::::::::++++++::::::::::::::::::::::::::::::::::::::++:::::::::::::::::
,,,,,,,,,,,,::::::::::,,,,,,,,::::::::::::+++++++++++*****########********++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++***#*****++****++++++::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,::,,::,,::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,:::::::::::::::::::::::::::
::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::++++*******+::::+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::++++++**++++******##**#******+++++++++++++++++::::++++++++:+:+**+::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++******++++**********+++******++++++++++++***+***++++++++++++++:+:::::::::::::::::::::::::::::
::::++++++++++++++++**++**+++++*++++++++++++::++::::::::::::::::::::::::::,:::::::::::++++++++++::++++++++++++++++++++++++::::::::::++:::::::::::::::::::::::::
++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:++:::++::++++++++++++++:+***
::::::::::::::::::::,,,,,,,,,::+::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,::::::::++::::::::::+:::::::::++:::
,,,,::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::++:++++:::+::++++++
::::::,,::::,,::::++++:+::::+++:::::::+:::++:::::::::::::::::::::::::::+::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++++::+
++++::::::++++++::++****+++:::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::+:::::::::::::::::::::::++++++++++++
::::::::::++:::::+::::+++:::++++::::::::++:::::::::::::::::::::::::::::::::::::::::::::,:,,,,,,,::::::::::::::::::::::+++++:::::::::::::::::::::++::::::++:::::
$................,,.,,,+:,,,.....,,:::,,,,,............,,,:::++::,,,,,:,,.,,,,,,,::,,,::::,,,,,.,:..,......................................,....................
.............:..,,,,,:*::::,.,,,,:+:::::,,...,.......,,:::++++++::,,,:,.,,::,,,::,,,::::::,,,,,:,.,:......................................,....................
........,,,,,,::,,:::+++::::,,::::::::::::,,,,,......,,,,,+*+*+::,,,::,,,:,:,,,:,.::::::,,,,:::::,:+,,....................................,......,.............
..........,,,,,:,,:::::+::::::::::::::::::,,,,:,....,,,,:::***++:::,,:,,::::::::+:::,:+:::,:,,,++::+,.,,..................................,......,.............
,,......,,,,,,::::+:::+:::::::::::::::::::::,::,,,,,::::::++**++::::,:::::,:::::::::::::,::+,,:++::+,,..,.....,.,.........,,,,,,,,,,,,........,,.*++:,,,......,
,,.,,,,,::::::::::::++:,  .........,:::::::::,:,::::,,.,:::,,,:,,,,,....,,,,,,,,...,............,,,:,,,,,,,,,,,,,,.,......,,,,,,,,,,,.,,,,..........,.......  .
:::::::::::,......,,,.,,...............,,:::,,,,,,,,,,......,,,,,,,,::,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,:::::,,,,,,,,,,,........,,,,,,......,...,,,,+++++..*#####
::::,,,,,,::::::::,,,,,,,,.............,++++::::,,,,,,,,,,,,::,,,:++++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,......,,,,,,::+**,.:*###*
::::::::,,:::::,,,,,,,::::::,,,,,,,,,,,,,,,,:::::::::::::::,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................,,,,,,:+:+*...**###
,,::::::::::,,,,,,,,,,,,,,:::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........................,..........
,,,,,,,,,,,,,,,,,,,,,,,,::#########################*::,,,,,:*#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:......,,,,..............,..........
,,,,,,,,,,,,,,,,,,,,,,,:.,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,*++:##+#**###,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++*+,,....,,,,,,.,+*##*+:,.,,,:::,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,, +++**+:+::+++:###:**,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::++****+:,,::***::*****##****##.,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,:::::,,,,,,,,.,,:,::*++++++++#####*#**.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++:,,,,,,,:*##*#######***#,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:,:*,,,,,:,,:::,:+***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++:::::++#******##*##**#:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,::,,,,,,,#+,,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++++++*+++**#+#****#*+**#+.........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,.,,,,,,,:**,::,,,,::,,,,::,,,,.:+###*:,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++****+++++***++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++++++++++*,,:***#*:,,,::::::::::::::::::::::::::::::::::::::::++++*******##############
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:++:++*::++*++++++++++++++++:,,+#####**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,:++++++++*+++++++++++++++++++*+,:########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++*+*******************:+:**+*###**+++++++++++++++++++++++++++++++++++++++++++++++****+++++++++++++++
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++**:++*******************+****##*#*#*#++++++++++++++++++++++++++++++++++++++::::::++++++++++++:::::::::::
,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,:::::::::::::::++++++*****************************####***++++++****++++++::::::++++++++++++++:::::::::::::::::::::::::::::::
,,,,,,,,,:::::::::::,,,,,,,,,,::::::::::::::::::+++++******#**########################**#***++++++++++++++++++::::::++::::::++:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,::::::::,,,,,,,,,,::::::::::::::::::+++*****+*#################***++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::::::::::::++++********##******++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++++++++++:::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,:::::::::::::::::::::::::::::::::::
,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++**************++++++++++++++++++++++++++++:::***++::::++++::+++++++
::::::::::::::::::::::::::::::::::::::::++::::::::++++++++******+************++********+*+++++++++++++**++++++++++++::++::::::::::::::::::::++:::::::::::::::::
++++++++++++++++++****++::++++**++++++::++++::::::++++++++::::::::,,::,,,,,:::::++++++++++++++++++++++++++++++++:::::::::::,::::::+:::::::::::::++::+++++++++++
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::++++::+*::***+++++++++++:+**#***++++++:
::::::::::::::::,,,,::::::++::++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::++++++::::::+:::+::::::::::+*+++:::::
::::::::*+::::::::+:+::::+++:::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::+++++++++++++:++++++++++++++++:
::::++++++++::::::+:::::::::::::+:::::::::::::::::::::::::::,:::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::,,::++++++++::::::,
++++:::+*****+::::::::::::::++*+::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::+::::::::::::::::::::::::++++:+++++::::::::::+
::::::::++++++++++++*+::::::::++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::+:++*+::::::::::::::::::::::::::::::++++:::::::::::::::
$.....,,...........,,.................,,,,:::,,,,,,,,,,...,,,,,,,,,,,,,:::,....,,,,.:...........................................................................
,,,,::+,,,.....,::+:,,,,,............,::::++++::,,,,,,,.,,,,,,,,:,,,::,::,,,..,:,..:...........................................................................
,,,,:++,::,,,,,,::::::::,,,,.,......,,,:::++++++:,,,:,.,,,,:,,::,,,:::::::,,,,,+,,,:............................................,..............................
,,,:+:::::::,:::::::::::::,,,,.......,,,,:++*+:,::,,:,,,,,::,,::,,:::::,,,,,::,+,:,+,...........................................,..............................
::::::::::::::::::::::::::,,,,,,....,,::::++*+,,,:::::,:::,:::::::::::,,:,::,,::::::,,,,..................,,,,,,,,,,....,,......,..,..................,,,,,,,,,
::::::::::::::::::::::::::::::,,,,,,::::::+++++::,,,:,::::::::::::::::::,,::,:::::,:,,,,+,....,,.........,,,::::,,,,,.......,,,,:::,...........................
::,,,.,.............,,,,,,,,..,,,,,,,,,,,,,,....,,....,...,,,,,,..,,,,,,......,,,,,,,,::::,,.,,,..::+:............,,,,..............................,,.,..,,,.+
,,,,,.:...............,,::::::::,,,,,,,,,,.,,,,,,,:,::::::,,,,::,,,,,,,,,,,,,,,,,,,:,,::::,,,:,,,.,,,,,,.,,,.,..,,,,,,,,,,....,,,,..,,,,..,,,,,,,,,,,,.,:++**..
,,,,,,,,,,:,,,..,,,,,,,:::::::::::::,,,,,,,,,,,,,:::,,::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,++**..
,,,,,,::::::::,,::::,,,,::::::::::,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,...,..................,,,,,:,,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:#######################+:,,,,,,+*######*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,,,,,,,,,,,:::,..,,...,,,...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,:::,,,,,,++*#+:*#+:#:##**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:::+++......,,,,......,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,:::,,,,,,,,::+++++:::++::++:+##**#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:.,,,,:,,+:*********##.,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:,,,,,,,,,,::,,,,+**++++++++**######**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++,,,,,,,:+#**######*#*#:,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+*+...,.::,,,,,,:+,,,,,,,::+**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++:::::::+##*#*****##***#,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,.,,,:#+,,,,,,,,,+#,,,,,,,,:,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++++******+##***++++*#***#,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,..,,,,,,,,,:#:,,,,,,,,,,,,::,,,,,::,,,+#####:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++***+******##**::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++:,::::++++++++++++++++++++*:,,:*#####+,,,,,,::,,,,,,::::::::::::::::::::::::++::::+++*******#########
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++******+::+++++++++++++++++++++++,,:+*####:**:++::::::::::::::::++++++::+++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+**+*****#++++++++++++++++++++++++++++#########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++********#*+**********************++++*****####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++***+****************##****#***********##**#*#**+++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++:+***#***************************##########******++++++++++++++::::::++++++++++:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::+++************+*##################################*+++++++++++++::::::::::::++:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,:::::,,,,,,,,,,,,,::::::::::::++++**+*******+*##############**++++++++++++++++++++++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::++++++************++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::
,,,,,,,,,,::,,,,,,,,,,,,::::::::::::++++++::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::++::+:::+++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++********++::::::::::::::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++*************##*******++++++++++::++++++:::::++:::++::++:++:::::::::::::++++++++:++++::::::::::
::::::::::::::++::::::::+:::++++++++++*******+++++++**++***+++******::++++:+++++*****+++++++:+++++++::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
+****+++++++++++++:+++++::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++::::::::::::::::::+::::::::::::::+++::++++++++++::::::+:::::::+++
::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::+++++::::+:++++:+++++++++::+***###*++++:::::::::::::::::::
,,:+::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:::::::++::::::::::::::::::++*+:::+++::++::++::::::::++::+++
::::::::::::::::::::::::::++::::::::::::::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::++:::::::::+++++++:+::+++:::::::::::::::::+
:::::::::::::::+::::::::::::::::::::::::::::::::::+:::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::+::::::::+:::::::,::::::::::::::::
::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,::::::::::::++:::::::::::::::::::::+++++++++++++++:+**++::::++++::::++:::::
$.................................,,:,,,,...,,,...,,,,,,,,,,,,,,::,..,......:............................................................................,......
,,......,,,,,,...............,,,,::::::,,,,,,,,..,,,,,,,:,,,,::::,,,...,,,.:....................................,,,,....................................,......
,,,,.,,,,::::::,,...........,,::::+++++::,,,:,,,,,::::::,,,,:::+:,,,,,,:,,,:............................................................................,......
:::,,,,,,::::::,,,,,.........,,,,:****+::,,:::,,,,,,,,,,,,,:::::,,,,,,,:,,,:,...........................................,...............................,......
::::::::::::::::,,,,,,,,....,,::::++**+:,:,,::,:::,,,,:::::::::::,,,,,,:::::..,,............................,,..........,.....................,,....,,,,,,,,.,,
::::::::::::::::::,,::,,,,,,,,,:::++++:::,::::::::::::::::::::::,,::,,::::::,,,,..................,:::::,,:::,........,,,,,,..................,,,,,,.......,,,.
..........,:::::::,,,:,,::::,,,::::::::,,,,,,,,,:::,,,:,,,.,,,,,,,.....,,,,:,,,,,,,,,,,,,,,,,,..,,::::,,,,,,..,,,,..............................,,,,,,,,,,.....
................,,,,,,,,..,,......,,..,,,,,:::,,,,,,,,,,,,,,..,,,,,,,,.,,,,:,,:::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,.........,,........,,,,.....,,,,,,,,,,:+*++.
,,,.........,,,::::::::,,,,,,.,,,,.,::,,,:::::::+:++,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,:,::,,,,,,,,,,,,,,,,,,....................,,,,,,:***.
:::,,,,,,,,,,,,,::::::::::::::::::,,,,..,,,,,,..,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,+::+*.
,,,,,,,,,,,,,,,,:::::,,,::::,*################****+::,,,,,,,:+**##**:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.........,,......    .........
,,,,,,,,,,,,,,,,,,,,,,::,,,,,.,,,,,,,,,,,,,,,,,,:::,,,,,++*#***#*:#*###*,,,,,,,,,,,,,,,,,,,,,,,,:,:::,,,,,,,,,,,,,,,,,,,,,,,,,::::+,......,,,,......,,.,.,,,,..
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::,,,,,,,:++++++::::++++*+:*##+::,,,,,,,,,,,,,,,,,,,::,,,,:::::,,,,,,,,,,,,,,,,,,,+:++**+.,.,,,,,,,:******##*.,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++::,,,,,,,,,,,,:.::****++++++++*#####*#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::,,,,,,,,:****#####**##,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::**:,.,+,,,,,,,:,,,,,,,,,:+***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::,,,,,,***#########***#,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,.*#+,,,,,,,,,**,,,,,,,,::,,,,,,,,,,,,,,..,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++*****#**##****##***#,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,..,,,,,,,,+*,,,,,,,,,,,,,,,,,,,,,,:,,,:*####*,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++*******+##+##+*###...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+**:,,,::::+::++++++++++++++++::#:,,,*##*#**,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++*********##*****
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,+*****+**::+++++++++++++++++++++++++,,,+#####***+::::::::::::::::::::::::::::::::::++++++++++++++++++**++++++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::***##******++++++++++++++++++++++++++:::########*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::*************++**********************++++#*#+**##**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+*#***+****************##**********#*******##***#+*#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+++##**********#*********************##########**####*+++++++++++++++::++++++++++++++:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++**##****+*+++++*##################################**++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++********#***+++++*################****++++++**++++++++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++*******+++***++++++++++++++++++::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++++++::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::,,,,,,,,,,,,,,:::::::::::+++++++++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::
::,,,,::::::::::::::++::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::,,,,,:,,,,:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*++++:++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++++:::::::++++
,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++++++++::::++++**#******+++:+++++++++++*+:::++++++++:::****::::::++::++:+++++++**++++++::+::::::::+:::
::::::::::::::::::::::::::++::::::+++*+++************************+**++++**++++++++++++++++::::++::::::::::::::::::++:::::::::::::::::::::::::::::,,,,,,,,,:::::
++++++**++++++++++++++++++++++++++++++++::::::++::::::::::+++++++++++++++++++++++++++++:::::::::,,,,,,::::::::::::::::::::::++++::::::::::::::::,,,,:::+++++::+
::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::+**+::+:::++:+++++++++:+*****+++++++++:::::+++::::::::::+++++++
,,::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::+:++++++++++::::++:++:::++::+++++*::::::++++::::::::::++++*+++++:
**+++:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::++++++++**++::++++++++:+++++++::::,,,:+++++:::::+++++++
::++++::::::::::::::::,,::::::::,,::,,::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::++:::::::
::::++::::::::::::::::::::::::::::::++::::::::::::::::::::,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::++++:+++::::::::::::+:::::::::::++::::::::::+
$......................,,,.,,,...,,,.....,,,,,,,,,,,,,,,.........,............................................................................,.................
.....................,,::,:,,,,,,,,,...,,,,,,,:,,,,,::,,..,,,:,,,............................................................................,.................
:,,,,,............,:,:::+++::,,,,,,,..,,,,,,,:,,,,::::,,,,..,,..:,.....................................,.....................................,.................
,,,,,,,,.,,.......,,:::++++++:,,,,,,,,,,,,,,::,,,:::::,,:,,,::,,+,.....................................,.....................................,.................
::::::,,,,,,......,,,,:++**+,,::,::,,,,,,,,,,,,:::::,,,,,,,,+:,:+,.....................................,.....,...............................:....,,........,,.
::::::,,,,:,....,,,,:::+**::,::::::,,,,,::::::::::::::,,:,,,+:::+,,,,,..................,,,,,,,,.......,.....,...............................:...,,,,,,,,,.....
:::::::::::,,,,,,,::::::++++::,:,:,:::::::::::::::::,,,,,,,::::::,,,,,,.,,,,,,........,,:::::::,:,......,,,,,:++:,..............................,,,,......,,,,.
.,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,.....,......,.,,...,..........,,:,,,,,::,,,,,,,,:::,....,,,,,,,,:,,,,,,,..........,,....................,,,,,,..........,,,,,,,
....::::::::,,,,,,,,,,,,.,,,,,.,,:::::+:,,:::,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,.........................,,::
,,,,::::::::::::::,,....,,,,,,::::::::,,,,..,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,,:,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,:*+
,,,,,,::::::::::::::::::,,,,,,,,::,:::::::,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,,:,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:+***:,,,,,:*######*#####+,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:..,...,,,,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,:+++*++::::++::*+,*##:,,,,,,,,,,,::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:*,,,,,,,,,,,,,...,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,+:,++***+++++++++++*##*#*+.,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:*****+,:::+*+::+***#**####*,,
,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,++**+:,,,,,,,,,,,,,,,,,:****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++:,,,,,,,:*#########***#,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,.,,,*+*,,,,,,,,,:#,,,,,,,,,:::,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++::*+##*#*****##**#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,:+,,,..,,,,,,,,#:,,,,,,,,,,,,,,,,,,,,,:,,,.,,::###+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++******##***+#:##****#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::++::++++++++++++++:*:..,+######*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++*+***:++++**#+:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:+++++**#++,:++:+++++++++++++++++++++++,,,:#*####*##+::::::::::::::::::::::::::::::::::::::::::::::++******#####
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,::::::****++*****+:++++++++++++++++++++++++++:::*##,*#####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+**************+++**********************+:+++#*##+****#+++++++++++++++++++****+++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++***#*+*************************##***********##**##*#**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+++++****##******+***************************########**##***+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+*******+*+*++++++++*###################################***+++++++++++++::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::++::++**********++++::++*#################******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++*********+++++++***++++++++++++**++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++++::::::::++++++++::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,::::::::++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++***#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*******++::::::::::+:::::++++++++++++++++++++++*+::::++::::++:::++++
:::::,::::::::::::,:::::::::::::::::++:::+++++*************##*##******++++++++::::++++::::+++:++::::++::::::::::::::++++++++::++::::::::::::,,,,:::::::::::::::
::::::::::+++++++++++*******++**********++++******++++++++++++**++**++++++++++++++::+::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:::::::::::::::::
++++++::::::::::++::::::::::::::::::,,:::+++::++::++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::+::++++++++++++::::+++:::::::++++++++++:::::::::::
::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::++:::::::::::::::::::::::+++*+:::+++++++:+++++++++++****#**+++++::::::::::::+::::::::+++::::::::++::+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:::::::::::+::::+:++::::::::++++:::++++++++:::::::+::+::::++++++++++++::::::+++
::::::::::::::+:::::::::,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::+++++::::::::++++++::++++::+:::::::::::::::::::++++::++++::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++++::::::::::::,,:::::::::::::::::::::::::::::::::::
$................,,.,......,..........,,,,,.,,,,,..........,....................................................................................................
...............,,,,.,,....,,,....,,,,,,,,,,,,,,,..........,....................................................................................................
............,,,,:::::,,,,,,,,..,,,,,,,,,,,,,,::,,,...,:,.,,............................................................................,.......................
...........,,,::++++::::,,,:,,,,,,,,,,:,,,,::::,,,,,,,:..,,.....................................,.....................................,,.......................
,,,,.......,,,::+*+**+:,,,,:,,.:,,,,,,,,,:::::,,,,,,,,:,,:,,....................................,......,..............................,,.......................
,,,,,.....,,,,,::++*+::::,,:,,,,,,,,::,,::::::,,,,,,,::::+,.....................................,......,..............................,,....,,,,............,,,
:,,,,,,,,,,,,,:::++++,::+:::,:::,,::::::::::::,,,,,,,:::::,,,,..................,,,,,,,,,,,,,.,,.......,....................,,........,,.,,,,,,,,,,,,,........,
:::::,:,,,::::::::::::,,,,::::::::,,::::,,:::,::,.,,,,::,:,,,,.,....,,,,,,,,..,,,:::::::::,,.,,,,,,,,,,,....,,........................,,..........,,........,,,
,,..,,..,,,.......,,,,,,,,+++::,.,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,:,,,,,,,,,,,,,,,:,,,,.:,,,,,,,........,,,,,,,,,,,,,,,.,,.,,,,,,,,,,,..................,,,,:
::::::,,,,,,,,,,,,,,,,,,,::::::::,:,::,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,,
:::::::::::,,,,,,,,,..,,:::::::,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::,,,:::::::::::::::,,,,,,,,,,,,..........,,......................,,,,:
::::,,::::::::::::,,,,,,::::,,,*#*##################::,,,,,:**########*,,,,,,,,,,:::,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,.,,,,,,,,,::::,,,,,,,:+*+#::::*#::#*+##*,,,,,,,:::::,:,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++:.....,,,,,,......,,...
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,+:,:+*+::++++++++++::###*,:::,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*+++,,,,,,,,,,,*##*****:,
,,,,,,,,,,,,,,,,,,............,,,,.,:,::,,,,,,,,,,+,,,:::+****+++++++++++***##**,:,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::*+::,,,,,,,,:****#####**#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+::,.,,.::.,,,,,,,**,,,,,,,,,,:+++,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::,,,,,+*#**#######*#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:,,,,,.,++,,,,,,,,,,,+*:,,,,,,,,,,,,,,,,,,,,,,,,.,....,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+**+********#*******+***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,.,,,,,,,,,::,,,,,,,,:::::::::::::,,,..,,+#######,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++*****++**+**##**+**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*#*+*#::,,::::++++++++++++++++++++++++,,,:*#*####**:,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++******###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++*******#+::+++++++++++++++++++++++++++++:+#**###,##+:::::::::::::::::::::::++++++++++++++++++++****+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++:::::+**###*****##*+++******++****++*********+:::+####*:##***+++++++++++++++++++++++++++++++++++++++++++++++++++**+++++
,,,,,,,,,,,,,,,,,,::::,,:::::::::::::++++++++**###***************************************+##*##**###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,:::::::::::::::::::::+++++++****+++*##***#**************++++**************###**###**++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::
,,,,,,,,,,,,,,,,::::::::::::::::::+++*****++****++:+++**+***##################################*****+++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,:::::::::::::::::++++*******++++++::::++++*#######################**********++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::::::::::::::::++++++******++++++::::++**********++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++::::::::::++++++++::::++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::::::::::++::++++++::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,::::::::::::::+:++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,:::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++:+++::+***#*******+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++::++++++++++++++++::+++++
::::::::::::::::::::::::::,,::::,,,,::::::::::::::::++++::::::::++++++++++,:++:+::+++++*++++:::+++::::::::::::++++++*++***++++++++++:::::+++++::::::::::::::++:
::::::::::::::::::::::::::::++++++++************************++++++++++++::+++++:::::::::::::++++::::::++::::::::++++++++::::::::::::::,,::::::+:::+:::::::::::+
++++++++**++**++++++**++++++**+++++++++++++++++++++++++*****++++++++++++++::::::,,::::::::::::::::::+:::::::::::::::::::::::::::,,,,,:::::::::::,,:::::::::::::
+:::::::::::::,,,,,:::::::::::++++:+++++++::::++++++++++++++++::::++::::::::::::+++:::::::::::::::+++++***++++++++++++::::++::::::::++++++++::::::::::++::++:::
:::::::::::::::::+::::::::::::::::::::::::::::++::::::::::::::::,,,,,,,,::::::++++::+++++++++++++++++:+:+++****+++++:::+::::::::::++:::+++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::++:::+:,:::::+++**::++::::++::::,,::::++++++::++++::+++++++++++++++++++
++::::::::::::,,,,,,,,:::::::::::::::::::::::::::,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::+++++++::+++:++::::::::::::::::::++::::::::::::::::++:::::
$...........................................................................................................................................................:...
......,....................,,,...,,,,..........,..........................................................................++:::,...........................:...
.....,,,.,,,...,,,.....,,,.,,,,,,,,,,,.........,............................................................................,..............................:..,
..,,,,,:,:,,,,.,,,,..,,,,,,,,,,,,,,::,.....,:,,,............................................................................,..............................:.,.
,,,,:::+++:::,,,,,,,,,,,,,,,,,,,,:::::,,..,,:..,,.....................................,.....................................,..............................:.,.
.,,,::++*+++:,,,::,,,,,:,,,:,,,,::::::,,,,,,,,,:,.....................................,......,..............................,..........................:::::.,.
.,,,,::++++:::,,::,,:,,,,,,,,,::::::,,,,,,,:,,,:,.....................................,......,..............................:.....................,,,,,:::::,,,
,,,,:::++::,::::,:,,::,,::::::::,::::,,,,,,:::::,,,,..................,,,,,,,,,,.....,,......,....................,,,,......,,..,,,,,,,,...........,,,,:::,+++,
::::,,:::::::::,::,:::,:::::::::::::,,,,,,::::,:,,,,,,,,,,,,........,,,,::::::,,,..,,,.,,,,,,,,,,,,,............,,,........,,,..................,,,,,,,,..,,,,,
,,,,,,,,,,,,...,..,,,,..,,,,,,,,,,,,........,,,:,,:::::,,,,.,,,,,,,,....,,....,,:,,,,,,,........,,,,............,,,,,,,,,,,,,,..........,,,,....,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,:::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,...........................
,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,........,,,,,,..,,,,,,,,,,,,,,,,,,,:,,,,:,,,,::+++::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,+++::::::++**######+:,,,,,:**####**###*,,:,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,.......... 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,::::,,,,,,,++*+*#+:::+*:+*#:###+,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++......,,,,.........
,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::::,,,,,,,,,*,.,+***+++++++++++++:*##+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*+*:,,,,,,,,,.:*##**#
,,,,,,,,,,,,,,,,......,,..,,,,,,,,,,:,,,,,,,,,,,,+:,::+++:::::::::,,,,,,::+**#*:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:++:::.,,,,,,,+#***###*
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:,,:*+:,:+:,,.,+.:,,,,,,,,,,#:,,,,,,,,,::++,,,,,,,,,,,,..,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++:::::,,+*##*#**###
,,,,,,,,,,,,,,,,,,,,,,,,,:++++:++:,,,,::,,,,,,,,*,,,...,,,,,.:*+,,,,,,,,,,,,,,,,,,,,,,,,..,..,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++*****##**++**+
,,,,,,,,,,,,,,,,,,,,,,,,,,::::+::::,,,,,,,,,,,,,,,,,.,,,,,,,,,:,::::::::::::++++++++++:+,,..,*########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++**+***+#+#**
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,++++**#**::,:++++++++++++++++++++++++++++,,,:*#*#####*#**,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++***+++*
,,,,,,,,,,,,,,,,::,,,,,,,,:::+++:+:::::::::::******##***#*+++++*+++++++++++++++++++++++++::+#########*::::::::::::::::+++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,::::::::,,,,::::::++::::::++:++*****###****#*+++*************************++:**####*+#**#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,::::::::::::::::::::++++++++++++#*###**##+****************************##*******###*##**#**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,::::::::::::::::::++++++++++++++*************#****************************#########***##**++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
,,,,,,,,,,,,,:::::::::::::::::++++++++++++++++++::+++++++++**####################################*****++++++++++++::::::++++:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++:::::::::::++*###########**************++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++::::::::::::++++++++++++++++++::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::
,,,,,,,,,,,,,,,,::::::::+++++++++++++:::::::::::++++++++++++++::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,::::::::::++++::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
,,,,::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::::::::::::::::::::::::::::::::++++::::::::::++++****#********++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::++::++++++++*+++++++++++++++::++++::+++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++*******+:::::::::::::::::+++++++++++++++++++++++++:::+++::::::::::++++++++++++:+++++*
::::::::::::::::::::::::++++++************##*##*****++++++++++::++++++::::++::++::++++::::::::::::::::++++++++::::::::::,:::,,::::::::::::::::::::::+++:+++::::
++++******+++***********+++******+++++++++++****+*++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::,,::::::::,:++++++++++::+++++++++++++++++++++++:::::::::::::::::::::::::::::++::++++::++++::++::::::++::,,::::++::++++::::::::::::::::::::++++::++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::++++::::++++:::::+++:+++::+++******++++:::::::::::::::::+:::++::++::++++:::::::::::::::+++++:
::::++:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:::::::::::::::::::::::::::::+*+::::++::++++::::::::::++:::::+++++++++::::++++++++++++++::::+++++
$..........................................................................................................................................,......,**,..........
..........................................................................................................................................,......,**,..........
...............................:..........................................................................................................,......,**,..........
..........,,,,..,,,,...........:........................................................................ ,++++,...........................:......,**,..........
,.....,,,.,,:,,,,,,,,,..,......,..........................................................................................................:. ....:**,..........
,,...,,,,,,,,,,,,,::,,.....,,..,............................................................................,.............................:.,....:**,..........
,,..,,,,,,,,,,,,::::,,,,,,,,,..:..........................................................................................................:.,....:**...........
:,.,,,:,,,,,,,,,::::::,,,,,:,,,:......................................................................................................,++::.:....+**,...,,,,...
:,,,,,,,,,::,,::::,,,,,,,,,:,,::,....................................,......,..............................,,....,................,,,,:::::,:,.+#***,,,,::,,,..
,,::::::::::::::::::,,,,,,::::::,,,,..................,,,,,,,,,.,,..,,......,...................,,,,......,,,,.,,,:,,,,,..........,,,,:::,::+,,,,:++,,,,,,,::::
,,:::::::::::::::::,,,,,,,::::::,,,,:,....,,..,,.....,,,::::,,,,,.,,...,,,,,:::,..,,.......................,,,,,,,......,,,,....,,,,,,,,,.,.,,..,,::,,,,,,:::::
,,,,,,,,..,,,,,,.,,,,,.....,,,,,,,::::,,,,,,,,,::,,,..........,,,,,,,,,...........,,...........,,.,,,,,,,,,,,,....,,....,,,,...,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,
:::::,,,,::,,,,,,,,,,,,,,,.,,,,:,,,,,,,,,,..,,,,..................,,,,..,,:::,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,...,,,,,,..........,,,,..,,........,,,,...........
,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,:,,,,:###############*+:,,,,,,,:+**#####*+,:+::,:::::,,,,,,,,,,,,,,,,,,.,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,...................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,::,,,,:,,****###+++***:#*###:,::::,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,.......,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:,+:+++****:+++++::+++++*#**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+,.....,,,,...
,,,,,,,,,,,,,,,,,,,,,,......,,,,,.,,,,,,,,:::,:,,:+,,,::::++****++++++++++****###*+.#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::++..,,:,,,,,*
,,,,,,,,,,,,,,,,,:::::*+::::::::,:,:,:**+::+,,,.:.*,,,,,,,,,,++:,,,,,,,,,,,:+++:,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++,,,,,,,:+**
,,,,,,,,,,,,,,::::++++++******+++:,,,,::,,,,,,,,+:,,..,,,,,,,,+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++:::::::+#**
,,,,,,,,,,,,,,:::*******::::++++::+:,,,,,,,,,,,,,,,,.,,,,,,,,,,::,,,::::,,::,,::::::,,,,,,,,,..,+#######*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::++**++++*+#*+
,,,,,,,,,,,,,,:::::::+++++++++:::::+++::,,,,,,:*******#*,:,:++++++++++++++++++++++++++++++::,,:##########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+*****
,,,,,,,,,,,,,,::::::+++++++*****++++:::::::::***####*****#+:++++++++++++++++++++++++++++++++::###**###*#*:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::::++::::::+
,,,,,,,,,,,,,,,,:::::+++++++++++++++++++:::+***##*####***#*+++++******++++++************++::++##*##*####*++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,::::::::::++++++++++++++++++++++**++*+:*******************************************##**##**##*++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,::::::::::++++++*****+++++++**++++++::++++++++****************************####*#####**##***+++++++++++++++++++++++++++++++++++++++:::::::::::::::
,,,,,,,,,,,,,,,,::::::::++++++++++++::::::::::++++:::::::::++**####################################******+++++++++++++++++++:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::::::::++++++++++++++:::::::::::::::::::::+**################******************++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,::::::::::::::::::::+++++++++++::::::::::::::::::+++++++++++++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++++++++++::::::::::::++++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::
::::::::::::++++++++::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,
::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,::::::::::,,::::,:,:::::::::,::::::+:+******++++++**+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::++++::::::::::++******##****+*++:+*++++++++++++++++++++++
::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++++++::++++++++++++++*+++++++++++++++++++++++++++**++++++++::+:+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::++++++++++******++::::::::::::::::++++++++++++++++++++++++++::++::::::::::++++++++++++++++++++**++++++*++++++++
::::::++++++**++****+****************+:+++++::::::++::::::::::++::++::::::::::++::::::++++++++++::::::::,:,,,,::::::::::::::::::::::++::++++::++:::::::::::::::
******++++*******++++++++++++***+*++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:::::::::::,,::::::::::::::::::::::,:::::++:::::::::
::::::::+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::+++::+++++++++::::::+::::::::+++::++++::::::::::::::::::++::+++++:::++++::::::+++++
$....................................................................................................................................,......**:.................
....................................................................................................................................,......**:.................
.........................,::........................................................................................................,......**:.................
....,,..................:..................................................................................................................**:.................
...,,,,,.,,,,,,.........:............................................................................,.............................,......,**:.................
,,,,,,,,,,,,,,,.........:............................................................................,.............................,:::,..,**:.................
,,,,,,,,,,,:::,,....,,..:............................................................................,.............................,.,....,**:.................
,,,,,,,,,,::::,,,,,,:,.,:,.....................................,.....................................,.............................:.,....,**:.................
,,,,,,,,::::,,,,,,,,:,,,:,.....................................,.....................................,........................,,+:::,,..,.:**:.,::::,..........
,,,,,,::::::,,,,,,,,::,::,.....................................,.....,...............................:....,,....,,..,,....,,,,,,::::,,...::**:..,..............
::::::::::::::,::,,,::,::,,,...................,,,,,,,,,,,,,............,,.................,........,,..,,,,,,,,,,,,........,,,,,,,,,,:+,,:+*:,,,,::::::::+::,,
..,:,,,,:::,,,,,,,,,,,:,:,,,..,,,,,,.,,,,,....,,,,::,,,,,,..,,,,,,..,,....,,,...........,,..,,,,,,.,,,..................,,,,,,.....,..,,,,,::,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,:,:::::,,,,:,,,,,,,,....,,,,,,:,,,,,,,,,....,,...,,,,..,,,,,,,,,.,,.,,,,,,,,::,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...
,,::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,.,,,,,,,,,,,..,,,,,,,,,,:,,,,,,,,,,,,,,:,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,:*:,,,,,:*#######**####*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,:,,,,,,,:***+*****+++++*+++#++##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,..........
,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,+:::,,,,,,,,,,,,,++:+:*****++++++++++*+**##**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+***,,,,,,,,,.
,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,:,,,,:++*#+:,,.*:,,,,,,,,,:,,,,,,,,,,,,,::+**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,::+*****,,:::+:::
,,,,,,,,::::::,::+++++++:::::::,+*::,,,::,.,,,,,*#,,,,,,,,,,.,+*,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:,,,,,,:+
,,,,,,,,,,,,,,::++::::::::::::::,,,,,.,:,,,,,,,,,,,,,,,,,,,,,,:+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,:*##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++::::+**
,,,,,,,,,,,,,::+++:+++++++++::::::::::::,,,,,,:,******#+:,,:::::+++++++++++++++++++++++++:*:,,,,*###*#*###,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++*****
,,,,,,,,,,,,,:+++++++++++::+*+++:::::::::::::+***#*#***##*+::++++++++++++++++++++++++++++++:,,:*##*#####*###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:::+
,,,,,,,,,,,,,::+++++++++++::++++:::+++:::::+*#****+******#*+++++**++++++++++++++++++++++*+*++++###########::::::::::::::::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,:::++****++++++++++++++++::++++#**********************************************+:+*#####**##**+++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,::::+++++*************++:::::+++++++::++::++++++********++++++++++**************####*#+*##**+++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,:::::+++++++++++**++++::::::++++::::::::::+*#*###############################*#####*******++++++++++++++++++++++++++:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,:::::++++++++++++::::::::::+::::::::::::+**#########################################***++++++++++::::::::::::::::::::::::::::::::::::::::::,
,,,,::::,,,,,,::::::::::++++++++++++:::::::::::::::::::::+++++++++++++++++++++++++++++++++++::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::::::::::::::::::::::++++++::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::
::::::::::::::++++::::::++::::::::++++++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
::::::::::::::::::::::::++::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
::::::::+:++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,::::::::::::::::::::,,,,,,::::::::::,,::::::::::,:+:::++::++::++++*++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,::::::::::::::::::::,:++++**************+++++++++++++++++
::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::++++++++++::+++++++**++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++::::::++++++++++++++++++++++++++:+++++++++**+++++++++++++++++
,,,:::::::::::::::::+++++:::+++++++++++++:+++++::::+*+**++::::***+::::::::::++++++++++++++++::++::::,,::::::::::::++::::::::+:::::++::++++++++:::+++++++++++:::
++***********#************++++++++++++::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,:::::::::::::::::::::::++:::::::::::::::::::::::::::::::
++++++++++::++++++++++****++++++++++::++::::::,,,,::::::::::::::::++::::::::::::::::::::::::,,,,,,::++++++:::::::::::::::::::::::::::::::+::++++++:::::::::::::
$..........................................................................................................................+**+...**:...........................
..........................................................................................................................,......**+...........................
..........................................................................................................................,......**+...........................
..............:::+........................................................................................................,......**+...........................
..,,..........,..............................................................................,............................,......**+...........................
,,,,,.........,............................................................................,..............................,......**+...........................
,,:,,.....,,,.,............................................................................,.............................,,......**+...........................
,,::,,....,,..,.....................................,,,,...................................,.............................,,......**+...........................
::::,,,,,,:,,,:,.....................................,.....................................,........................,.::::.,....,**:....,,.....................
::,,,,,,,,:,,,:,.....................................,.....................................,........................,.++::,,.,,,,**+.,::,,,...........,.,,,,,,,
::,,,,,,,,::::+,.,...................................,.....................................,....,,..,,,,..........,,,,::::,,,,,:,**+,,................,,.,::::,
::::,::,,,:::::,,,,,.................,,,,,,,,,::,.....,,,,.,,,,,,,..............,,,,..........,,,,.................,,,,,,,,,,+,,,++:...,::::::::,,,,.,,,,,,,,,:
,,........,,.,:,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:,.,,,,,,.........,,,,,,.........,,,,,,,,,,,,,,.,,.......,,,,...,,::,:.....,..,,,,,:::,::::::,,,,,,,,,,,,,....,,,
,,,,,,,,,,,,,,:,,:::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,.........
,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:##############:,,,,,,.,+***####**:,,,,,,,,,,,,,,,,,,,::::,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........
,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,:,,,,,,:****####+++***:**###,,,,,,,,,,::,,,,::,:,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,,,...........
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,.,,::,,,,,,,,,,,*,,,****#*+++++++++++::+#*:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,::+.....,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,:,,,,,,:#:++++++::+++++++++++++++++***###*,,#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,::++:,,,,,,
,,,,,,,,,,,,,,,,,,,,:::++::::::::::**:::::+,.,,,**#,,,,,,,,,,,:*:,,,,,,,,,,,,:++:,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,::::++:::,,::
,,,,,,,,,,,,,,,,,::::::::::::::+:,,.,,::,,,,,,,,:+,,,,,,,,,,,,,:#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++:,,,,
,,,,,,,,,,,,,,,::++:++*+++:++:::::::,,,:,,,,,,,,::+***,:,,,,::::::::::::::::::++++++++::::,:,,..,,+########**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:+++++*
,,,,,,,,,,,,,,,:+++:++++++++++::::::::::::::+:****##****#+::::++++++++++++++++++++++++++++++:,,,:*####*#####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++:++
,,,,,,,,,,,,,,::++++++++++++++++++++++++:::++***####*******++++++++++++++++++++++++++++++++++++:####*######*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
,,,,,,,,,,,,,,::++++++++++++++++++++++++:::++++*******+++*#*++++******************++*******+++++######:#####::::::::::::+++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,::,:*+++++++++++++++++++++++++:++++:::::::+++*************##********##******+*******######+*###*++++++++++++++++++++++++++++++++++++::::+++++++++++
,,,,,,,,,,,,::::::::++++++++++++++::::+++++++::::::::::+++**********************###############*####**###***++++++++++++++++++++++++++++++++++++++++++++:::::::
,,,,,,,,,,,,::::::::::::+++++++++++:::::::::::::::::::::::+***########################################******++++++++++++++++::::::::::::::::++:::::::::::::::::
,,,,,,,,,,,,:::::::::::::+++++++++::::::::::::::::::::::::+++*******************++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::++:::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++::::++::++::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,::::::::::::::::::,,,,::,,,
:+++++++++++++++::::::::::++++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,
::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::,,,,,,::::::,,::::::::::::::::::::::+++++*+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::++++++++******####**********+++++++++++++++++++++++++
::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::+++++++++::+++++:+++++++++++++++++++++++++++++**++++++++++++++++++++++++++*
::::::::::,,,,::,,::::::::::::::::::,,::::::,,::::::::::,:::::::++++++++++++++++++++++++::::::::::::::++++:+++++++++++++++++::::++++++++++++++++**+++++++++++++
:::::::::+++++**++++++++++++++++::++++::::++++++::::+**+::::::++::::++++++++**+++:::::::::,,::::::::::::::::::::::+::::+++::::+:::::::::++++:+++++:::++::::::::
**************+*++++++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
$...........................................................................................................................**,.................................
..........................................................................................................................,**,.................................
..........................................................................................................................,**,.................................
...................................................................................................................,.......**,.................................
........:..........................................................................................................,......,**,.................................
........,.........................................................................,:::::...........................,......,**,.................................
........:............................................................................,.............................,..,...,**:.................................
...,:,,.:............................................................................,.............................,.,....,**:.................................
,,,,:,.,:......................................,.....................................,.............................,,,....:**:.................................
,,,,:,,,:,.....................................,.....................................,........................,,::++,,..,,:**:.,,,,,,,............,,,,........,
,,,:+,:,:,.....................................,.....,...............................,......................,,,,:::+,,,,:#***:.,:,,,,,..........,:::..,,,,,,.,,
:,,:+,:,:,,,..................,,,,,,,,,,,.,....,.....,..,,................,,.........,..,,,,,,,,,,........,,,,:,::,:+:::..:**::+:+::::::::::,,.,,,,,,,.,,,,,,,,
,,::::,,:,,,,,..,,,,......,....,,,,,,,,,,,..,,,,,,,,,,..................,,..........,,............,.....,,,,,,:,,,.,..,,,,:::,,,::::::::::::,,,,,,,,,,,,,,,,,,,
,,,,,,,,:,,:::::,,,,,,,,,,,,....,,.,..,,,,,,.,.,......................,,.,,.,,,,,,,,,,,,,,,,.....,,,,,,,,:::,:::::::,,,,,,:::,,,:::::,,,,,,,,,,,,,,,..,,,,,,,,.
,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::#########**:,,,,,,,,,,,::*****+,,,,,,,,,,,,.,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,.........
,,,,,,,,:,,,,,,,,,,,,,,,,,:,,,,,,,::,,,,..........,,::,,,,,+***######*****####+.,,::,,:,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,.......
,,,,,,,,,,,,,,,,,,,,,,::::::::,:,,,,,,,,,,,,::,,,,,,,,,:**+******++:++++++++*+:*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,..,
,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,::,,,,++,,,,::::+*#*********++++**#**#***,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::++...
,,,,,,,,,,,,,,,,,,,,,::::*::::::::::+*+::,,::,,,,+:+,,,,,,,,,,,*+,,,,,,,,,,,,,:++*,,,,,,,,,,,,,,,,,,..,,,,,,,,..,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,::+***+:,
,,,,,,,,,,,,,,,,,,,:::++::::++::+:,.,,,:,,,,,,,,,::,,,,,,,,,,,,,#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:,
,,,,,,,,,,,,,,,,,::++:+*+*++++::::::,,,,,,,,,,,,,,,:+::::,,,,:::::::::::::::::::::::::,,,,:,..,,,,,::#######:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:++++
,,,,,,,,,,,,,,,,,+++:+++++++::++::::::::::::++:********##*:::::::+++++++++++++++++++++++++++*+:,:,*###*######*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++
,,,,,,,,,,,,,,,,:+++:+++++++++++++**++:::::::**++++**######++++++++++++++++++++++++++++++++++++::*###*+#####*#::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
,,,,,,,,,,,,,,,,:+::::++++++++++++++++++::::+*++++++*#+*****++++********++**++**++++++++****+,::+###*##*#####+::::::::::::::::::::::::::::::::::++++::::::+++++
,,,,,,,,,,,,,,,,,:++++++++++++++++++++:::::::::::::++*****##**********######**########**##*******#######**#**++++++++++++++++:::::+++++++++++++++++++++++++++++
,,,,,,,,,,::::::::::::::+++++++++++++++++:::::::::::++******+***********************##########**######*###***++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,::::::::::::::::::++++::::::::+++:::::::::::::::::+++*##########################################******++++++++++++++::::::::::::::::::++:::::::::::::::
,,,,::::::::::::::::::::++++++:::::::+:::::::::::::::::::::++*************************++++++++++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++::::::::++++++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::+:++::::++++++++::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,
++++::::::::::++::::::++++::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::,,,,::::,,,,,,,
::::::::::++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++++**+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::,,,,,,::::::,,::::::::::::::,:::::++******##****+++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::,,::::,,,,::::::::::::::::::::::::::::::::::::++++++++++::++++:+*******+++++++++++++++++++++++++++++++++++++++++++++++**+***++*
::::::::,,,,,,::,,,,::::::::::::::::::::,:::::::::::::::++++++++++++++**++++++++++++::::++++++++++++:+++++++++++++:::::::+++**++++++++++++++++**+++++++++++++::
:::::::::::::::::::+++++++++++++++:+++***++:::++:::::::::::::+:+++++++**+++++++++:::::::++::::::::::::::::::::+:++++++++++++++:+++++::+++++++++:::::::::++::+++
**********++++++++**++::::++++::::::::::::::++:::::::+++::::::::++++++::::::::::,,::,,,,::::++::::::++::::::::++++++::++++++::::::::::::::::::::+:::::::++***++
$.................................................................................................................,**,..........................................
...........................................................................................................,.....,**,..........................................
...........................................................................................................,.....,**,..........................................
...........................................................................................................,.....,**,..........................................
..........................................................................................................,.......**,..........................................
..............................................................................,...................................**,..........................................
............................................................................,.............................,......,**,..........................................
............................................................................,.............................,.,....,**,.....................................,,...
......................................,.....................................,.............................:.,....,**:.................................,....,...
......................................,.....,...............................,..........................::::.,,...:**,....,,,.........................,,,:::::,,
,.....................................,......,..............................,..............,......,,,,,::++,,,,,:+**:.,,:,,............,::,,,,,,..,,,,:::::::::
,,,,....................,,,,,,,.......,......,..............................:....,,,,,,,..........,,,,,:::++**++++**:,,,........,,,,,,,,::::,,........,,,,,,,,,
,,..,,....,,......,,,,,,::::,,,,,.......,,,,++++,,,,............,,...........,,,,,......,,,,....,..,:.,,..:,,,,,,:++,,:,++++++::::,,,,,,,,,,.,,,,,,,,,,,,,.....
,,:::::,.,.,,,.,::,.......,,,,,,,,,,,,,.........,,,,,,........,,,,.,,,,,,,,,,,,,,,,,....,,,,...,::+,,,:::::,,,,,,::::,::::::::::::,,,,,,,,,,,,,,,,,,,,,,.......
,,::::,,,,,,,,,,,,,,,,,,:,:,,,,,,:,,,,,,.,,,::**#####**+:,..,,,,,,,,::++**::,,,,,,,,.............,......,,,,....,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......
,,,,,,,,,,,,,,:,,,,,,,,,,+:,,,::,,++:::::,,..,......,,:,:,,,:+**#######*****####:,::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,::,,:::,,,,,,,,,,,.....
,,,,,,,,,,,,,,,,,,,,,,+++:,,,,::+++:,,..,,,,,,,,,,,,,,,,,*++++****#+*+++++++++*++##*,,,,,,,,,,::::,,,,::,,,,::,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::::,:::,,........,,,,,,,,,,:,,,,:+:,,::++++********++++++++**#**##**,:+:.,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
,,,,,,,,,,,,,,,,::::::,,::,*:::::::,,**++:::::,,,,+*+,,,,,,,,,,,,*:,,,,,,,,,,,,,:+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
,,,,,,,,,,,,,,,,,,,,,,::::::::++:::,..,::,,:::,,,,,+,,,,,,,,,,,,,:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
::::,,,,,,,,,,,,,,,,::+:+*+*+:+++::::::::,,,,,:,.:,:***+,:,,,,:::::::::::::::::::::::::::::::,,,,,.,,:+#######+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*
,,,,,,,,,,,,,,,,,,,,+++:+++++++++::::::::::::::+****##***#*+:,::++:+++++++++++++++++++++++++++*+::,:*###*#*#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+
,,,,,,,,,,,,,,,,,,,:++++++++++++:::::::::::::+*####++#######*+++++++++++++++++++++++++++++++++++++:*####*#####*#::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,,,,,,,,,,,,,,,,,,:+++++++++++++:::::::::::++###############*++**********************++******+::+:#######*#####::::::::::::::::::::::::::++++++:::::::::::::::
,,,,,,,,,,,,,,,,,,,,::++++***+++++:::::::::::+******++******#***********################**#********####*##++##**+:+++:::++++++++::+++++++++++++++++++++++++++++
::::::::::,,,,,,,,,,,::::::+++++++:::::::::::::+++++++:::+****##########################################**##***++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::++++++++++:::::::::::::::::::::++**###########################################******++++++++++++:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::+++++:::::::::,,:::::::::::+++************++**++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++::++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::
::::::::::::::++++++::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,
++::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,
::++++++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::::::::::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::,::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,::,,,,,,,,::::,,::::::::::::::::::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,::::,,,,,,::::::::::::::::::::::::++******++++++***++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::,,::::::::::::::::,,,,::::::::::::::::::++++::::::::::++++****#********+:++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::,,::::::::::::::::::::::::,:::::++++::++++++++++++*+++++++++++++++::++++::::++++++++**++++++++++++++++++++++++++++++++++++++++++::::::::::+
::::::::::::::::::::::++++*******+::::::::::::::::::++++++++++++++++++++:+++::::++::::::::::++::++++:+:::+++:++++++++:*++++++++++++++++:::+++++++++*++++:::::::
****++++++++++++++++++::::++:++++:++++++::::++:::::::+++++++++++::::::::::::,,::::::::::::::::::::::+++++++:::::++::::::::::::::::::::++:::::::::++++++++++++++
$..................................................................................................**+..........................................................
...........................................................................................,++:...**+..........................................................
...........................................................................................,......**+..........................................................
...........................................................................................:......***..........................................................
...........................................................................................:......***..........................................................
...........................................................................................:......***..........................................................
...........................................................................................:......***..........................................................
..........................................................................................,:.,....***.....................................,+...................
......................,....................................................................:.,....***............................................,,,,..........
......................,......,...............................,.........................,++,:.,....***.....,...........................,,,::::,,,:::::::::,...,.
......................,......,...............................,....................,,,,.:+:,:.,.,.,***,,,:,,,...........,,,,,,,..,,,,.,:::::::::::::::,.........
......................,......,...............................,....,,,,,,...........,,,,:::,++++:::++*,,,..........,,,,,,,:::::,,,,....,,,,,,,,,,,,,,...........
..,,,,,,::::,,,,,,......,,,,,+++::,,............,,,,,,.... .....................,,,,..,,,,.,,,..,,++:..,++++++++++::,,,,,,,,.,::,,::,,,,..........,,,,,,,,,,,,,
,,,,..,,:::::::,,,,,,,,,........,,,,,,,,....,,,,,,.,,,,,,,,,::..........,,,,,,.,,,,:,...,,,,,,,,,,++:,::++:::::::::,,,,,,,,,,,::::::,,,,,,......,,,,,,,,,,,,,,,
,,,,,,,,:,,,,,,,.,,,,,,,.,,,,,..,:,,,,,,,,,,,,,,.,#########*:,,,,,,,,:+*****#*:,,,,,,,,,,,,,,,,,,,++:,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,
,,,,,,:,,::,,,:+,:++++:::::::::,::::::,,,,,,,,......,,,,:,,,,:*****#####*+**+*:###*:,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,:,+,,,,::::::::::::::::::::::::,,...,,,::,,,,,:,,,,:*,,,:**********+++++++*::*+,,,::::::::::::,,,,,::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++*#****+:,,,,,:::::::::::+++++***###***:,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,:::::::,,::::::::,,,,,,::,,::,:+:::::::,,,,,,**,,,,,,,,,,,,,*:,,,,,,,,,,,,,:+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,::::::,,,,,,,,,:::::::++::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::,,,,,,,,,,:::++++++++::::+:::,,,:::::###*####,:,,:::::::++++++++::++++++++::::::::::,.,.:+##########**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,:::+++++*******:++::::::*#########*##+::+++++++++++++++++++++++++++++++++:,,,:*###**#*#####+*,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++++++++++++###########**##*+++++******++++++++++++++++++++*+++::+*#############+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::++++++++++++++::++++*######+**#:####***********************************++++#####**+******+::::::::::::::++++++++++:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,:::+++++::::::::::+++++++++*********###***************++++++*****************#####*#*#:#**##+++++++++++++++++++++++++++++++++++++++++++
,,,,,,::::,,,:::,,,,,,,,:::::::::::::::::::::::::::::::+++++++++****##********####******######**####***#####****#++++++++++++++++++++++++++++++++++++++++++++++
,,,,::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::+*###############################********######***+++++++++++::::::::::::::::::::::::++++++:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::++++::++::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:,::::::::::::::::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::++++::++++++++++++++++++++++++**+++++*+
::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,::::::::::::::::::++++**++++*+***+++++++**++++++++++**++++++++++++++++++++:++++++
::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::+++++*******#+**++*+++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++:
::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++::+++++++++++++++++++:+++++++++++++++++++++++++++++++++:++++::++++++++++:::::::::
::::::::::++++++*+::::+:::::::::::++++::++++++++++++++++:++:::::+:::::+:::::++++++++::++:++++++*++++++*+++++++++++++++++++++++++++++::++::::::::::::::::::::+++
*+++++::::::++++++:::+**+:::::::::::++++++++++++++::::::::::,,,,::::::::::::::::::::+++:::+::::::::::::::::::::::::::+++++++:::::++++++++++++++:::+++++++++++++
$...........................................................................................,**,................................................................
.....................................................................................:**:...**,................................................................
.....................................................................................,.....,**,................................................................
.....................................................................................,.....,**,................................................................
............................................................................................**,................................................................
....................................................................................,,......**,................................................................
......................................................,.............................,,.....,**,................................................................
......................................................,.............................,,,....,**,.....................................,,........................,
..............:,::....................................,.............................,.,....,**,......................................,.....,,,..............,,,
................,.....................................,..........................:,,:,,...,,**,.................................,,::,:,,,,::::::,,,,,,,,,,.,,,:
................,.....,...............................,.......................,,.::::,,.,,.:**:.,,,,,,..............,,,,.,,,,.,,:::::::::::::::...............,
................,.....,...............................,,.....................,,,,:::+,,,:,,:++,.,,..............,,.,,:::,,,,,,.,,:,....,,,,,,,,..........,,....
::::::,,:::,.....,,,,,.,,,,,,,......,,......,,,,...... .....,.............,,....,::.:.,,,,.,++,..,+++++++++:::,,,,,,,,,,,,,,::.,:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,.........,,,,,,,,......,,,,,,,,,,,,,,,,..................,,:,,...,,,.,,,,,:++:,:+:::::::::::,,,,,,,,,,,:::::::,,,,,........,:,,,,,,,,::,,,,,,,
,,,,:,,:,,.,,,,.,,..,,....:,,,,,,,,,,,,,,,,,.,,,,,,:#######*+:,,,,,,,,:+****#**:,,:::::,,,,:++,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,:::,,,,,,,,,,,,,,,
,:,,,,,,+:::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,....,,,,:,,,:,:*****######*****+###*,,,,,,,:++::,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,
,,::,,,:::::::::::++::++::::::::,:,,::,,....,,,,,,,,,:,,,,,:*:.,*****#*++***++:+:+#,:#:,,,,:::::,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,
::::,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:++******::,,,,,::,::::::::++++++***###**:,,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:::::::,,::::::::::::::,,,,,:::::::::*:,::::,.,,,,,+#:,,,,,,,,,,,,**:,,,,,,,,,,,,,:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,
::::::::+,,,,,,,,,,,,,,,,,,::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,
::::::::::::,,,,,,,,,,,,,,:::+++++++::::::::,,:::,,+###*###*:,:::::::+++++++++::++++++++:::::::::*:,..,:+##########**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++**#***++::::::+#######***##*+::+++++++++++++++++++++++++++++++:+::,::####*##*#####*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++++++++++++*#**###*########*++++********++++++++++++++++++**++:::+####*#########*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++::+++++++++++##**:+*:*####*##***********************************++++#####*+****##*+:::::::::::::::++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::++++++++****##********************************************#####*#+#*#*#*#*+++++++++++++++++++++++++++++++++++:::+++
::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::++*++++++:++***************###*******###########**+####******+++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::,,::::::::::::::::::::::::::,,,,,,,,,,:::::::::::+*****###############******************************++++++++++++++++++::::::++::::::::::++:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++::++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,
++++::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,::::::::::::::::::++:::++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::++++**+++++++++++++++++++++++++++++++++
::::::::::::::::::::::::,,,,::,,,,,,,,,,::::::::::::::::::::,,,,,,,,::::::,,:::::::::::::::::::++***++****++++**++**++++++++++++++++++++++++++++++++++++*+++::+
::::::::::::::::::::::::,,,,::::::,,::::::::::,,,,:::::::::::::::::::+******************++++++**++++++++++**++++++::++++++++++++++++++++++++++++++++++::::++:++
:::::::::::::::::::::::::::::,::,:::::::::++++++++++::++:+++++++++++++++++::++++++++++++++++++**++++++++++++++++*++++*+++++++++++++:::::++++++++::::+++++++++++
::::::::::::::::::::::::::::++++++++++++++++++++++++::::::::::::::::++++++++++++:::+++:+*+++:+++*+++++++++++++++++++++++++++::,,::::::::::::::::::::::++++++++:
::++++++++++:::+**+:::::++::::++++++++++*+++::::::,:::,,,:::::::::::::::::::::++::++::::::::::::,,::::::++:::::+++++::::::++++++++++++++:+::+++++++++++++++++++
$..................................................................................**:..........................................................................
...........................................................................,:::...**:..........................................................................
...........................................................................,......**:..........................................................................
...........................................................................,......**:.................................................................,+++++:..
...........................................................................,......**:....................................................................,.....
...........................................................................,......**:....................................................................,.....
...........................................................................,......**:....................................................................,.....
............................................,..............................:,,,...**:....................................................................:.....
....,,,,....................................,.............................,,.,....**:.............................................................,,,:,::+:,...
......,.....................................,..........................,,,,,.,...,**:.................................,,,,,:,,,,,,:::,,,,,,,,,,,.,,,:::::+:,,,.
......,.....,...............................,.........................,::+:,.,,,.,**:.,,,,,,..............,,,,....,,,,,:::::::::::::,,.............,:::::+,....
,,....,.....,...............................,,....................,,,,,:+::,,,,.,,**:.,,..................,,,,,,,,,,,,,:,....,::,,,,,..........,,,....,,++:,...
:,.....,,,,,.,,...,,....,,.......,,,,,..,,,....,,,,...,,,,......,,..,,.,:,,,.:+:,:++:...+++++++++:::,,,,,,,,,,,,,,::.,:,::++++::::::........,,,,,,,,,,,,,,,,,,,
..,,,,,,........,,,,,,,,......,,,,..,,,,,,,,,,...........,......,,,,,,,...,..,,,,,++:,:+:+++::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:::,,,,,:::,,,,,,,,,,,,,,..,
,,,,,.,,..,,....,,,,,,,,,,,,,,,,,,.,,,:,,,::::,,,,,,,,#######*:,,,,,,,,+**####**:,:::,::::::,,,,,,,,,,,,,,,,....,,,,,,,,,,,,..,,,,,::::::::::,,,,,,,,,,,,,,,,,.
::::::::,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,:,,,:+#***#######***+*+###*:,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::::::,::,,,,,,,,,,,,,
::::++++++::++++::::,,::::,,:,.,,,,,,,,,,,,,..,,,,,,:,::,,::+++,+*******++****+++++*+:#:,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,
,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,::+****:+::,,,,,,.,,,,,,,,,,,,,:::::++**##**++,:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,,,,,,,,,,,,,:++*++:::+,,,,,:,,,,,,,+#.,,,,,,,,,,,,**,,,,,,,,,,,,,,++:,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++::++++:,,,,,,,,,,,,,:,,,,,,,,,,,,,,#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,,,,,,,,,:::++++++:::::++++::,,:*#####****+:,:::::+++++++++++++++++++++++::::+:*:,,,::*##########**::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,.,,,,,,,,,,,,,,,,,,,,,,,:::::++*******:++:::::***##########*+::++++++++++++++++++++++++++++++++::,,:+#######*#####*,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,.,,,,,,,,,:,,,,,,,,,,,,,:::::++++++++++++++++###############*++++****************************+++++++####*#####:###*+,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::++++++++++**#####**+****#**#***********************************++**####*##*****#*+++:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++******:+++:::+****************************#*******##**######**+##**#++++++++++++++++++++++++++++++::::+++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+**++++++:::::++*****################################***#####******++++++++++++++++++++++++++++++++++++++++:::
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::++++******************++**++++++++++++++++++++++++++++++++++++++::++++:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++++++++::++++++++++++++++++++++++++++::::::::++::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::
::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::::::,,::::+++++++++++++++++++
::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::++++++++++++++:+++++++++++++++*+++++++++++++*++
::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,::::,,::::::::::::::::::::++++++****++++++++++:+++++++++++**+++++++++++++++++*+++**++++++++++++++++
::::::::::::::::,,,,,,,,,,,,::::::::,,,,,,,,:::::::::::::::+**+++++*************++++***+++++++++++++++++++++++++++++++++++++++++++++++++++::::::+++++++++******
::::::::::::::::::::::::::::::::::++::++++++::::++++++++++++++++::+++++++++++++++++***+++++++:+++++++++++++++++++++++++++:::::::++++++::+++++++++++++++:::++:::
,,::::::::::::::++++++++*+++++++++++++::+::::::::::::+++++++++++++++++:::++++++::::++++++++++++++**++++++++++++++++:::::::::::::::::::::::::++++++++:::++++++++
++:::+**+:::::++::::+++++++++***++++::::::::::::::::::::::::::::::::::::++::::::::::::::::++++++::::++++::::::::++::::++::::+++++++++++++++++++++++++++++++++++
$...........................................................................**:.................................................................................
.....................................................................,.,...**,.................................................................................
....................................................................,......**:.................................................................................
....................................................................,......**:.................................................................,::::+,.........
....................................................................,......**:....................................................................:............
....................................................................,......**:....................................................................:............
...........................................................................**:....................................................................:............
.....................................,.............................,::,,..,**:....................................................................:............
,....................................,.............................,,,....,**:......................................,......................,,,::,:*:...........
.....................................,............................,,,,....,**:...................................,,,:,,,,,::::,,,,,,,,,,,.,,,:::::+:,,........,
.....................................,.........................,::::,,....,**:.,,,,,,,............,,..........,,,:::+:::::::+:..........,,.,,:::+:+,....,,,,,,,
.....,...............................,......................,,,,::::.,,,,,+**:...................,,,,,,,,,,,.,,,:,.. .,:::,,:,..........,,......,:::........,..
....,,..,,.................,,,,,..,,,,..,,,,,,,,,,,,.........,,,:,,:,,,+,,:+*:,,.++++++++++::,,,,,,,,,,,,,::,,,:,,::::::::+::,.........,,,,,:::,,,,,,,,,,,,,...
.........,,,,,..,,....,,,,..,,,,,,.,,,,...........,,....,,,,,,,.........,,,:::,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::,,,::,,,,,,,,,,,,,,.,,,,
.........,,,,,.,,,,,,,,,.,,.,,,,,,,,::,.,,,,,,..,,..,,:#**####*:,,,,,,++**#####**::,::,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::::::,,:,,,,,,,,,,,,,,,..,,,,,
:,::,:,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,:::::,,,,,,....,,,,,,,,:******#######**++:**##+,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,:::::::,,,,,,,,,,,,,,,,,,,
++:::+::+:::::,,::,,:,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:,,,,,:**,+********++***+++++*+:+:,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:+***+::.*,,,,,,,,,,,:,,,,,,,,,,,,,,,,::*##**+:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++::,,,,,,,,,,,,,:*,,,,,,,,,,,,,**,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*+::++++:,,:,,,,,:,,,,,,,,:,,,,,,,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..,,,,,,::,,,...,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,:::++++::::::::::++++*#####****#::,:::::+++++++++++++++++++++++::::+:#:,,.::###########+*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++*****:++++::+#######+*#####+::++++++++++++++++++++++++++++++++::::+*####**#*#####*+*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,:,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++######**#######**+******************************++::+++###############+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++++++++*******++++***####********#*################****#********#########***#++::::::::::::::::::++++++++++:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++++****+++++::::+*****###################################**######****+**#++++++++++++++++++++++++++++::::++++:::::::
::::::,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,::::+++++++++:::::::::++****##########################################********+++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::
::::++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,,,::::::::::::::++++++**+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::+++++++++++:+++++++++++++++++++++++++++++++++++++++++
::::::::::::::,,::::::::::::::::::::::::::::,,,,,,,,::::,,,,::::::::::::::::++::+++++*++**++++++++++++++++++++++++++++++++++++++++*+++**++++++++:++++++++++++++
::::::::::::,,,,,,::::::::::::,,,,,,::::::::::::::::++::::++****************+***++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++******+++++++
::::::::::::::::::::::::::::++++++***++::::+++++++++++++++++++++**++++++++++**++*+++++:+::++++++++++*+++++*+:+++++::::::++++++++++:+++++++++::::::++::::+++++++
::::::::++++++++++++++++++++++++::::::::::::::+++++::+++++++++:+::++:++:::+++++++++++++++*++++++++++++++++++:::::::::::::::::::::::::+++++++++::+++++++++++++++
*+::::::::::++++++++++**++++++++:::::::::::::::::::::::::::::::::+++::++::::::::::++++:++:+++++++:::::::++++::::++::++++++:+++++++++++:+++++++++:::++++++++++++
$................................................................**+............................................................................................
................................................................**+............................................................................................
.........................................................,......**+............................................................................................
.........................................................,......**+............................................................................................
.........................................................:......**+....................................................................,.......................
.........................................................:......**+....................................................................,.............. ........
..........................,,.............................:......**+....................................................................:............,..........
..........................,..............................:,,,...**+....................................................................:............,..........
..........................,..............................,.,....**+......................................,......................,,,,,,:+,...........,..........
..........................,.............................,,,,....**+...................................,,,,...,,,::,,,,..,,,,,..,:::::::+:,,.........,,......,,,
..........................,..........................,:::,.,..,.**+..,,,:,..............,,.........,,,::::,,::::::::,,.....,....,::+:+:+,,....................,
..........................,,......................,,,,:::,,,,,****+.,,,,,,............,,,,,,..,,,,,,:,:,,,,,:::::::...........,,,,,...................,,......,
................,,....,,..,,.,,,:,,,,,..,,........,,,,:,,:,,+,.,+++,:,++++++++++::,.,,,,,,,,,,,,,,.,:,.,,,::::,:,:...........,,,,:::,,,,,,,,,,,,:,,,,,,,,.....,
....,,......,,,,,........,,,............,,..,,.,,,,:,,,.,,.,,,,,:+:,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::,,:,::::,,,,,,,,,,,,,,,,,,,,......,
,,..,,,,,,,,,,.,.,,,:,,,::::,,,,,,....,,,,,,.,,,:,::::::######*+,,::,,:+*######*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,
::::,:::::::,,,,,,,,,,,,,,:,,,,,,,,,,,,,....,,,,,,....,,,,,,,,:+#****#######***+**###+,,,,::,,,,,,,,,,,,,,,,,,,,::::,,:::::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,..,,,,,,..:::::::::::::::,::,,..,,,,,,,,::::::,,,*+,**********++**+++++*+::+:,,,::,,::,,,,,,,,,,,,,,,,::,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:,,,:,+****:,,,*,,,,,,,,,,,:,,,,,,,,,,,,,,,,:+*##**+:,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:,,,,::,,,,,,,:*,,,,,,,,,,,,,+*,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,...,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::::::,,,,,,,,,,,,,,::::,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,..,,,,,,,,,,...,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++::::::::::++########**#+:::::::+++++++++++++++++++++++::++::#:,,,:+###########+*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++*+++++:++#########**###+::++++++++++++++++++++++++++++++++:::::*####*+#*#####*+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++***#**#*########********************************++::++*##########*####::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++::::++*******#######**********####################********#####*##***#***+::::::::::::++++++++:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++****++******##################**#######*##############***##**#++++++++++++++++++++++++++++++:::::::::::::
,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+++++++****############################################***#******++++++++++++++++++++++++++++++++++++:::
::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:::::::::::::::::::::::::::::::::
::::::::::++++::::++::::::::::::::++++++++++++++++++++++++++++::::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,,,:::
::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++
::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,:::::::::::::::::::+++++++++++++++++++++++**+******
::::::::::::::::::::::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::++:++++++++++++++++++++++++++++++++++++++++++***+++++++++
::::::::::::::::::::::::::::::::,,,,,,,,::::::,,::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++*++
::::,,,,,,,,,,::::::::,,,,,,::::,,::::::::::::::::++++*************+++++++++++++++++++++++++++++++++++++++++++::++++++++::++++++++++++*******+++++++++++:::::::
:::::::::::::::::::+++++++++++:+++++++**++++++++++++++++++++++++++::++++++++++:+++++++++++++****++++++::::::++++++++++++++++++::++++++++++::::+++++:::::++++:++
++++++++++**++++++++++:+++:::+++++++++++::::++++++++++:+::::++::++++++++++++++++++++++++++++++++++::::::::::::::::::::::::++++++++:::+++++++++++::+++++++++++++
:++++++++++**++++++++++::::::++:::::::::::::::::::::::::+++++++++++:+:++++++++++++::+:::::::++++::::++::::+++**++++++++++++++++++++++++++++++++++++++++++++++++
$..............................................,**,.............................................................................................................
..............................................,**..............................................................................................................
..............................................:**..............................................................................................................
.......................................,......:**,.............................................................................................................
.......................................,......,**,.............................................................................................................
.......................................,......,**,.............................................................................................................
......,,,,:,...........................,......,**,...............................................................................,,,......................,....
.........,.............................,......:**,....................................................................................................,........
.........,.............................:.,....:**,...............................................................,,,,::,...........,..................,,...,...
.........,.............................:.,....:**,.....................................,,....,,,,,......,,,..,,,,,::,:::,..........,........,,,,,,,,,,,,..,,.,.
........,,........................,,::::,,...,:**,,,,,,,,.............,,..........,,,,:::,,,:::::::::,..,,....,:::::::::,................... ...,,,,,,::,::::::
........,,......................,,.,::::,,,,:*+*+:,,,,,,............::+,,,......,,,,::::,,,,:::::,..........,,,,,,.,,:,,,,,.......,,,,,.....,,,,,,,,,,,,,,,,,,,
,,,,..,,.,.,.,,,,,,,............,,,::,,:++:,,,+*+,,,,:,,,,::::::,,,,,,,,,.......,.,,:,,,,,,,,,:,:..........,:,,..,:,,,,,,.,,,,,:,,:,........,,,,........,,....,
........,,,,,,.......,,,....,,,,,.,,,..,.,,,.,:++,,,::::::::::,,,,,,,,,,.,,,::,,,,,,,,,,..,,,,,::,::,,::::,,,,::,::,,,,,,,,,,,,,,,,.,,,,...,,,,,,,,,,,,,,,....,
,,,,,,,,,:,,,,,,....,,,,,,.,,,,:,,::::::::,,,,:::,,:::::::##*##*:,,,:,,:+***###*+:,,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,
,,,,,,::,,,,,,,,,,,,......,,,,,,..,,,,,,,,..,,:::,,,...,,,,,::,:#*****########***:###*,,,,,,,,,::::::::,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::::::::::::::::::,,,,,,,,,,,:,,,,,,,,,,.,,,,:::,:,,,,::*:**********++*+*+**++*:::,,:.,,,:::::++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::,,::::::::::,,,,,,,,,,,,::,,,,::++++::+:,,,+,,,,,,,,,,,,::,,,,,,,,,,,,,,,:+*#**+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,,,,,,,,:+,,,,,,,,,,,,,**,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::,::::,::::++::,,,,::::,::,::::,,,,,,,,,,,,,,,,,,,,,,,:,,,.,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++:+:+::::::::+######****#,:::+++++++++++++++++++++++++++++++:*:,,,:+###########**:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++*#######*##**#*++++++++****+++++++++++++++++++++++::::*#############****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++*#***##****+***#********************************++:::+*#####**###**###*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++*****#***************************************######********#######:***#***++::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::++******+++++++++****############################################**###*#**+++++++++++++++++++++++++++++++:::::::::::
::,,,,,,,,,,::,,,,,,::::::::::,,:::::::::::+++*+::++++++:::+++**###################################################*******++++++++++++++++++++++++++++++++++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++::::::++::++::++:::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::++++++++++++++++++++++++++::::::::::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::::::::::::::::,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::,,::,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++
::::::,,::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::++++++++++++++++++++**********+++++++++++++++
::::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::++++++++++++++++++*++++++++++++++++++++++*+++++++++++++++++++++++++++++
::::::::::::::::::::,,::,,,,,,,,,,,,::::::::::::::::::::::::::++++++++++++++++++++++++++++++**+++++++++++*++++**+++++++++++++++++++++++++++++++++++++++++++++++
::::::::,,::::::::::::::::::::::::::::+++++*******++++++++++++++++++++++++++++++++++++++++++::++++++++++:+++++::++++***+++++++++***+++::::+:::::::+++:+:++++++:
::++++++::::::+::+++**#********+++++++++++++++++++++++++++++++++++++++*+++*****++*++++++++::++++++++++++++++++++++++++++++::++++++::::++++++++++++++::::::::+++
++*+++++++++++++++++++::::::++++++++:+++++++::++++++:::+++++++++++++++++++++++++::::::::::::::++::::::::::::::++::::++++++++++++++++++++++++++++++++::::::++++:
++++++++::::++++::+:::::::+:::++::::::++++++++++++++*++++++++++++++:::::++++++::+++++:::::::+++++:++++++++++++++:::+++++++++++++++++++::::+++++++++++++++++++++
$.......................................**,.....................................................................................................................
......................................,**,.....................................................................................................................
................................,.....,**,.....................................................................................................................
.......................................**,.....................................................................................................................
...............................,......,**,....................................................................,................................................
...............................,......,**,....................................................................,................................................
,,,,...........................,......,**,....................................................................,..........,.,,..................................
.,.............................,......,**,....................................................................,............,......................,............
.,.............................,.,....,**,......................................,........................,,,.::,...........,..................,,...,......,,...
.,.............................,,,....,**,......................................,....,,,,,............,,,,:::++:,..........,...........,,,,,,,,,..,,.,..,,,,,,,
,,.........................,::::,,..,,,*+,..,,,,..........................,,,,:::,,,,,:::::::,...,....,:::::+:+:,,.........,.........,,,..,,,,,,,,,,,,,,,,,,,:,
,,......................,,,,::::,,,,,::**:.,,,,,,...........,::,,,......,,,,:::::,,,:::::,...............,,,,::,,,......,,,,,,,....,,,,,,,,,,,,,,,,,,,.,,,,,,,.
.,,..,,,,,,,,...........,,,,:,,:+++::::++:,,,.....,,,,,,,,,,,::::,........,,,,,,,,,,,,,,,..........,,,....:,,,,,,,,,,,.,..,.........,,,.........,,..,,,,,:+,,,,
..,,,,........,,....,,,,.,.,,,.:.,...,:++,.,,+++++::::::,,,,,,,,.,::::::,,,,,,.......,,::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,.,,,,,,,...,,,,,,,,,,,..,,....,,,,,,,,,
,:,,,,,,....,,:,,,,,,,,:,:,,:::::,,,,,::::,:::::::::::,,,,###*+:,,,,:,,:+******+,,,,,,,:::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,
,,,,,,,,,,,,......,,..,,........,,,,,,:::,,,,,,,,,,,,,..,,,,:::+#****######*#*****##*,,:::::::+:::+,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,:::,,,,,*:,**********++***+**+++::::,,::*+:::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,,::::+*++:,,:+,,,,,,,,,,,::,,,,,,,,,,,,,:::+*##*#:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,..,:,,,,,,,,,+,,,,,,,,,,,,,**,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:::,:::,,:::::,,::::::::,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++::++::::++#########*#+:::+++++++++++++++++++++++++++++++:#::,,::###########*#:*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++:+*##########**##+++++++++**++++++++++++++++++++++++::::*######:#*#####*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++++++****+*#+####************************************+:::+*#####**########*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++***+++++++****#*#**#*+++*************************######*******#####*##***###*+++::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++*++++++++++++++++++*############################################**##*###++++++++++++++++++++++++++++++++++++++++::+
,,,,,,,,,,,,::::::::,,,,,,::,,::::::::+++++++:::::::+++++++++**###################################################******++++++++++++++++++++++++++++++:::::::::
::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::
++::::::::::::::::::::++++++++++++++++++++++::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::
++++++++++++++++++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::::::::::::,,,,::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,::,,::,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::::::::::::::::::::::::::::::::,,,,::::::::,,::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++
::::::,,::::,,,,::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,::::::::::::,,,,::::::::++++++++++++++++++++**++*****++++++++++++++++++++++
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,::::::::::::::::::++++++++::++++++++++++++++++++++++++**++++**+++++++++++++++++++++++++++++++
::::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::::::::::::::::++++++++++++++++++++++++++**++++++++++++++++++++++**+++++++++++++++++*+++++++++++++++++++++++++++++++
::::::::,,,,,,::::::,,::::::::::::++******++++++**++++++++++::++++++++++++++++++++++++++++++++++:+++++++++++***+++++++++***+++++:++::::::+++++++::+++++++++++++
:::::::::++++*********#+++::++++++++++++++++++++++++++++++++++++++++***+**++++++++:::+++++++++:+++++++++++++*+++::::++++::++::++::::++++++::++++::+++++++++++++
++++++++++++++++::++++++++++++++++++++++::++++:+:+++++++++++++++++++++++:::::::::::::+++::::::::::::++++::+:++++++++++++++++++++++++++++++++::::::+++++++++++++
::::+:::::::::::++++++++:+++++++++++**++++++++++++++++++++++::::++++++:+++*+::::::::::++::::::::++++++++:::+++++++++++++++++++::::++++++++++++++++++++++**++:::
$...........................**:.................................................................................................................................
...........................**:.................................................................................................................................
....................,......**:.................................................................................................................................
....................,......**:.................................................................................................................................
....................,......**+....................................................................:............................................................
....................,......**+....................................................................:............................................................
....................,......**+....................................................................:.........,:++::.............................................
...........................**:....................................................................:............,...................,...,.......................
...................,.,.....**+.....................................,,........................,,,,,+,...........,...................,..,,......,,...............
...................,,.....,*+:......................................,.....,,..............,,,,::::*:,..........,...........,,,,,,,,,..,,.,..,,,,,,..,,.........
...............,:::,,,,,..,++:....,,,.........................,,,,,,:,,,,,,,,,,,:,...,,...,,::::+:+:,,.........,......,,.,::,.,,,...,,,...,,,,,,....,,,.......,
............,,,,::::,,,,,,,++:.,,,,,............,,:,,,.......,,:::::::,,:::::,...............,,,,::,,,......,,,,.......,,,,,,,,,,,..,,.,,,,,,,,,.,.,,:***:,,,,,
,,,,......,,,,,,::,::+++:::++:,,...........,,,,,,,::+:,,,,.....,,,,,,,,,,,,,,...........,,,...,,:::::,,,................,,,,........,,::::+:,,*,,,,,,,,,,,:::::
........,,..,,,,,,,,.,..,,,++:,,,:::::::::::,,,,,,,,,,,,::::,,,,,,........,,:,,,,,,,,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,..,,,:,,,,,,::,,,,,,:++:,:::::::::::::,,,,,,,,,,,:::***+:,,,,,:,,:++***+,,,,,:::::::::,::,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,
......,,,,....,,,,,,,,,,,,:++:,,,,,,,,,,,,,,,,,,,,,,....,,,,:,:*****########***#*##*,,::,::::::,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,::,,,,,:,,,,::,,,,::*+.:+*******++++**+*****:+::,,:::,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::::,,,,,,::,,,,,,,,,,,,:,::++++*+:,,:*:,,,,,,,,,,,::,,,,,,,,,,,:::++*##**::+,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,::,,,,,,,,,,,,+*,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,:,,,:**+:,,,,::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++:::::::::**######*++*::::++++++++++++++++++++++++++++++:#:::,:+###########**:*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++++#************#*+++++**++**++++++++++++++++++++++::::+#########*#####+*+,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++#****++++****************************************:+++*#######*########++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++************+++++++*****************************************#######*#**###*++::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++::::+++***####################**********############**##*****++++++++++++++++++++++++++++++++++++++++++++
::::::,,,,,,::::::::::::::::+++++++++++:::::::::::+++++++***************#########################################*******++++++++++++++++++++++++++++:::::::::::
::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++++++++++++++++++::++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::
++++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+
::::::::::::::::::::::::::,,,,::::::,,::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++++
::::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++++++++++++++***++****+++++++++++++++++++++++++++++++++
::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::++++++++++:+++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++*+
::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++*++++++++++++*+++++*++++++++++++++++**++++++++++++++++++*+++:++++++++++++++++++++++++++++++++++++++
,,,,::::,,,,:::::::::::::+++**+++++++*++++++++++++:+++:++++++++++++++++++++++++++++++++++++++++++**+++++++++***+++++::+::::::+++++++::::++++++++:++++++++++++++
+++*##********++++++:+++++++++++++**++++:++++++++:++++++++*++**+++++++::++++++++++::++++++::++++++++++:::+++::++::++::::::++++::++++::::++++++++++++++++++++++:
++++++++++++++++++++++++++++:::+++++++++++++++++++++*++++++++:::::::::::::++::::::::++::::++::::::++++++++++++++++++++++++++++++::::::::++++++++++++++++++++::+
::+++++++++++++++++++++***+++++*++++++++++++++++::++++++++++++*+:::::::::::::::::::::+++++++:::+++++++::++++++++++++::++++++++++++++++++++++**++++++++++++:::++
$...................:**.........................................................................................................................................
...................:**.........................................................................................................................................
............,,.,...:**.........................................................................................................................................
............,......:**.........................................................................................................................................
............:......:**....................................................................,,...................................................................
............:......:**....................................................................,,...................................................................
............:......:**....................................................................,,........ ,++::.....................................................
............,......:**....................................................................,,...........,.......................,...............................
............:.,....+**......................................,,........................,,,.::...........,...................,...,.......,.......................
............,.,....:++.......................................,......................,,:::::+,,.........,............,,,,.,,,..,,.,....,,....,,.................
........,:::,,,,...:++.....,,..........................,,,,,,:,,,,,,,,,,,,,,.,,,..,,,::,:::+:,........,,......,,,,:::,.,,,..,,,....,,,,,..,,,,,..,....,,,,.....
......,,,:::,,,.,,,:++,,,,:,,,...........,,,,,........,,::::::,,,,::::,..............,,,,,:,........,,,,........,,,,,,,,,,..,,,,,,,,,..,,,.,.,+**:,,,,,,,,::::,
....,,,,:::,+++:,:,::+,,,...........,,,,,,::::::,,,,...,,,,,,,,,,,,,,,..........,,.....,:::::,...................,,,......,,,,,:+++:,,:,,,,,,,:::::::::::::::::
,,,,.,,,,,,,,......:++..,,:::+::::::,,,,,,,,,,,,::,,,,,,,,..........:,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,.....,,:.,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::,,,,,,::,
,,,,,,..,,,,:,,,,,,:++,,::::::::::::,,,,,,,,,,,,::::::,,,,***+,,,,,,:,,:++**++,,,,,:::::,,,,,,,,,,,,,,:,,,....,,....,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,..,,..,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,:,:*****########***####+,,::,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,.,:,,,,,,,,,:::::,,,,,,,,,,,::::::::,,,,,:,,,,::,,,,:,*+,+********++***++***#+::::,,,,.,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,::+++++:,,,+:,,,,,,,,,,,:,,,,,,::,,,,,,:++##***:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,::,,,,,,,,:,,,,,,,,,,,,,**,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,,:::+++::,,,,:::::,,:::::::,,::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::++++:+::::::++++***####**+::++++++++++++++++++++++++++++++:**:::,:####*#######*+:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++++:+**+++*##+****#++++++****++++++++++++++++++++++++++::+#########*####****,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++++++****++++*######**********************************:::+########*#######*::,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++***+++++++++++************************++++****************#####*:#+*##***+:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++::::::+++++**********##********++****++++++++****##########**##*#*++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::++++++::::::::::::::::::::+++++++***********************************####################******++++++++++++++++++++::++++:::::::::::::::
::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++::::++++++++++++++++++++::::::::::::::::::::::::::::::::++::::::++::::++::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,,,
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,,,::::,,::::,,::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++
::::,,::::::::::::::,,::::::,,::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++++++::+++++++++++++++++++++
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::::::::::::::::::++++++++++++++:+********++**+++++++++++++++++++++++++++++++++++++
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::,::::::::::+++++++++++++::+++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++**+++++++++
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++**+++++++++++++++++++++++++++++++++++++*++++++++++++++++++**++::+++++++++++++++++++++++++++++++++++++++++:::+
,,,,::::::::::::::::++++++++++**++++++++++++++:+++++++++++++++++++++++++++++++++++::+++++**+++++++++***+++++::++::::++++++:+::::++++++++++++++++++++++++++++::+
************++++++++++++++**++++++++++++++++++++++*+++*++++++++++++++++++++:++++::++++++++++++:::++++++::::+::::::++::::++++::::++++++++++++++++++++++::::+++++
++::+++++++++++++++++++++++:++++++++++++++++++++++++++::::::::::::++++::::::++::::++++++::++++++++++++++++++++++**+++++++:::::++++++++++++++++++++++::+++++++++
++++++++++++++++*+++:++**++++++++++++++++++++++++++++++*:::::::::::::::::::::+++++++++::+*++++::++++++++++++::+++++++++++++++++++++++*++::::++++++::+++++++++++
$.......,**.........................................................................................................................................:...........
.......,**,........................................................................................................................................:...........
:+*+...,**,........................................................................................................................................:...........
,......,**,........................................................................................................................................:...........
,......,**,.................................................................:::*+:.................................................................:...........
,......,**,....................................................................,...................................................................:...........
,......,**,....................................................................,...................................................................:...........
:......,**,....................................................................,............,......................................................:...........
:.,....,++,................................................................,..,:............,..................,...,.......,.......................+...........
:.,....,++,.............................................................,,,,,::+,,..........,............,,,..,,...,,,,,..,,,,..,,................,:....,,.....
:,,,...,++,.....,...........................,,,,,,,,,,,,,,:,,,,,,,,,...,,,:::::+:,,.......,.,.........,,::,,,,,,...,..,,..,,,,,,,,,,,,,,,,.....,,,,+::,,,,,::::
:,,,,,.:+:,,,,,,,,........................,,,,::,,,,,,::::,,.............,,,::::,...,,,,,,,,........,,,,,,,,..,,,,,:::::,,,+:::.,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,
::,:,,,:+:,,,,............,,,,.,::+:,,,,...,,,,,..,,,,,,,,...........,,,...,+++++:...................,..,,,,,,,,,,,:::::,,,,,,,,,,:**+::::::,,,,::::,,::::,,,,:
,.,,..,::+,.,,::++++::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,
,.,,,,,:+::,:::::::::::::,,,,,,,,,::::::::,,,,,,,,,,,,,,,:,,:,,,..,,,:,,::::,,,,,,,,,,.,,,,,,,....................,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,:::,,,,,,,,,,,,
,,,,,,,:::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:*#**########**####*:,,,,,,,,,,,,,:,,,:::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,
,,,,,,,:::,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,:::::,+:,,:********++**++****::+:,,.,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::::,,,+,,,,,,,,,,,,,,,,,,,,,,::::+++*####:,,+,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,**,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:,:::,,,::+*+::,,,,::::,,::::::::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,.. .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::::##*##*#**##*+:::++++++++++++++++++++++++++++::**::,::###########*#,+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++:::::::::*####***####***++++++++++++++++++++++++++++++++++:::*#####*###*#####**+,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++:::::++******+*#####**********************************+++++################+:+,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::++++++*******##**#*******************++++***************######*#**#*#***::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++************++++++#***++++++++**###########**####+++++::++++++++++++++++++++++++++++++++::+++++++
::::::::::::++++++::::::::::::::::::::::::++::++++++++++++****++++++++**************************##############******++++++++++++++++++++++++:::::::::::::::::::
::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++::::::::::::::::::++++::::++++::++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,:::::
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::,,,,::::,,,,,,,,,,::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++++++++++
::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++++::++++**+++++++++++++++++++++++++++
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,::::::::::::::::::++****+++++++++++****+****++++++++++++++++++++++++++++++++++++++*+::++::+
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,:::::,::::::::::++++::++++++++++++++++**++++++++**++*+++++++++++++++++++++++++++++++++++++*****+++++++++++::::++::+
,,,,,,,,,,,,,,,,::::::::::::::::::::++++**++++++++++++++++++**+++++++++++++++++++++++++++++++++++*++::+++++++++++++++++++++++++++++++++++++++++:::++++++::::::+
::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++**+++++++++++++++++++++:+++++++++++++++++++++:+:++++++++++++++++++::++++++:::::::
*****++++***++++++:++***++*+++++++++++*++++++++:::++++++:+++++++++::++++++++++++++::++++++::::::::::::::::::++++::::++++++++++++:+++++++++++::++::::::++++++++:
++++++++****+++++++++:++++++++++++++++++++:+++:::::::+++++::::::::++++++++++::::+:::++++++++++++++++++++++++::::::::++++++++++++++++++++::++::+++++++++++++++++
+++++:::++++++++++++++***+++++++**++++++::::::::::::::::::::::::::++++++++::+*++++++++++++++++++::++++++++++++++++++++++++++::::++++++++++++++++++**+++++++++++
$................................................................................................................................:..............................
................................................................................................................................:..............................
................................................................................................................................+..............................
................................................................................................................................:..............................
................................................................................................................................+..............................
............................................................:...................................................................+..............................
............................................................:...................................................................+..............................
............................................................:............,.....................,:,..............................+..............................
............................................................:............,.......................,......,.......................+..............................
..............................,........................,,,,,:,...........,..................,,...,......,,......................+,................,,,,,,,,,:::,
............................,,,,...,,,,,,,....,,,,..,,,,::::+,,,.........,...........,,,,,,,,,...,.,....,,..,,,,......,..,,,,,,,+,..,,,:::::::+:::::::::+++****
........................,,,,,,:,,,,,,,,,,,,,.........,::,:::::,,....................,,,,,,,,,:,,:+++:,.:+++*,,:,..,,....,,..,,,,,:,,,,,,,,,,,,,,:,,,::,,:,:,:::
..........,,:,,,.,,,..,,,,,,,.,,,,::::,,...........,......................,,............,,,,,,,,,::::,,,,,,,,,,.##*,,,:::::::,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,
:::::::,,,,,,,,.,,,,,,,,,:,,,,::,,,,:::,.........,,,,,::::,,,,:,,,,,,,::,,,,......,,,,..,,,,,,,,....,,,,,,,,,,,,,,,:::,,,,,,,:::,,,,,,,,,,,,,,::::::::::,,,,,,,
:::::::,,,,,...,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:+::,,:::::,,,,,,,,,,,....,,........,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::::::,:::,,,,,,,,,,,:::*############*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,:::::::::,,.,,,,,,,,,**:******##+*++++++###+#+,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::::++:::+++************+***##***,,.,+:,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::,,,,,,+:,,,,,,,,,,,:*:,,,,,,,,,,,,,:+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::********###+:::+::++++++++++++++++++++++:::::*:,,,.:*#########*#*::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::::::+**##****#####*+++++++++++++++++++++++++++++++++:,,:+####*########**:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++***##**+**#####*******************************+++:++####*###########,,:,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++***#*+++++*##**************************####********####*########***+::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++:+++****####################**###################*##*###*++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++**********************###############################***++++++++++++++++++++++++++++++++++++++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++::::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,::,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++++++++++++++++++++++
::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++++++++++++++++++***+++++*+++++++++++++++++**+++++
::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,::::::::::::::::++++++++++++++::++++++++++++++++++++++++++:+++++++++++::++++++++++++++++++:::::::
,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,::::,,::::::::::++++++++++++++++++++++++***********+++++++++++++++++++++++++++**++++++++++++++++++++++++++::++++::::::+++
,,,,,,::::::::::::::::::::::::++++++++++++++++++**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++::::++::::::::++++++++++++++**+*+++
::::+++++++++++++++++++++++++++++++++++++++++++***++++++++++++++++++++++++++++++**++++++::++:+++**++++++++::+++++++++++++++++++++++:++++++::++::::::+++++++++++
++++++++++++++++++++++++++++++++::++::++++++::+++++++++++++*******++++++++++++::::::::::::++++::::::++::::++++++:+++++++::+++++++++++++++:::::::::::::++:+::++:
++++++++++++++++*****+++*+:+++++::++++++++++++++++++::++::++++::::+++++++:::++++::++++++:::::::::+++++++::++++++++++++::::::++++++++++++++++::::::::::::++:::::
++++++++++++++++++++++:::::::::::+::++++::::::::++::++::::++++++++++++++++++++++++::++++::+++:++++++++++++::::::::++++++++++++++++++++++++++++::::::::::++++:::
$........................................................................................................................,,.....................................
.........................................................................................................................:.....................................
.........................................................................................................................:.....................................
.........................................................................................................................:.....................................
...................................................... ..................................................................:.....................................
.....................................................,...................................................................:.....................................
.....................................................,..................................................................,:.....................................
.....................................................,...................................................................+.....................................
.....................................................,............,......................,...............................+.....................................
.......................,........................,,,,::............,..................,...,.......,.......................+..................,,.....,.,....,,,,,
......................,,....,,,,,............,,,,,:::::,..........,...........,,,,.,,,...,.,.....,....,,..........,,.....+...,,,,,,,,,::::::++++++:+***********
.................,,,,,,,,,,,::,,::,,....,....,,::::::::,..........,...........,,,,,,,:,,,,,,,,,,,,::,,,::,..,,,,,,,,,,,,,:,,,.,,,,,,,,,,,,..,,,,,,,,,,,,,,.,,,,
,,,:+:,,,,,,,,,,,,,,:,::,,::::::,.............,,.,,,::,,,,........,,,,..........,,..,,,,,,,,,,,,,,,,.,:,:***,,..,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,:
,,,,::,,.........,,,,,,,,,,,,,,,...........,,,..,,,,,,,:,,..,,,,,,,,.......,,,..............,,.,:,,,,,,,,,,,::::,,,,,,:::,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,
,,,,..,,,,,,,,,,,,,,,,,,,,,,.,::,,,,::,:::,,,,::,:,,,,,,,,,,.,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::,::,,:,,:,,,,,,,,..,:,:,,:+##########*:,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,::,:,,..,,,,,,:+#*+****###*+*++++**#**#,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,.,,,,,::::::::+++++***#*********++****#***:,,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:,,::,,,,,,++,,,,,,,,,,,:*:,,,,,,,,,,,,,:+*+,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:,,,,,,,,,:,,,,,,,,,,,:#*,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,::::::::::::+#*####*+++::::+::++++++++++++++++++++:::::::*:,.,.:+########::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++:::::***#**###**##*+++++++++++++++++++++++++++++++++:,,:+###############:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++****#*#######*******************************+++++*#####*####*#####,,+:,,,:,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++**+**+++**********************##############*******#####*##**#*###**+:,,::::::::::::::::,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::++++++:+++:::+****########################################**##***##++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*************######################################****++++++++++++++++++++++++++::++++::++++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++::::::++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,::::::,,,,,,,,:::
::::::::::::::::::::::::::::::,,,,,,,,,,,,::::,,::,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++++++++++++++++++++++
::::::,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++++**++++++++++++++++++*++++++++++++
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::,:::,,::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++:::::::::::::::
,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++++++++++*********+++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++:::::+++++++++:
,,,,::::::::::::::::::::++++++++++++++++++++**++++++++++++++++**++++*+++++++++++:+++++++++++++++++++++++++++++++++++::::++++::::::++++++++++++******++++++++++:
::++++++++++++++++++++++++++*+++++++++++*++++++++++++++++++++++++++++++*++++++++++++++++++*+++++++++++++++++++++++++:+++++::++::++::::++::::+++++++++++++++++++
++::++::++++++++++++++++++::::++++++++::+++++:::++******++*+++++++++++::::::::::::++::++++::++++++++++::::++++++++++++++++++::++::::::::::::::::++++++::+++::::
++++++++++++**++++++++++++::++++++++++++++++:::+++++++::::::+++++::::+++++++++++++:::::::+++++++++++++++++++++++::::++++++++++++++++++:::::::::::::::::::::::::
++*+++++++++++++::::::::::::++++::::::::++::::+:::::::++++++++++::++++++++++++++++::::::++++++++++++::++::++++::++++++++++++++++++++++++::::::::++:::::::::::::
$..............................................................................................................+................................................
..............................................................................................................+................................................
..............................................................................................................+................................................
..............................................................................................................:................................................
..............................................................................................................:................................................
..........................................,,..................................................................:................................................
..........................................,...................................................................:................................................
..........................................,..........,:::+....................................................:................................................
..........................................,............,.......................,..............................,,...........................................,...
............,.........................,,..:,...........,...................,...,.......,......................:,.........................,.,....,,.,......,,...
............,.....,,,,.............,,,,,::+:,,........,,............,,,,.,,,...,,,.....,......................:,....,,,,,,,,,,,,,,,,,:,,,***++++***************
.......,,,,,,,,,,,,,,,,,,,,,.,,...,,,,::::+:,,.........,.........,,,,,,,,,,,.,,,..,,..,,..,,,,......,.....,,,,::::,,,,,,,,,:,,,,:,,,:,++:+++,,,,::::,,,,,,,,,,,
.....,,,,,,,::,:::::::................,,,::,..........,,..,.....,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,++:,..,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,:,,,,,,,,,,,,,,::::,,:
,,.....,,,,,,,,,,,,,,,..........,:....,,::::+,..................,,,,........,,,:++::,,,,,,,,,,::::::,,,,::,,,,,,,,::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,.........,:,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,.....,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,::::::::::::,,,:,:::,,,,,,,,,,,,,,:,,,,.+*+:,,,,,:+*####**:,,,,,..,,,,,,:,::,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::,:::::,:,:::::,,,,,,,,,,,,,,..,,:,,,,:*******##*##::****##*,,.,,..,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,::,,.,,:::,:::::::,,::,,,,,,,,,,,,,,,,,,,,::,,+:,:************++++***+++,:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,::,,,,,,,,,,,**,,,,,,,,,,::,:+*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,.,,,,,,,,,,,,,,,,,,,,,,,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,:::::::::*#*****#*:::::::::::++++++++++++::::::::::+,,:::,,::######,,...,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::::+:*#######*****+++++++++++++++++++++++++++++++++:,:::###############*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++******+++***********************************+++:::#####*##########:,:+,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++***+++++++:++***********################********+*########**######+:::::::::::,,,,,,,,,,::::::::,,,,::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::++++++::++*#########################################+:###*#**+*++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::++++**############################################**##****+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++::::::::++::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,:::::::::
::::::::::::::::::::::::::::,,,,::::,,,,::::,,::::::,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,::::::::::::::++++++++++::+++++++++++++++++++
::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++::::+++++
::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::,,:::::::++++++++++++++++:++++**+++++++++++++++++*+++++*++++++++++*++:+++++++++:::::::::++++:::
::,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::++++++++++++++**+++***++++++++++++++++++++++++++++++++++*+++++++++++:+++++++++++++++++::::::::+++++::::::::::::
,,::::::::::::::::::::+++++++++++++++++++++++++++++++++++++**++++++++++++++:++++++++++++++++++++++++++*+++++++++++::::::++++::+++++++**+++++++++++:::::::::::::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++:++++::++++::::++::::++++++++++++++++++++::::::::+++
++**++++++++++++++++++++::++++:::+::++:+++**++++++++***+++++::::::::::++++::::::++++::++++++++++++++++++++++::++++++++:::::::::::+++++++++++++++++++++:::++++++
++++++++++++:+++++++++++++:::::::+::++++++++++++++++++::::::::::::++++::++++:::::+++++++++++:+++++++++:::+++++++++++++++++::::::::::::::++++:::::::::::::::::::
++++++++++::::::++++++::::::++++++++++++:::+::++++++++++++++++++++++++++::::::::++++++++++++++++::::::::++++++++++++++++++++::++::::::++::::::::::::::::::::+++
$........................................................................................................:......................................................
........................................................................................................:......................................................
........................................................................................................+......................................................
........................................................................................................+......................................................
........................................................................................................+......................................................
.................................,++::+,................................................................+......................................................
....................................:...................................................................+......................................................
....................................:...................................................................+..................................................,...
....................................:............,...................,...,..............................+,.................................................,...
....................................:............,...................,..,,......,.......................+,..................................,,.......,..,,.,.,.
......,.....................,,,,:,,:+:,..........,............,,....,,...,......,,......................+,........,,,,,,,,,,,,,,,,,**++++++*+++++++*+*+++++***+
..,,,,,,,,,,,,,,,,,,,,,,,,.,,,,::::::,,,.........,..........,,::,,,:,,...,.,....,,,,,,,,,,,,,,,,..,,::::*,,,::::::::,::::::,.,,:++******++,.,,++*+,,+++:,:++:*+
,,,,,,,,,,::::::..............,,,:::+,.. .,,,,,,,,,.......,,,,,,,,..,,,,+++++,.,::::..,,,,,.,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,....,,,,,,,,..........,,......::::,...................,,....,,,,,,,,:++++:,,,,,,,,,,++:+++****+++:,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::::,,,
,,,,::::::,,,::,....,,,,.,,,,,:::,,,,,:,,,,,,,..,,,,,,.....,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,,,,,,,,,,,,,,,,,:,,,,
,,,,,,..,,,,,,::,,,,,,::+:,,:::::,,,,,:,,,,,,,,,,,,,,,.......,:,,,,.,,,,,,:::,,,,,,,::::,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:::::::::::,::::::,,,,,,,,,,,,........,,,,..,,:,,:*#***#######**####*:,.,,,,:,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::::
,,,,,,.,,,,,,,::::,:::::::::,,,,,,,,,,,,,,,,,,..,,,,,,,,::,,:*+,+*********+++++++***++:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,
,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,:::,,::::,,,*::,,,,,,,,::+,,,,,,,,,,,,,:++##**+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,*:,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,::::::,,::+,:**###*:::::::::::::::::::::::::::::,,::,,:::,:,,,::::::.,,. . ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,::+++::++:+*+++*#*#**+*+::+++++++++++++++++++++++++++++**::,:*###########*#**+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++*+++++++*******++************************++++++::+#####*#*#######*#*+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++++++++++++:,::+**********##*********************+++*#######+*####*##+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::::::::+*##################**####******##**######**:*##*#**##+++++++++++++++++++++++++++++++++++++++++++
,,,,,,::::::::::::::::,,::,,,,,,,,,,::,,::::::::::::::::::++**############################################***#****+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,:::::::
::::::::::::::::::::::::::::::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++
::::::::::::::,,::::,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++++++++++++++++++++++++++++::::::++::+++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,::::::::++::++++++++++++++++++++++++++:+++*+::++::++++++::++++++++++::::+:::::++::+++++++:::+++
,,,,,,,,,,,,,,,,::::::,,,,,,::::,,::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++::::+++++::::::::::::::::::::::
,,,,::,,::::::::::::::::++++++**++++++++++++++++++++++++**++++*+++++++++++++++++++::++++++++**++++::++++++::::++::++++++++++++++++++++:+++++:::::::::::::++++++
++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++:::::++++++++++++++++**+++++++++::::::::+++++++++
++++++++++++++++++++++++**+++:++++++*+++++++++++++**++++**++++++::::++++++++++++::::++++++++::++++++++::++++++++::::::::::++++++++++**++++::::::::::++::+++++++
++++++++++++++:+++++:::::::::+++++++*******+++++++::+:::::::++::::++++:::+++++++++++::++:+++++++::++++++++::::++++::::++::::::::++++::::::::::::::::+++++++++++
*+++++::::++++++++++::++++++++++::::++::::+++++++:::::++::++++++++::::::++++++++++++++++++++++::::::::++++++++++++++::::::::::::++++++::::::::::::::::::::::::+
$..............................................................................................:................................................................
..............................................................................................:................................................................
..............................................................................................+................................................................
..............................................................................................+................................................................
..............................................................................................+................................................................
..............................................................................................+................................................................
..........................,...................................................................+................................................................
..........................:...................................................................+...............................................,:,,.............
..........................:............,...................,..,...............................+,.................................................,.............
..........................:............,...................,...,..............................+............................................,.....,.............
.....................,,,,,+,...........,...................,...,......,,......................+.................,,,,....,,,,,,..,,,,,,,,:::+:::::+:+:::+:::::::
,,,,,,......,,....,,,,,::::::,.........,............,,,,,,,,...,,,..,,,,..............,,,,....+,..,,,,,,,,,,,,,:::::++++:********+++++++++++**********:,::***+.
::::,,,,,,.........,::,:+::,:,......................,,,,,,,,,,,::::,,,::::,.::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,
::::,,...........,....,,.,,.,,..........,,,,........,,,,,,,,,,.,,,,,,,,,,,,,,,+++,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,
,,,,,,..........,,,,,,,:,,,,:,,,..,,,,,,........,,,,.............,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:
,,,,,:,,,,:::::,,,,,::::,,,,:,,,,,,,,,,,,,,,....,,,,::::::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:::::::::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,..,,,,,,+**#######*###+,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::,,,,,,
,,,,::,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,...,,,,,,,**:+****###***++++*,#*##,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+::::
,,,,,,,,::::,::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++*+::::::,,::::++++**********###**:,,.++,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,,,,,,,,,,,............,,,,::,,,,,,,,,,::*,,,,,,,,,,,:*,,,,,,,,,,,,,:+*::,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,::,:,:::+:,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,.,,,,,,,,,,,.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,.,,,,..............,,,,:::::::::::+**+++++:++:+::++++++++++++++++++++++++++++:#::,,:+##########**::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,:::::::::+**+++++:::+***++++********+++++++++++++++++++++:::#####*########***+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,:::::::++++++:::::++**********************************+++*########+#######*+,,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++*#***************+*****************#####*#*#*,*###**++++::::+++++++++++++:+++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+:***##########**********************##########******+++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++::++++++++++++++++++++++++::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::++++++::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,:
::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::++++++++++++++++++::+++
::::::::::::,,,,::::::,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+:++++++++++++++++++++++++++++++++::::::++++++::+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::::::::++++++++++++++++++++++**+++++**++++++++**++++++++++++++++::++++++::+++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,::,,,,::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::+:++++::::::::::+++++
::,,::::::::::::::::::::++++++++++++++++++**********+++++++++++++++++++++++++++++++++++*++++++++++:::+++++++++++++++++++::++++++++::::::::::+++++++++++++++++++
++++++++++++++++++++++++++++++++++++++**++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++::+++++*****++++:+:::::::::::::::+++++**+++++++++
+++++++++++++*++++++++++++:+++++++++**++++++++++++++++++++::++**++++++++::++++++++++++::++++++++++++::++::::::::::::++++**++++++++++::::::++++++++++++++::+++++
++++++++++++++++++::+++++***+++++++++++++++::::::::::::+++++++::::++::++++++++:++++++++++++++++++++++++:++::::::++++++++++::++++::::++::++++++++++++++::++**+++
++++++++++++++++++++++++++++++::::++++::::++++::++::::::::::::::++++++++++++++++++++::::::++++++++++++++++::::::++::::++::::::::::::::::+++:::::+++++++++++++++
$..........................................................................,,...................................................................................
..........................................................................,,...................................................................................
..........................................................................,,...................................................................................
..........................................................................,,..............................................................................,....
...........................................................................:.............................................................................,,....
...........................................................................:.............................................................................,,....
....++++*+................................................................,:.............................................................................,,....
......,,...................................................................:.............................................................................,,....
......,,...................................................................:.................................................,...........................,,....
......,,...........,......................,................................:.................................................,........................,,,,,....
......,,...............................,...,...............................+...................................,.......,.....,.,,,,,...,,,,,,,,,,:::++++:+++:::
,,,,,,::,..............................,...,.......,.......................+..................,,.....:**++++++:+:::::+:::::::+:++++*++*+*++********************
,,::::::,,..,,.....,......,,,,,,,,,,,,,,..........,,,,,,...,.,::,,..,,::,,::,,,,,,::,,::::,,,,,,,,::+********.,,,:+:,,:::,.,::::::,,,,::,,..,,.:,,,,,,,,,+,,,,.
.,,,:::,........,,,,........,,,,,,,,,,,,,,,++++:,,++++:.,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
....::::,....................,..,,,,..,,,,.:++++,,::,,,,,,,:++::::::+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:::,,,,,::::,,,,:,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:,,,,,,,,,,,,
,,,:,,,,,,,,,,.,,,,,....................,,,,,,,,,,,,,,,:::,,,,#+:,,,,,,,:+***+:,:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
,,::,,,,,,,,,,..,,...,,,,,,,::,,,,,,,:,,,,,,,,,,,,,,,,,,.,,,:,::#****######*+**####+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,::::,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,....,,,,,:::,,,,:,:+**********+++*+*#*+::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,,,*,,,,,,,,,,,:*,,,,,,,,,,,,,:+*#,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,....................,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,:#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,..................,,,,,,,,::::,,,,::::::::++++::::::::++++++++++++++++::::::::::+::,,,:*######+:.:.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,:::::::::::++::::+++***++++++++++++++++++++++++++++++++:,::#############**:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::::::::::::::::++********************************++:::+###############+:,+,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++*+*******************##**************#######**####***:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++****************##********#############*##**+**++++++++++++++++++++++++++++++++++++++++++++++
::::++++++++++++::::::::::::::++++::::::::::::::::::::+++++++++*++++++++++******************************##********++++++++++++++++++:::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,::::::::::++++++::::+++++++++++++++
::::,,::::::::::,,,,,,,,::::,,,,,,,,,,::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::++++++++++++**++++++++++++*++++++++++++:+:::::::++::::++++*+++++++::::++::+++++++++++++++
,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,:,::::::::::+++++++++++++++++:++++++++++++++++++++++++++:++++++++++++++:++::::::::++++::+:::++++++++++++++++++++++++:++++++++
::::::::::::::::++++++++**++++++**++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++::::::++::+++::::::::::::::+++++++++++++++++++::++++++++++++*
++++++++++++++++++++++++++****++**+*++++++++++++++++++++++++++++++*+++++++++++++++++::::::::::++++++++++:+++::::::::::::::::++++++++++++++++++:::::::::++++++++
+++++++*++++++++++++**++++++++++++++++:::+++:++++++++:++++++++++++++++++::++::++::::::++::::::++++++++++++++++++::::::::++*++++++++:::::::++++++++++++++:++++++
++++++++++++++++:+++++++++++++++++:::::++++++++++++++:++++++++::++++++++++++++++:::::+::::::+++++++++++++++++:::::++::::::++::++++++++++++++++**++*+++++++++::+
++++++********++++++++::::::::::::::++::++++::++++++++++++++++++++++++++::::::++++++++::::::::::::++++++::::++::::::::::::::++++++++++++++++++::+++++++++++++++
$...................................................................,:,,,.......................................................................................
...................................................................,,..........................................................................................
...................................................................,,..........................................................................................
...................................................................,,..........................................................................,:,+:...........
....................................................................:.............................................................................,,...........
....................................................................:.............................................................................,,...........
::,.................................................................:.............................................................................,,.....,++,..
....................................................................:.............................................................................,,........,..
....................................................................:.................................................,...........................,,........:..
.............,..................,..,,...............................+.................................................,...........................,,......,.:..
.............,..................,...,...............................+...................................,.......,,....,,,,..............,,,,,,::::+:+:::::::+..
,,...........,..................,...,,......,,......................+.........................:+::::::+:+:::::::::::::::::::+++++*++*+*************************
:,,,.........,..,,......,,,,,,,,,,,,,,..........,,....,,....,,,,,,:::.,,,,,:::,,,:::,,:,,,,:::********..,:++:,,::::,::+++++,,,,,*+,,..,,:,....,,,.:,,,......,,,
,,....................,,,,,,,,,,,,,,++++:.,:**+:.,,.,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:,::,,,
..........................,,,,..,,,,:+++:,,,:,,,,,,,:::,::::::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,:,,,,,,::,,,,,,:::,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,.,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:+,,.,.,::,::+::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,:+#***#*#####:*+####+:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,:,:,,,,,:,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::,,,::::::::,,,,,,,,,,,,,,,,,,,,:::,,,:+:++**********+++*****+:+,,.,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,:*,,,,,,,,,,.*:,,,,,,,,::,,,:+#+,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,......................,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,....,,..,,,,....,,..,,,,,,,,,,,,,,,,,,::,,::::,,:::+****+:::::::++++++++:::::::::::::::::,::,,,,:+######+:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::+++**++****+++++++++++++++++++++++++++++++,,,:##############*:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..,,,,....,,,,,,,,,,....,,,,,,,,,,:::::::::+**++*++++#******************************+::+###############*:,+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::++++:::::+**********************************#######**####**++:::::::::::::::::::::::::,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::++++***++**************##**********##########**#***+**++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++::::::::::++++++++::::::++::::::::::::::::::++++++++++++**++++**++++************************##**********++++++++++++++++:::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::++::::++++++++++++++**++++*
::::::::::::,,,,::::,,,,::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,::::::::::::::++++++++++++++++++++++++++++++++++::::::::+:::::++++++++++++++++++++::+++++++++++++++++++++++
,,,,,,,,,,,,::::,,,,::::::::::::,,::::::++++++++++++++*+++++++++++++++++++:::+++::++++::++++++++++++:::::+++++++++::::::++++++++++::++::+++++++++++++++++++++++
::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++::::::::++::::::::::::::::++::::++++++++++++++++::+++++++++++*++*****
+++++++++++++++++++*******+**+++++++++++++++++++++++++++**++++++++++++::++++++::++::++::++++::::++++++++::::::::::::++++++++++++++++++++:::::::+++++++++++++***
++*+++++++++**++*+:+++++++++++++++++++++++++++++++++++++++++*+++++++::::::::::++++::::++++++++**+++++++++:::::::++++++++++++++++::::++++++++:++++++++++++++++++
++++++++:+++++++++++*++++++::::::+****++++++++::++++++++++++*+++++++++++::::::::::::::++++++++++++++++++::+++::::+++++++++++++++++++++++**++++++++::::+++++++++
******+++++++++++:::::::::::++++++::::::++::::::++++++++++++++++++++++++::+++:::::::::::::++++++::::::::::::::++++++++++++++++++++++++++++++++++:::++++++++++++
$.........................................................+***:.................................................................................................
.........................................................:.....................................................................................................
.........................................................:.....................................................................................................
.........................................................:..........................................................................,**++++:...................
.........................................................+..............................................................................:......................
.........................................................+..............................................................................:......................
.........................................................:..............................................................................:......,,,.............
.........................................................+..............................................................................:........,.............
 ........................................................:.................................................,............................:.......,,.............
..,.....................,:...............................:............................................,................................,:........,.............
..,......................................................:............................................,.....,,..............,,.,.,,,:,,:+::::::,:+..,,,,,:...,,
..,......................,,......,.......................:,........................,,:,,,,,:::::,,,,,,,,,,,::::,,:::::+::+:++++*********************+**********
..,...........,,,,,,,,,,.,,.,,..,,..,,,,..........,,,,,,,:...,,,::::::::::::,,,,,::++++****+,,,:++:,,:::,,::++:::,..,:*+....,:::::,,,,+.,...,,,,,,,,,,..,,:,,,:
............,,,,,,,,,,,,,:++++,,,++++,.,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,:::
.............,,,,,,,..,,,,::::,,,,,,,,:,,:+:,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,.,:,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,.......,,,,,,,..,,,,,,....,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,::+:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,..,,....,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,+,,,,,,,,.,,:::,,,.,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,:,+*#**######++*####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:::,,,,:::::::,,,,,,,,,,,,,,,,,,,:,,,,...,,,,,::,,,,:*,++*********++*+*+*#*:::,.,,,,,,,,,,,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:,,,,,,,,,,:*,,,,::,,::,,,:+**:,,:,,.,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,......,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,........,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::,,,::::::+*+::::::::::++++::++++++++++::::::::::,,::######+:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,....,,,,,,,,,,,,......,,......,,,,,:::::::::+++::::+****+++++++++++++++++++++++++++++++:,,:*############**:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,....,,,,,,,,,,,,,,,,..............,,,,::,:,:::::+++++++++*********************************+::+*##############*:,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+*****+++*************++++++**************####*##**####*+:+:::::::::::::::::::::::::::::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++++++++*++++**************++++++*****#############**++*++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::++++++++++++::::::++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++********************++++++++++++++++++:::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,::::::::::
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++::+++++++++++++++++++++++++++++
,,,,::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::++++++++++++++++++++++++++++::+::::::::::+::::++++++++++++++++++::++++++::+++++++++++++++++++++++++++
,,,,::::,,,,::::::::::,,::::::::++++++++++++*+++++++++++**++++++++++++::++++++++++++++++++++::++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++
::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++::++++::::++:::::::::::+::::++::::++++++++++++++++++++++++++++********++++++**+++
++++++++*********+++++++++++++++++++++++++++**++++++++++++++::++++++++++++++::++::::::++++++++::::::::::::++++++++++++++++++++::::::++++++++++++++****++++**+++
+****+++++++++++++++++++++++++++++++++++++++++++++*+++::++::++::::++++++::++++++++++**++++++++++::::::++++++++++++::++::++::++++++++++++++++++++++++++++++++++*
++++++++++*+++++::::::++***+++++++++:++++++++:++++++++++++++::::++++++::::::::++++++++*+++++::::++::++::++++++++++++++++++++****+++++++++:::++::+++++++++++++++
+++++++:::::::::::::++++++::++++:+++++++++++++++++++++++++++++::::+:::::::::::::++++++::::::::::::::++++::::++++++++++++++++::+++++++++++++++++++++++++++++++++
$..................................................:+**,........................................................................................................
..................................................:............................................................................................................
..................................................:............................................................................................................
..................................................:..........................................................................:***+++,..........................
..................................................+.............................................................................,,.............................
..................................................+.............................................................................,,.............................
..................................................+.............................................................................,,......,,,....................
..................................................+.............................................................................,,........,....................
..................................................+.................................................,,..........................,,........:....................
.................,,...............................+.................................................,,..........................,,......,.:....................
..................,...............................:.................................................,,,,..................,,,,,,::::,,,,,:+..,,,,,:..,:,..,,,,,
..................,,......,,......................:.........................,,,,,,,,::::,,,,,,,,,,,,::,::::::::+::+:++++******++*+++++*****++******+*********+*
.......,,,,,,,,,,,,,......,,............,.,,,,,,,,:,,,,,::::::,,::,,,,,,,,::+++++++*,,,,+++:,::::,,,:::::,...,+++,...,::++:,,,,,,,....,,::,,:,:...,:.,,+**:.:,,
......,,,,,,,,,,,,++++:,,:++++,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,
........,,,,,,,,,,:::::,,,,,,,,,,,:::,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
....,,,,,,..,,,,,,.....,,::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
....,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::.,..,,,,,:::::,,.,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+****######++#*#*#*,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,:::,,,,::::::,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,+:::************+****+:::,,,,,,:::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,*:,,,,,,,,,,,::+**:,,:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,......,,,,,,,,,,,,,,,,....,,..........,,,,::::,,,,:::++*****::::::::::++++++++++++++++::::::+::,,,:*######*++*.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,..................,,,,:::::::::++*******+*+++++++++++++++++++++++++++++++:,,,*############*+:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,,,,,,,....................,,,,,,::,,::,:::**#***+++*******************************+::+*#########:####*+,:,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+***+::::+++*************++++++++++**********########**###*+++::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::++++:::::++****************************++**########**##**+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++++++++++++++++++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::::::::::::::+++
::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::++++::+++++++++++++++++++++++++++++++++++++
::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::++++++++++++++++++++++++++++:::+++::++::++::::++:+++++++++++++++::++++++++++++++++++++++++++++++++++++++++++*
::::::::::::::,,::::::::++:+++++++++++++++++++++++*+++++++++++::++++++++++++++++++++:::+++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::::::::::::+:::::::::++++++++++++++++++++++++++++++*********++++++++++++++++
**********++++++++++++++++++++++++++****++*++++++++++::+:+++++++::++::++++::::++++++++::::::::::++::++++++++++++*+++::++:::::+++++++++++++****++++++++*+++++++*
++++++++++++++++++++++++++++++++++++++++++++::::++++::::::::++++::+++++++++++*++++++++++:::::::+++++++++++++:+++::++++++++:+++++++++++++++++++++++++++**+++++++
++++++::::::::::****++++++::::++++++++++++++++++++++++++::++++::::::::++++++++++++++::::::::::++++++++++++++:+++++++****++++++++::::+++++++++++++++++++++++***+
::::::::::::++++::::++++::++++++++++++++++++++++++++++::::+::::::::::+::++++++::::::::::::::++++:::::+++++++++++++++++::++++++++:++++++++++++++++++++++++++++++
$........................................*:**,..................................................................................................................
........................................:......................................................................................................................
........................................+......................................................................................................................
........................................+..........................................................................,***+++,....................................
........................................+..............................................................................:.......................................
........................................+..............................................................................:.......................................
........................................+..............................................................................:......,,,..............................
........................................+,.............................................................................:........,..............................
........................................:..................................................,..........................,:........:..............................
.......,,...............................,..................................................,..........................,:.......,:...........................,,,
........,,..............................:,.................................................,,,................,,,,,,:::+:::::,,:+..,,,.,:,..:,..,,,,,,,,,,:::+:
........,,......,,......................:,........................,,:,,,,,,,:,,,,,,,::,,,,,:,:,,::,::+::++++*+***++++++++++******++**************+*+****+*+*++*
,,,,,,,,,,,,........,,,,...,..,.,,,,,,,,:,..,,,,::::::::,,:,,,,,::+++++++:,,,,::+,,::::,,:::::::....::+,..,,:::::,,,,,,,....,,,,,,,,,,..,:.,,:**:.:,,,....,:,:*
,,,,,,,,+++++,,,++++,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+
,,,,,,,,::++:,,,,,,,,,,,:::,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
,,,,,,,,.....,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::,,,::
::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,+*+:,,:,,,:+****+,,,,,,,,,,,,,,,,,,,,,,,,:::,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
,,::,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,:,*******####+,**####*,.,,,,,,,,:::,,,,,,:,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,:,,,,,,:+:+***********+******++:,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,+*,,,,,,,,,,,,:+*+,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,..........,,................,,,,,,,,,,,,,,,,,,,:,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,.,... .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,,::+++**++**+::::::+++++++++++++++++++++:::++:,,,:########**#::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,:::++********#**+++******++++++++++++++++++++::::############**#+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,::::++++*+**###******************************+++**######+#######+:+:::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++#**#**########****************##***#####****##*###*+::::::::::::::::::::::::::::::::+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::++::::::++:::+***#######################################**##***++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::,,,,,,::::::::::::::++++++++::+++
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++::::::++++++++++++++++**+++++++++++++++++++++++++++
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++**++++++++++++++***
,,,,,,,,,,,,,,::::,,,,::::::::::::::::::++++++++++++++++++++++++++++++::+++++:::++::::++:+++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++*+++**++*
,,,,,,::::::::++:+++++++++++++++++++++++**++++++++++::++++++++++++++++++::::::+++++++++++::+++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++::::+++++++++:++++++++++::++::::::::::::+:::++::::++++++++++++++++::++++++++++++++**************++*++++++++++++++++
++++++++++++++++++++++++++****++++++++++++++:+:+++++++++++::++++::::++:+++++::::::::::++::++++++++++++++++++:::::::++++++++++++++***++++++++*+++++++++****+++++
++++++++++++++++++++++++++++++++++++::++++::++::::++++++::+++++++++**+++++++++:::::::+++++++++++++:+++::++++++++++++++++++++++++++++++++++++**++++++++++++++***
::::::****++++++++::++++++++::+++*++++++++++++::++++::::::::+++++++++++++++:::::::::++::++++++++++:+++++++++**++++++++::::::++++++++++++++++++++++**+++++++++++
:+++++++::::++++++++++++:+++++++++++++++++++::::::::::::::::::++++++++::::::::::::::++++::++++++++++++++++++::++++++:::++++++++++++++++++++++++++++++++++++++++
$.......................+***:...................................................................................................................................
.......................:.......................................................................................................................................
.......................:.......................................................................................................................................
.......................:..........................................................................:++::+*:.....................................................
.......................:.............................................................................,,........................................................
.......................:.............................................................................,,........................................................
.......................:.............................................................................,,......,,................................................
.......................:.............................................................................,,........,...............................................
.......................:.................................................,...........................,,........,....................................,,.........
.......................:.................................................,..........................,,,........:...........................,,,.....,.,,,..,,..,
.......................:.................................................,................,,.....,,,,:::,,,,,,::..,,,,,,,,.,,,..,,.,,,,,,,:,+:,,,,,:,+,,,,,,,,:
.......................:.........................,,,,,,,,,,,,,,,,,,,,,,,:::,:,,,,,,,::,::::::++++++:::++++++++:::::::::++++**++++++*++++++++*+++*++++++,::::,,:
,,,,,,,,..............,:..,,,,:,,,,,,:::::,,,,::::++::::::,,,:::,,::::,:::::::,,.,,,::..,,,:++++,,,,,......,,,,,,,,,..,,,,,,+++:,:::,,..,:+:++::::++:::,:::,:::
**+,.,.,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::++::::::::,,:::::::
,,,,,,,:::,,,,,,::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,::::,,,
,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,#*::.,:,,:******:,.:,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,:+*****###*##,+*:####,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,::,,::++:+********************+,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,+:,,,,,,,,,.*:,,,,,,,,,,,,+++,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........,,.....................................,,,,,,,,,::,,::,:::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............................................,,,,,:::::::+*****##**+:::++++++++++++++++++++++++++**,,,:*#########**:*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................,,,,,:::++++:+++*****####*++++**********++**++****++++*+::+####**#######*#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,............................,,,,,,,,:::+++++++*++::+#####******************************+++######*:###*##*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::::++++::::::::::::**##############**##########**########*##+,##*+*+#++::::::::::::::::::+++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,::::::::::::,,::,,,,,,,,::::::::::,,::::::::+++*############################################******+++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::++++++++::::++::+++++++++++++++
::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::++++::++++++++++++++++**++++++++++++++++++++++++++++++++++++++******+
::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++****+++++++++++++++++
::::,,::::,,::::::::::::::++++++++++++++++++++++++::++++::++::++++::++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++**++**++**++*+++**++++++++++***
++++++++++++++++++++++**++++++++++::++++++++++++++++++++::::++++++:+++++::++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++*++++
++++++++++++++++++++++++++:::+++++++++++++::::::::::++::::::::::::++:::::+::++++++++++++++++++++++++++++++++****+*++**++**++*++++++++++++++++++++++++++++++++++
++++++++****++++++++++++++:+++::+:++++++++++++:::::::+*+++++:::::::::+::++++++++++++++++++++::::::++++++++++++++**++++++*+++++++++++****++++++****+++++++++++++
++++++++++++++++++++:+++::++::::++++++++++++++++++**++++++++::::::::++++++++++++::++::++::+++++++++++++++++++++++++++++++++*++++++++++++++******++++++**++++++*
+:++++++++++++++++++++++++++::++::::::::::::++++++++++++++::::++:::+++++++++++++++++++++++**++++++++::::::++++++++++++++++++++++*++++++++++++++++++++++++++++++
++++::++++++++++++++++++++++++++:::::::::+::++++++++::::::::::::++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++
$..............,+***:...........................................................................................................................................
..............:,...............................................................................................................................................
..............:,...............................................................................................................................................
..............,,..........................................................................,:,,:++,.............................................................
..............,,.............................................................................,.................................................................
..............,,.............................................................................,.................................................................
..............,:.............................................................................:.......,.........................................................
..............,:.............................................................................:........,,.......................................................
...............,...............................................,,,...........................:........,,....................................,,.................
...............,.................................................,..........................,:........,,............................,,....,,,,,,..........,,..,
..............,:.................................................,..................,,,,.,,,,:,,,,,,,,,,..,,,,,,..,,,,,,,,,,....,,,,::,,,,:,,:,,,,,,,,,,..,,,,.
...............:........................,,,,....,,,,,,,,,,,,,,,,,:,:,,,,,,::,,:::::::+::+++::++++++:::::::::::::::++:++++++*+++*++++*+++++++:+,,,,,,,,,::::::,:
....,...,,....,:...,,,,,,,,,::,,,,,,::::::+:::::,:,,::::::::::::++++::,,,,,:+:,,,,:+++++..,,.,....,,::,,,,,,..,,,,,,:++:::::,,,,,:::+:::::+:::,:::,,:::::::::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::,,::::::::,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,::::::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:,,,::::,,,,,,,,,,,
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**:,,,,,,,:**#**+.,.,:,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,:+*****###*##:+**##*#,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,.....,,,,,:::,,,::::+**********+*****#*++,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,:::,,..,,,:+,,,,,,,,,,*+,,,,,,,,,,,,:*+,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,..........................................,,::,,,,,,,,,,:,,,,+:,,,,,::::::::::::,,,,,,,,,,,,,,,,.,,,,,::,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,........................................,,,,::::::::::**#######*:::+++++++++++++++++++++++++:*+:,,:*#########**:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,......................................,,,,,:::::::,,:+**########**++**********************++++++:+####*########***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..................................,,,,,,,:::++::::::+*:+++***#******##**********************+++#####+#:###*###+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::,,,,,::::::::++*####################################*#*##*#**+*:::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,::::::::,,,,,,::::+++++*##############################################******+++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::++++++::::++:++++++++++++++++++++++++
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::++::++++::++++++++++*++++++++++++++++++++++++++++++++++++++*******+++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++++++++++++::::++++++++++++++++++++++++++++*+++++++++++++++++++++++****+++++++++++++++++++++++++
,,::::::::::::::::::++++++++++++++++++++++++++++++++::++::::+++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++**++++++*+++**++++++++++++*********
++++++++++++++**++++**+++++++++++++++++++++++*+++:::++++++:+++++++++++++++++++++++::++++++**++++++++++++++++++++++++++++++++++++++++++++***********+++++*******
+++++++++++++:++++++++++++++++++++::::::::::::::::::::::::++::::::::++++::::++++++++++++++++++++++*+****++++++++++++*+++++++++++++++++++++++++++++++++++******+
**++++++*+++:+++++:+::++++++++++::++++:::::::+++++++:::::::::+++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++******++++++****++++++++++++++++++++*
++++++++++++::++++++::::+++++++++++++++++**+++++++++::::::::::++++++++*+::++::++++++++::++++++++++++++++++++++++++++++++*+++++++++***+**++++++++++++++++*++++++
++++++::++++++++++++::++::::::::::++++++++++++++++++::++:::+++++++++++++::++++++++**+++++++++++:::::+++++++++++++++++++**++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++:::::::::+++++++++++::::::::::++:+++++++++++++++++++++++++::++++++++::++++++++++++++++++++++++++++:+++++++++++++++++++******+++++++++++
$...+***:.......................................................................................................................................................
..,,...........................................................................................................................................................
..,,...........................................................................................................................................................
...:..........................................................................,::,::*:.........................................................................
..,:.............................................................................,,............................................................................
...:.............................................................................,,............................................................................
...:.............................................................................,,............................................................................
...+.............................................................................,,........,...................................................................
...:................................................,,...........................,,........,....................................,,.............................
...:.................................................,...........................,,........,...........................,.......,.,......,,,,..,,............,,.
...:.................................................,..................,,,,..,,,,:,,,,,,,,:..,,,,,,....,,,,,,,,....,,,,::,,,,,:,+,,,,,,,,,,,,..,,.............
...:........................,,,,....,,,,,,,,,,,,,,,,,::,:,,,,,,,:,::::::::::+++::+:::::::::+::::::,,,,,,::::+++*++++++++*++++++++*:,,,,,,,::::,,,,:::::::::::::
..,:...,,,:,,,,,,,,,,,,,:::::::::::::,,,,::::::::::::::::::,.,,:::,,,,::++++,,,,:,....,,::::,,,,..,,,,,,::::::::,,,,,,,:::::,,:::,,,:::,:::::,,,,,,,+*,,:+*+,,+
...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++::::::,,::::::::,,,,,,,,++,,,+*:,::
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,,,::,,,:+:,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,.,.,,,,,,::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,::,,,:::::,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:+**,,:,,:**####*+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*******#**#*:+*+#*#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+::::++*+******************#**::.,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,.,,:*:,,,,,,,,,:*,,,,,,,,,,,,:++:,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................,,,,................,,,,,,,,,,,:::,,::++:::,,:::::::::::::::,,::,,,,,,,,,::,:,,,,,,,,,,..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................,,,,...................,,,,::::::::+**#######*+::++++++++++++++++++++++++++*,,,:*###########*+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............,,,,,,,,..................,,,,,,,,::::+++++*****:*##**++*************************+::+###*#########*:,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,..,,,,,,,,,,................,,,,,,,,,,,:::::::::++*+::+++***********################*******###*##**#####*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
..,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,::::::++*+::++++#######################################*###*+#::::::+++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::+++++*****************************##############********++++++++++++++++++++++++++++++++++::++++::+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,::::::::::,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::
::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::++++++::::+++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::++::++++::++++++++++++++++++++++++++++++++++++++++++++++++********+++++++++++++++++++++
,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++*+++++++++++++++++*********
::::::::++++++++++++++++++++++++++++++++::::::::++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++***+++**++++++::++++************+++++++++
++**++++**++++++++++++++++++*+++**++++::++++++:+++++++++**++++++++++++::++++++**++++++++++++++++++++++++++++++++++++++++++++++******++*+++++************++**+++
+++++++:++++++++++++++++::::::::::+:::::::::::++::::::::++++::::++++++++++++++++++++++********++++++**++++++++++++++++++++++++++++++++++++++******++++**+++++++
++++++++::++++++++++++++++:::::::+*+++++::::::::::++++++++++++++++++++++::::::++++++++++++++++++++++**++++++*+++****++++++****++++++++++++++++++++**+++++++++++
:+++++++:::::+++++++++++++++***+++++++++:::::::::::::+++++++++++::::++++++++++++:++++++++++++++++++++++*++++++++**++++****++++++++++++++++***+++++**+++++++++++
++++::++::++::::::::::++++++++++*+++++++::++:::+++++++++++++::++++++++**+++++++++++:::++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++**+++++++++
++++++++++::::::::::::++++++++++::::::::::++::++++++++++++++++++++++++::::++++++::++++++++++++++++++++++++++++:+++++++++++++++++++++****+++++++++++++++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.......................................................................,:,,:++.................................................................................
..........................................................................:....................................................................................
..........................................................................:....................................................................................
..........................................................................:....................................................................................
..........................................................................:........,...........................................................................
............................................,:,...........................:........,....................................,,.....................................
..............................................,.........................,,:,.......,...................................,.,,,..........,,.............,....,,,,.
.............................................,,.................,,,,..,,,,:,,,,,,,,:..,,,,,,..,,....,,,,....,,,,+:,,,,,,::,,,,,,,,,,,,..,,..................,,,
......................,,,,..,,,,,,,,,,,,,,,,,,:,:,,,,,,,:,:::::::::++++:::::::::::::::::::::::,,::::::::++++++++*+++++++++:,,,,,,,:::,,,,,,,,,::::::::::::,,,,:
,,:,,,,,,,,,,,,:::,:::::::::,:,,,::::::::::::::::::,.,,:::,.,,,:++++:,,,:,,...,,::::::::,,,,,,,,::::,,,,,,,,,,,,:+::,,,::::,:::,::::,,,,,,,,:+,,:+*+,,:+:,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::::::,::::+:::,,,,,,,,:+,,,:+:,,,,:,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,.,,,,,,,,,..,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::::::,,,,,,,,::,,,:::,,:+:,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::,,,,,,,,,::,,,:::::,:::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*+,,:::*####*##*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,::*******#***+:**+##**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++:++::+++++***********##**:,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,....,,,,,,,,,,,,,,,,,,..,,......,,.......,:::,,,,,,,,,,+,,,,,,,,,,,*,,,,,,,,,,,,:+,:,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............,,,,,,........................,,,,::::::::,::*##*::,::::::::::::::::::::::::,,,,,:::,,,::***::,,.,.:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........,,,,....,,,,......................,,,:::+::::::*#***#####*+::+++++++++++++++++++++++++::,,:*############*,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,,,,,,,,............................,,.,,::::::::+***:++*#####****************************+++:*#############,,+,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,................,,......,,,,,,,:::++:::++*+:::+***********************########****+*######***###**+:,,,,,,,,,,,,,,,,,,::::::::::::,,,,::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::++*******##**********#**********########******++++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++****************++********************************++++++++++++++++++++++++++::::::::++++:::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::::,,,,::,,,,,,,,,,::::,,,
::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::++:
::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::++++++::::++::+++++++++++++++++++++++++++++++++++++++++++
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::++::++::::++++++++++++++++++++++++++++++++++++++++++++++++********+++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++++++++++++::::::++++++++++++++++++++++++++**++++++++*+++++++++++++++**++++++++++*+++++++**++++*********************
++++++++++++++++++++++++++++++++::::::::++++++::++++++++++++::++++++++++++++++++++++++++++++++++++++++++**++++*+**+++*++++++++++**************++++++++++***++*+
**++++++++++++++++++*+++++++++::++++++:+++++++++**++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++******++*+++++++++*****+++++++++++++**+**
++++++++++++++++:::::::::::::::::::::::+::::::::++::::::++++++++++++++++++++++********++++++**++++++++++++++++++++++++++++++++++++++******++++**+++++++++++++++
::++:+++++++++++++:::::::+++:+++::::::::::++++++++++++++++++++++:::::::++++++++++++++*++++++++++++++++++****++++++++***+++++++++++++++++++**+++++++++++++++++++
::++::++++++++++++++***+++++++++:::::::::::::+++++++++++::::++++++++++++++++++++++++++++++++++++*+++++++**++++**++++++++++**+++++++**+++++**+++++++++++++++++++
::++::::::::::::++++++++*+++++++::++::::+++++++++++++:++++++++**++++++++++::::+:++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++**+++++++++++++++++
++++:::::::::+::++++++++++::::::::::::++++++++++++++++++++++++::::++++++::++++++++++++++++++++++++++++++++++++++++++++++++++****+++++++++++++++++++++++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............................................................,,..,::,...........................................................................................
...............................................................:...............................................................................................
...............................................................:...............................................................................................
...............................................................:...............................................................................................
...............................................................:........,......................................................................................
.................................,,:...........................:........,,...................................................................................,.
...................................,...........................:........,,..................................,,.,..............,,..........,.,,,,......,,,,,,,,,
...................................,....................,,.,,,,:,,,,..,,,,......,,..,,..,,,,.,,,..,,,,,,,,,,,,::,,,,,,,,,,....,,.....................,:,,:::++:
..........,,,,....,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::::++++:::::::::::+:::::::::::,,,,::::,::::+++:+++++++++++,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,
,::,::::::::::::::::::::::::::::::::::::,,,,::::..,,::::++,,:::,....,::::::::,..,:::::::,,,,,,,,,,,,,,:,,,,,::::,:::::::::,,,,,.,:::,,:+:,,,+:,,,,,,,,,,,:::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::++::,:::::::::,,,,,,,:::,,:+:,,,::,,,,,,,,,,,,:::,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:::::::::,,,,,,,:::,,:+:,,,:+,,,,,,,,,,,,,,:,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,::,,,::,,,,::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,:,,,,,,,..,+::,:+*########*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:******#*#+***+++*#+*+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
,,,,,,,,,,,,,,,,....,,,,,,..,,,,,,,,::::,,:,,,,,,,,.,,::+++:+:::::,,:,,:::::::::++****##**,,*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,.....,......,,,,,,............,,,,:,:,,,,,,,*,,,,,,,,,,+*,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,........................................,,,::::::::::,*###*+::::::::::::::::::::::::::::::+,:,,,::*####*+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,......,,..................................,,::+++:::::+*******+**+:++++++++++++++++++++++++++:,,,*#####*######*,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,....,,,,,,......,,,,,,................,,,,,,::::++:::+******++*#****************************++++*#############+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++::::::++*++******************************#****######*####**+:,,,,::::::::::,,,,,,,,,,::::,,,,,,,,:::::::::
,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::+:::+++*######**********************########**##***++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::++::::++++++::++++::++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++********++++++++++++++++++++++++++++++++::++::::++::++:::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::+++++++++
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::++++::::++:++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++::::+++++++++++++++++++++++++++++++++++++++++++++++++*****+++++++++++++++++++++++++++++++++++++****
,,,,,,::::::::::::::++++++++++++++++++++++++::::++++++++++++++++++++++++++++*+++++++++++++++++++++++**+++++++++++++++++++*++++++++********************+++++++++
++++++++++++++++::++++::++::::++++++::++++++++++++::++++++++++++++++++++++++++++++++++++++++++**++++++*+****++++++::++**************++++++++++++++**++++++++***
+++++++++***++**++++++++++++++++++++++**++++::++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++*++*********++++++********++**++++++++++********+++++++
+++++++:::::::::::::::::::::++::::::::++::::++::++++++++++++++++++++++******++++++++++*+++++++++++++++++++++++++++++++++********++++**++++++++++++++++++*++++++
++++++++::::::+++++++:::::::::++++++++++++++++++++++++::::::++++++++++++++++++++++**++++++++******++++++****++++++++++++++++++++*++++++++++++++++++++++++++++++
++::++++*****+++++++::::::::::::++++++++++++++::++++++++::++++++++++++++++++++++++++++++++*+++++++++*+*+++++++++**++++++++*+++****++++++++++++++++++++**++++***
::::++++++++++++++++++::++::++++++++++++++::+++++++++++++++++++++:++::++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++****+++++++++++++++++++++++++
::++++++++++++++++::::::::::++++++::++++++++++++++++++++++++::::++++++++++++++++++++++++++++:+++++++++++++++++++******+++++++++++++++++++++++++++++++++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............................................,,...,,............................................................................................................
...............................................:...............................................................................................................
...............................................:...............................................................................................................
...............................................:...............................................................................................................
...............................................:........,......................................................................................................
.................:,,...........................:.........,..............................................................................,,...,..,,,,,,,,,,.,,,,
...................,...........................:.........,..................................,,.,.........................,.....,.......,,,...:.,,,,,,,,,,,,,,,,
...................,.......................,,,,:,,,,,,,,,,......,,..,,......,,,,,,..,:,,,,,,,,:,,,,,,,,,,.,,.........................,,,,,:::+:+:::::::+*++++++
....,,....,,,,,,,,,:,,,,,,,,,,,,:::::::++++++:::::::::++::::::::::::::::,,,,,,::::::::::::::::::,,,,,,,,:,,,,,,,....,,......,,......,,,,,,,,,,,,,,,,,:++*+++:::
::+::::::::::::::::::::::,,,::::,.,,+:++++:::::,....,:++::::::..,::::::::,,,,,,,,,::,::,,,,,::::,:::,:,,:::,,,,,,::,,,:::,,,::,,,,,,,,,,::::::::::+:.,,:::::,,,
,,,,,,,,.....,...,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,:::::::::::,:::::::::::,,,,,::,,,:+:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::::,
,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,::,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,
,,,,,,,,,,,,,,....,,,,,,,,:,,,,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,::::::::,::,,,,,::,,,::,,,,,,::::,,,:,,,,::,,,,,,,,,,,,::,,,,,
,,,,,,,,................,,,,,,,,,,,,,,,:,,,:,,,,,,,,,,,,,,,,,,,,,,...,,:,:**####*####*:,,,:,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.................,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,******+++++++***++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,....,,,,,,,,....,,,,::::,,,,,,,,,,,,,,,,,,,,,,:::+++::,:,,,,,,,,::::,,,,,,,,,,,:+**:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,...,,,,,..........,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,**,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,,,,,,,,,............................,,,,,,::::::*++++***+:::::::++++++:::::::::::::::+,,,,:*#######***:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,..........................,,,,::::::+++******##*+*+++++++++++++++++++++++++++::::*############**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,::::++:++*+++++**++****************************++++###*:#+#######+,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,:::::::::::::+++:++*###***************************#########*#*##*::::::::::::::::,,::::::::::::::::::::::,::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::+######################################**####******++++++++++++++++++++++++++++++::+++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::+
++++++++++++++++++::++::++++++++++++++++++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,,,::::::::::::::++++::+++++++++++++++++++
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::++++++++++++::+++++++++++++++++++++++++++++++++*****++++++++++++++++++++++++++++++++++++****+++++++++++++++++
::::::::++++++++++++++++++++::++++++++++++++++++++++::++++++++::+++++++++++++++++++++++++++++++++++++++++*++++++++++++****++*********++++++++++++++++++*++++++*
++++++::::::::++++++::++++++++++++::++++++++++++++++++++++++++++++++++++++++++**++++++*+**++**++++++++++********++**+++*++++++++++++++++++++****++++++++++++**+
++++++++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++******++**++++++************++++++++++********++++++++*+++++****++**+
+:::::::::::++++++::::::::::++::++++++++++++++++++++**++++**++++++++++*+++::++++++++++++++++++++++++++++********++++**++++++++++++++++++++++++++++++++*+++**+++
+++++:+::::::::::::++++++++++++++++:::::::::++++++++++++++++**++******++++++****************++++++++++++++++++++*+++++++++++*++++++++++++++++++++++++++++++++++
::++:::::::::::::+++++**++++++::++++++++++++++++++++++++++++++++++++++++++*+++++++++***+++*+++++**++++++++++++++++++++++++++++++++++++**++*******+******+++++++
++*+++::::::++++++++++::++::++++++++++++++::++:+++++:+++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++++++
++++:::::::+++++++::++++++++++++++++++++++++++::++++++++++++++++++++++++++++:+**++++++++++++**++++****++++++++++++++++++++++++++++++++++++++++++++::+++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..........................................,,...................................................................................................................
........................................,......................................................................................................................
........................................,......................................................................................................................
........................................,,.....................................................................................................................
........................................:......................................................................................................................
..........:+,...........................,.........,.....................................,.......................................,,....,...,,,,,,,,,,,,,,,,,,,,,
............,...........................:,........,..................................,,,,,................,,,,,,,,.,....,.......,,,,,,:,..,,,,,,,:,,,,,,,,,::::
............,,......................,,,,:,,,,,,,,,,.....,,....,,.....,,,,,,,..,:,....,,,:,,,::,,,,..,,........................,,,,:::::::+::::::+*++++++:+++::+
..,,,,,,,,,,:,:,,,,,,,,:,,,,::::+:::++::++++++::::+:::::::::::::,,,,,,:::::::::::::::::::,,,,,,,,,,,,,,,.......................,,,,,,,,,::,,,,:++*++++++++:::::
:::::::,,,,,::::::,,,::::,.,,:::++++:+++:,...,++++:::::,,,::::+:::,,,,,,,,,,,,,:,,,,::::,,:::,,,,::::,,,,,,,,,,,,,,,.::,,,,,,,,,,,:::::::::::,,,,,:::::::,,,,,,
,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,.,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,
,,,,,,..........,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,
,,,,......,,......,,,,,,,,::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::,,,,,,::,,,,:,,,,,,,::::::,,,,,,,,::,,,,,,,,,::,,,,,,,,,,,,
,,,,,,...............,,,,,,,,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,:,:**##*##***###:.,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,+:,:******+++++++***+:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:*,,,,,:::::*::,,,,,,,,,,:*#::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,
,,,,,,,,,,,,........,,,,,,,,..,,..................,,,,,,,:::,,,,,:,,,,,,,,,*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,.,.,,
,,,,,,,,,,,,....................................,,.,::::::::++***#**::::::::++++::::::::++::::::+:*,,,:+########*#+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,
,,,,,,,,,,,,,,..................................,,,::::::::++*#****:*++++++++++++++++++++++++++++++:::######**######*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,
,,,,,,,,,,,,,,,,........................,,,,,,,,,,,::::::::+::::::::+*****************************+++*#####**######*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,
,,,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,::::::::,:::::::++:++###########**********####*****#######*###*+#*::::::,,::,,::::::::::::::::::::,,,,,,.,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::+++*##############################################******++++++++++++++++++++++++++++++++:,.:+++
++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,,,::::::::::::::++::::++++++++++++++++++++++::+
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::++++++++**++++::++++++++++++++++++++++++++++++++******++++++++++++++++++++++++++++++++++++****+++++++++++++++++++++++
::++++++++++++++++::++++++++++++++**+*++++++++++++++++++::++:+++++++++:+++++++++++++++++++++++++*+**++++++++++++****++********++++++++++++++++++**++++**+++++++
::::::::++++++::++++++:+++::++++++++++++++++++++++++++++++++++++++**++++++++++++++**++++++++++++++******++++**++**++++++*+++++++++++++**++++****++++++++++**++*
++++++++++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++**********++++++++++**++****++++**+++*++++********+++++++++
:::::+::++:::::::+::::++:+++++++++++++++++++++**++++++++++++++++++::++++++++++++++++++++:+++++++++******++++***+++++++++++++++++++++++++++++++**++++*+++++++**+
::::::::::::++++++++++++++++:::::::::+++++++++++++++++++++****++++++********++****+**++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++
:::::::::::++++++*++++++::::::++++++++++++++++++++++++++++++++++++++**++++++****++++++++++++++++++++++++++++++**+++++++++++++++***+++*****+*******+++++++++++++
::::::++++++++++++:::+++++++++++++++:+++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++
::::++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++::++++++++++++++++**++****++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++
$..........................................................................................................................................................,*...
...........................................................................................................................................................*...
...........................................................................................................................................................*...
................................,,........................................................................................................................,*...
..............................:...........................................................................................................................,*...
..............................:...........................................................................................................................,*...
..............................:...........................................................................................................................,*...
..............................:........,................................................................................................................,,,*,,,
::............................:........,....................................,,............................................,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,
.,............................:........,...................................,.,,,.............................,,.......,,,,,,,.....,,.,,,,,,,,,,,,:,,,,::::+*:::
........................,,,,,,:,,,,,..,,......,,............,,,,,,..:,.....,,,,,,,,,,,,,,,..,,....,,..,,............,,,,,:::::::::::::*+++++++:+++++::::++++++:
,,,,,,,,,,,,:,,,::::::::++++:+++++++++++::::::::::,:,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,......................,,,,,,,:::,,,,,::+**++++++++::::::::::++:::
,,,,,,:,,::::::,,,,:::+++:+++::,...,++++::++:,,,::::::::,,,,,,,,,,,,:,..,,:::::,:::,,,,:::,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,::::::,,,,,,,,,,,,,,,,
..........,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,:::::::::::,:::::::::,,,,,,,::,,,:::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,
............,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,,,::,,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,
..............,,:::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
,,..........,,,,,,,,,,::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,::+****#####**###:,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,
,,........,,,,,,,,,,,,::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*:+*******++++++*+#*::,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,....,,,,,,,,,,,,,,,,,,,,....,,............,,....,,,::,,,::,,::,,,,,,,,,++,,,,,,,::,,:+**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,
,,,,......,,..,,..................................,,,,:,,,::,,,,,,,,,,,,,,,,#:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,
,,..................................,,..........,,,::::::::,,:+*******::::::::++++++++++++++++::::#+:,::#########**,*+,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,
,,,,,,..............................,,..........,,,,::::::::::+*********++++++++++++++++++++++++++++::*###########****:,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,
,,,,,,,,........................,,,,,,......,,,,,,,,::,,,:::::++++**********************************++######:*#####*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::++++:*####################################++##***:+::::::::::::::::::::::::,:,,,::::::::::,,,
,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::++********************######**################******++++++++++++++++++++++++,.,++++++++++++++
++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::,,::::::::::::::
++++++++::++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,::::::::++:+++++++++++++++++++++++::::+++++*++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***
,,,,,,,,,,,,::::,,::::::::::::::++++++++*+++++::++++++::++++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++
++++++++::++++++++++++++***+++++++++::++++++++++++:+++++++++++++++++++++++++++++++*+++++**++++++++++****++**********+++++++++++++++++++++++++++++++++++++++++++
++::::++++++:+++::++++++++++++++++++++++++::++++++::++++++++++++++++++++*+++++++++++++**********++*+++++++++*+:++*++++++++++**++++++++++++++++++**++***++++++++
++++++++++++++++::::++++++++++*+++++++++++++++++++++++++++++++++++++++++++++****++*+++++++**********++++++++++**++**++++++++++**++++****+++++++++++++++++++++++
::::++::::++++++++++++++++++++++++++**++++++++++++++++++::++++++++++++++++++++++++++++++******++++**++++++++++++++++++*+++++++++*****+++++++++++****++++**++***
++++++++++++++++++:::::::::+++++++++*++++++++++***++++++++********++++****++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**+++++*++****+++++++
++++**++++::::++:++++++++++++++++:++++++++++++++++++++++++*+++++++****++++++++++++++++++*+++++**++++**++++++++++++++**++++****++******++++++**++++++++++++++::+
++++++++::+++++++++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++**++++++++++++++**++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
$...................................................................................................................................................+,..........
..................................................................................................................................................,+,..........
...................................................................................................................................................*,..........
........................,,.........................................................................................................................*,........,+
......................,...........................................................................................................................,*...........
......................,...........................................................................................................................,*...........
......................,...........................................................................................................................,*...........
......................,.........................................................................................................................,,,*,,,,,,,,,,,
......................,,........,.....................................,.................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,.
......................,,........,..................................,,,,,..............................,.......,,..,,:.....,,,,,,,,,,,,,,,:,,,,,,,,:+:,:::::::::
..................,,,,:,,,,,,,,,,....................,..,,,,,,,,...,,,:,,,,,,,,,,,,,,,......................,,,,,,:::::::::::::*++++++++++::::::::++++:::::+:::
,,,,::,,,,,,::+:+++++++++++++++++:::::::::,,::::,,,,,,:::::::::::::::::,,,.,,,,,,,,,.........................,,,,,,,::::,,,,:++*++++++++++::::::::++::::::::::,
,,,,:::,,,::::+++++++*:,..,,++++++::::,:::::::::,,,,,,,,,,::,:..,,::+++::::,,,,:::,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,....,,,,..........,,,,,,::::::::::::::::::::::,,,,,,::,,,,::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,
........,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,
.......,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,:,+****#####**###+,.,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,.,,,,,
....,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,..,,,,::*:********++++++*+**::,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,..,,,,,
..,,,,,,,,,,,,....,,..,,,,..........................,,,,,,,,,,,,::,,,,,,,,,++,,,,,,,,,,,:**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,
....................................................,,,,.,,,,,,,,,,,,,,,,,,:*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,::::::::,,,,,,.,,,,,,,,,,,,,,,,,,,,,,
..................................................,,:,,,,::::****+***#+:::++++++++++++++++++++:::+*:,,:+#########*:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................,,,,::,,,:::+***********++++++++++++++++++++++++++++::###*#*######**++:,,,,,::,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,
......................,,,,,,,,,,............,,,,,,,,,:::,,,::+++++:+************##**####**************#####***##*#**+,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,
,,,,....,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::+++:+++*****################**##############****:*#::,::::::::::::::::,,,.::::::::::::::,:,,,,,
::,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::++**********************************##########******++++++++++++++++++:,,:+++++++++++++++++++++
::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::++++++++++++++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,::::::::::::::::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,,,::::::::,,,,,,,,,,::::,
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,:::::::::::::::::+::++++++++++++++++++++++::+++++++++::++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++
,,,,,,::::,,::::::::::::+++++++++*+++++++:::++++++++++++++++++++++++++++******++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++**+
++++++++++++++++**++++++++++::++++++++::++:+++++++++:+++++++++++++++++++**++++*+**++++++++++++**++++****++**++++++++++++++++++**+++++++++++++++++++++++++++++++
++++:+++++++++++++++++++++++++++++::++++++++:+++++++++++++++++++**++++++++++++++********++**++++++++++++++++++++++++**++++++++++++++++++**++**+++++++++++++++++
++++++++::::++++++++++*+++++++++++++++++++++++++++++++++++++++++++++****++++++++++**********++++++++++**+***++++++++++**++++******+++++++++++++++++++++++++++++
::++++:+++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++****++++***+++++++++++++++++++++++++++++++*+++++*+++++++**++++++******+++++++
++++++*+++::::::::++++++++++++:+++++**+*****++++++********++++**+*+++++++++++++++++++++*++++++*+++++++++++++++++++++++++++++++++++++++++++*+++**++++++++++++++*
++::++++::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++**+++++++++++++++*+++++*****+*****++++++++++++++++++++++::+++++++++
::+++++++++++++++:++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++:::+++++++++++++++++++++++++++::**++++++++++++++**++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****+++++
$......................................................................................................................................,+.......................
......................................................................................................................................,*.......................
......................................................................................................................................,*.......................
.......................................................................................................................................*.........,,,...........
..........,,...........................................................................................................................*...........,,..........
..........,,...........................................................................................................................*...........,,..........
..........,,..........................................................................................................................,*...........,,..........
..........:,.......,................................................................................................................,,,*,,,,,,,,,,,:,,,,,,....,
........,.:........,,...........................................................................................,,,,,,..,,,,,,,,,,,,,,,*,,,,,,,,,,,+,,,,,,,,,,,
........,.:.......,.,..................................,..,...............................,.......,,....,.,,,,...,,,,,,,,,,,,,,,,,,,,,:*::,,,:,:,,:+,,,,,:,,,,:
......,,,,:,,,,,..,,,...........................,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,:,::,,,,,:+*++++++++++::::::::++::++:::::::::++++*+++++
::::::++++*++++++++++:,::::::::::,,,,,,,,,,,::,,::::::,::::,,,.,,,,,,,,,.........................,,,,,:::::::::::::+:::++++++++:::::::::::::::::,,,::::::,,,,::
:+++:++++++:,,.,++++::::::::::::::::,,,,,,::::::::..,,:++++::::,,,,,:,,,,,,,..,,,,,.,,..,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,......,,,,........,,,,,,,,::::::::+++:::::::,:::,,,,,,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,:,,,,,,,,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,::,,..,,::**********+****+,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,........,,,,,,,,,,,,,,,,................,,,,,,,,,,,,......,,,,:::::++,+***++++++++++++::::,,.:,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,
..................,,..................................,,,,,,,,,,:,,,,,,,,,**,,,,,,,,,,,:+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................,,:::,,,,,,,,,,::,,,,,,:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............,,,,,,.................................,::::::::*********++:++++++++++++++++++++:::::+::,:****######*+:++,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,,,,,,,..........................,,,,,,,,:::+****#*******++****++++++++++++++++++++::+#####*#######++::,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,,,,,,,,,,,,,,,,,,....,,,,..,,..........,,,,,,,,,,,,,:::++:+******************##########*********###*#***+###**+,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::++****************###*********#########*###:+*:::::::::,.,::::::::::::::::::::::,,,,,,:::::
::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::++++++++++++++**********************++******************++++++++:,.:+++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++:::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::::,,::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::::::::
::::,,,,,,,,::::::::,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::++++++++++++++++++++++++++++++++++:+++++++++++:::+++*++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++
,,,,::::::::::++++++++::++::++::++::++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++**++++++++**++**+++++++++++++
++++++++++++++++++++::+++++++++:++++++++:+++++++++++++++++++**++***+**++++++++++++++++++****++**++++++++++++++++++**++++++++++++++++++++++++++++++++**+++++++++
++++++++++++++++++++++++++++++++:+++++++++++++++++++**++++++++++++++********++**++++**++++*+++++++++++++**++++++++++++++++++++++**++++++++++**+++++++++++++++++
++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++**++++++**********++++++++++**++++++++++++++**++++****++++++++++++++++++++++++++++++++++++**+++++
++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++**++++++++++++++++++++::++++++++++++++++++*+++++*+++++++++++++++++++**+++++++++++++++++++
::::::++++++++++*+++++************++++**++****++++++++++++++++**++++++*+++**++++++++++++++++++++++++++++++++++++++++++++**++++++++**++++++++++++++**++++**+++++
++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++****+++****+++++++++++++++++++++++::+++++++++++++++:+::++
++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++::::+++++++++++++*++++++++++++::++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++::+++
$...................................................................................................................+...........................................
...................................................................................................................*...........................................
...................................................................................................................*...........................................
..................................................................................................................,*..........,,...............................
...................................................................................................................*...........,...............................
...................................................................................................................*...........,...............................
...................................................................................................................*..........,,...............................
..................................................................................................................,*,,,,,,,,,,,:,,,,..................,,,,,,,,,
......................................,.............................................................,,,,,,,,,,,,,,,*,,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,.
,..................................,..,...............................,.............,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,+::,,,,,,,,,:,,,,,:,,,,,,,,:::::+:::+:::::+:
,...........................,,,,,,.,,,:,,,,,,,::,,,,,,......................,,,,,,,,:,,,,,,,:::::::::::+++::::::+::+::::::::,,::::::::::::::::::::+**++++++++*+
:::::::::,,::,::,,,,,,,,::,,::,,::,::::,,,.,,,,,,,,,.........................,,,,,,,,,,,::::::::::::::::+*++++::::::::::,,,,,,,,,,,,,,,,,:::::::,,:+:::::+*####
::::::::::::,,,,,,,,,,::::::::,.,,:++++:::::::::::,,,,,,.,,,:.,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,
,,,,..................,,,,,,::::::::+++:::::::,:::,,,,,,:::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,
,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::,,,,::,,,:,:,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,..............,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*************+***:,.,,::::::,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................,,,,,,..,,,,,,,,,,....,,,,::,,,,::::**++**+*++++++**++,,..,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................,,,,,,,,,,:*,,,,,,,,:+*,,,,,,,,,,,:+:,,,,,,,,,,,,,,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................,::::,,,,,:+++:::,,::::::::::,,,,,,,,,,,,,,,,:::,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,......,,,,....,,,,.............................,,,:::::::#***++*++++++++++++++::++++++++++++++:::,***,,:**#####*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,..,,,,,,,,,,,,..............................,,,:::++++********+:++++++++++++++++++++++++++++:::*##*,.:***####::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,::+++:::++*+,:::::+****************************###*,,:****#**+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::+****##********************###*##*,.:***++++:::::::::::::::::::::,,,,::::::::::+++++::::::
++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+:,,:+*++++++++++++++++++++++++++++++++++++::::::++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++++
,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::++++++++++++++++++++++++++++++:+++++++++++::++++*++++++++++++++++++++++
,,,,,,,,,,,,::,,::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****++++++++++++++++++++++++++++++++++++
++++::::++::++::++::++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++**++++++++**+++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++**++***+**++++++++++++++++++****++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++
++++++++++++++++++++++++++++++++**++++++++++++++************++++**++++++++++++++++++**++++++++++++++++++++++**++++++++++**+++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++**++++++**********++++++++++****++++++++++++**++++****++++++++++++++++++++++++++++++++**++**++++++++++**+++++++++++++
++++++**++++++++++++++++++++**++++++++++++++++++++**++++++++*+++++++++++++++++++++++++++++++*+++++*+++++++**++++++++++++++++++++++++++++++++++++++++++++++::::+
**************++++++++****++++++++++*+++++**++++++*+++**++++++*+++++++++++++++++++++++++++++++++++++**++++++++**+++++++++++++***++++**+++++++++++++++++++++++++
++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++***+++*****++++++++++++++++++++++::++++++++++++++++::::++++++++******++++**+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++
+++++*++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++
$...........................................................................................................,:..................................................
...........................................................................................................,:..................................................
...........................................................................................................,:..................................................
...........................................................................................................,:.........,,.......................................
...........................................................................................................::...........,......................................
...........................................................................................................::...........,......................................
...........................................................................................................::...........,......................................
...........................................................................................................::,,,,,,,,,,,:,....................,,,,,,,,,,,,,,,,,
..........................................................................................,,,,..,,,,,,,,,,,+:,,,,,,,,,,,,.,,,,,,,,,,,,,,,,.,,,,:,,,,,,,,,,,,,,,
............................,.,,...............................,.............,....,,...,..,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:::+:::::::+::::+++
....................,,,,..,,,,,,,,,,,,::,,,,,,..,,....................,,,,,,,,,,,,,,,,,:::::::::++::::::+:::::::::::,,,,,,::,::::::::::::::++++*+++++++*+++++++
:,,,,,,,,,,,,,,,,,,,,:,,,,,,::::,,,,,,,,,,,,,,.......................,,,,,,,,,,,,,,,::::::::::::++++++::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,:::::::**###*++,,,,:
::,,,,,,,,,,,,,,,,:::::,,,::+++*,:::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,
..................,,:::::::::+++,:::::::::::,,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:+:,,,,,,,::,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,..,,..,,,,,,,,,,,,,,..,,,,,,::::::::,,,,,,,,:,,,::,,,,::,,,,,,,,,,,,,,,,::::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,......................,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++***##**+++::*++,..,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,
........................................,,,,,,........,,,,,,,,::::++::::+*******++++::++++,,,.,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................,,,,,,,,,,:+,,,,,,,,,:*,,,,,,,,,,,:+::,,,,,,,..,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...................................................,::::::::,:+++:::,,::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,....................,,..................,,,::::::::**+++:::+++::::++++++++++++++++++::+:,,,:###########*#*:+,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..............................,,,:+::::+*+:::::::+++++++++****************+++:.,:*####*########::,:,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,........................,,,,:::,,::::::::::::+**********++++++*********:,,:######****##**+:,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++*#**####################*#*:..**#######*#*+++:::::::::::::::::,,::::::::::++++++:::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:..,++++++++++++++++++++++++++++++++++++++::::+::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++:::::::::::::::::::::::::+::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,::::,,::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::::++::::::::+++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::++++++++++++++++::++++++++++::++++++++++::+:++**+++++++++++++++++++++++++++++
,,,,,,,,::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++*+++++++++++++++++++++****+
++::++++::::::++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++****+++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++**++++++++++++++++**********+++*++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++**++++++**++++++**********++++++++++++**++++++++++++++++++++****++++++++++++++++++++++++++++++++++**++++++++++++****+++++++++++++++++
++++++*+++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++*+++++::++::::++++:::::
*******+++++++++**++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++++++***+++++++++++++++++++++++++::+++++++++++
+++++++++++*+++++++++++++++++++++++++++++++++++++++++*++++++++++++++++**++******++****++*+++++++++++++++++++:::++++++++++:++++++::++++++++******++++**+++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++****++++::++++::+++++++++++++++++++++++++++++++
$.................................................................................................*.............................................................
.................................................................................................*.............................................................
................................................................................................,*.............................................................
................................................................................................,*.............................................................
.................................................................................................*...........:.................................................
.................................................................................................*...........:.................................................
.................................................................................................*...........:.................................................
................................................................................................,*..,,,,,,,,,:,,....................:,,,,,,,,,,,,,,,,,,,,,,,,,,
....................,...............................................................,,,,,,,,,,,,,+,,,,,,,,,,,:,,,,,,,.....,,,,,,,.,,:,,,,,,,,.,,,,,,,,,,,,,,,,,
.................,..,...............................,.............,,....,,..,,..,,,,..,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+::::::+++::::+++++++++++++
..........,,,,...,,,,.,,,,,,,,,,,,..,,,,......,,........,,,,,,,,,,,,,,,,,,,,:::::::::::*::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::+++++++*++*++:::+++++++++++:
,,,,,,,,,,::,,,,,::::,,,,,,,,,,,,,.........................,,,,,,,,,,,,,,,:::+:::::::+++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:+*#***+::,,,,::,,,,,,,,,
,,,,,,,,,,,:..,,:++++:::::,,,:::::,,,,,,,,,.,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,..,,,,::,,::::::::::::::::::,,,,.,:::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........,,,,,,,,..,,,,,,,,,:::,,,,,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..........................,,,,,,,,,,,,,,,...........,,,,,,,.,,,,,:+::+++++++++::::+:,,..,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
,,,,....................................,,,,..........,,,,,,::::++::::::::::::+++++++++++++,,..,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,,,,,,,,,::,,,,,,,,,++,,,,,,,,,,,,::,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................,:,,:,,,,:+++::::::::::::::::::::,.,::::::,,,,,,,,,:::,,,,...,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,......,,,,,,,,..........................,,,,,,,,,,,,,:+****++++++++++++++++,.:++++++++:,,:*#********+++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,......,,,,............................,,,,,,:::,,,,,,++*****************+++,,,+*******::+*#***:********+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,......,,,,,,,,..................,,,,,,,,,,,,:::,,,,:++*+****************+++,,,+**********#####*#*******++,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++**##############*,,:##################*****++++:::::::::::::::::::::++++++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,..:++++++++++++++++++++++++++++++::::++::::++:::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++::::::++::++++++:::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,::::,,::::,,::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::++::::::+++++++++++++++++++++++++++
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::++::++++++++++++++++++::++++++++++:+++++++++++:::::+*++++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++****++++***++++++
::++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++
++++++++++++++++++++++**++******++++++++++++++++++++**++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**++++++++++++++************++****++++++++++++++++++**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****+++++
++++++++++++++++**++++++++++++++********++++++++++++**++++++*+++++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++**++++++++++++++++++++****++++++*+++++++++++::++++++++++++++++++++++++*+++++++**++++++++++++++++++++++++++++++++++++++++++++++::::++++::++::++++::+++
++++**++++++++++++*+++++**++++++*+++**++++++*+++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++***++++++++++++++++++++++++++::+++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++***+++*****++++++++++++++:+++++++:::++++++++++:++++::::++++++++******++++**+++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++****++++++::++++::+++++++++++++++++++++++++++++++++++++++++
$..........................................................................................*,...................................................................
..........................................................................................*....................................................................
..........................................................................................*....................................................................
..........................................................................................*.........,,.........................................................
..........................................................................................*...........,,.......................................................
..........................................................................................*...........,........................................................
..........................................................................................*...........,........................................................
........................................................................................,.*.,,,,,,..,,:,.....................,,,,,,,,,,,,,,,,,,,,,,,,,,,.......
..........................................................................,,..,,,,,,,,,,,,+,,,,,,,,,,,:,..,,,,..,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,.,,,,,,,,,,,,,:
..........,,,,..........................,....,.............,.....,,,,,..,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+:+:::++++++++++++++++++++*
..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,::::::::::+*::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,::::::::++++++*+:::::+++:+++++++::::+:+
,,,,,,,,,,:::+,,,,,,,,,:,,..,,......................,,,,,,,,,,,,,,::::::::::::++*+::++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+****++,,,,,,::,,,,,,,,,,,,,,:
,,:,:,...,++++:::::,,:::::,,,,,,,.,,.,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::,,,,,::::+::,,:,,:::,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:+::,,,,,,::,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,........,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................,,,,,,,,,,,,,,............,,,,,,,.,,,,,,::::++::++++:::::::,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................,............,,,,,,::::::,,,,,,::::::::::++++:++++:,.,,:,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................................................,,,,,,,,,,:,,,,,,,,,,+,,,,.,,,,,,,::,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,,,::,,,,+++::::::::::::::.,:::::::::::::::,,,,,,,,::::,,,...,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,..................................,,,,,,,,:++*++++++++++++++,.,:+++++++++++++++:,::*+++*+*+*+++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,....,,,,,,,,..............................,,,,,,,,,,,:+****+************,.,+********+++++++:+:******+*++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,......,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,:+*****+***********,,,*****************************+++*+:,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::++++********,.:*######*###########*####*****+++++:::::::::::::::++++++++++:::::::::::::::::::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:,.::++++++++++++++++++++++++++++++++++::::::::::++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++::::::::::++++++++:::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::,,::::::,,,,,,::,,,,::::,,::::,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::++::::::+++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::++::++++++++++++++++::+++++++++++::+++++++++::::+++*++*++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++**++++++**+++++++++++++
++++++++++++++++****++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++**++++++++**++*+++++++++++++++++++++++++++++++++++++++++++++**+++++++++++
++++++++++++++++*+++**++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++****++++++++++++++**+********+++++**++++++++++++++++++**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****+++++++++++
++++++++++++**++++*+++++++**********++++++++++***+++++++++++*+++++++****++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++*+++++****++++++++++++++++++++++++++++++++++++++++*+++++++++++++**++++++++++++++++++++++++++++++++++*+++++++++::::++++++::::::++++:::+++::::+
++++++++++**++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++*++++++***+++++++++++++++++++++++++:+++++++++++++++++++++++++++++
++++++++++**+++++++++++++++++++++++***++++++++++++++**++++****++******++++++++++++++++++++++::++++++++++::++++::++++++++********++++*+++*++++++++++++++++++++++
++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::++++++::+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++::++++::+++++++++++++++++++++++++++++++++++++++++++++++++
$.................................................................................*.............................................................................
.................................................................................*.............................................................................
.................................................................................*.............................................................................
.................................................................................*.............................................................................
.................................................................................*...........:.................................................................
.................................................................................*...........:.................................................................
................................................................................,*...........:.................................................................
................................................................................,*..,,,,,,...:......................:,..,,,,,,..,,,,,,,,,,,,,,.................
....................................................................,,,,,,,,,,,,:+,,,,,,,,,,,:..............,,,,,,,,,,..,,,,,.,,,,,,,,..:,..,,,,,,,,,,,,,,,,,,,
.,.,................................,.......,,....,,....,,..,,..,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:*+:::+:+++++*++++++++++++*+++++++++
.,,,,,,,,,,,,,,,,,..,,,,,,....,,........,,,,,,,,,,:,,,,,,,,,:+:::::::+:*::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,::::+::::++++++:::::++++++::++:::::::+::::+++++
,::::,,,,,,,::,,,,,,.......................,,,,,,,,,::::::::::::::::++++++++::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++++:,,,,,,,,,,,,,,,,,,,,,::++++**:::
::+++::::,,::::::::,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::+,::::::,,,,,::,,,::,,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,..,,,,,,,,,,,,,,,,::,,,,:,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,...,,,::,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,,,,:::,,,,,,,,,,,,,,,,::++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........,,,,........,,,,,,,,,,............,,..............,,,,,,..,,,,,,::::++++++++::::::::....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................................,,,,,,,,::,,,,,,,,,,::::::::++++++::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................,,,,,,,,,,,:,,,,,,,,,+,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................,,::::::++::::.:::::::::::::::::::::::::,,,:::,,,:+++:,,,.,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,.............................................,,:::::+++++++,.,++++++++++++++++++::::::::::,::+************::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,............................................,,,,,:++++++***++,.,******++++****++++++++++++::::******+*******::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....,,,,....,,,,........,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,:++::::::++::,.:+**##********************++++*****:****++**+:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::::::::::,,,,,,::::::::::::::::,,:::::::::::::::::::::::::,.:+*********####*****************************+++++++++++++++++:::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:,.,++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++::::::++++++++++:::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,::::::::,,,,,,,,,,::::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++::::+++++++++++++++++++++++++++++++++++++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::++++++++++++++++::++++++++++:+++++++++++:::::+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::::++++++++++++++++++++::++++++++++++++++++::++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++****++++++*++++++++++++++++++++++
++++++****++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++
+++++++++++***++++++++++++++++++++****++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++
**++++::++++:+**++********++++**++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++**+
****++++++++++++********++++++++++++++++++++*+*+++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++****++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++::::::++++::::++++::++++++++::+
***+++++**++++++++++**++++++*++:++++:+++++++++++++++++++++++++++++++++++++++**++++++++++++++**++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++:+++++
++++++++++++++++++++++++++****+++++++++++++++++++***+++*****++++++++++++++:+++++++:::++++++++++:::++++::++++++++****++++++++++++++++++++++++++++++++++**++++++*
++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++**++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++::+++++++++***++++++::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$...............................................................,+..............................................................................................
...............................................................,:..............................................................................................
...............................................................,:..............................................................................................
...............................................................,:..............................................................................................
...............................................................,:...........,..................................................................................
...............................................................::...........,..................................................................................
...............................................................::...........,..................................................................................
...............................................................:+.,,,,,,,,,,,.....................,,,,,,,,,,..,,,,,,,,,,,,,,.........................:.......,.
..............................................,,,,..,,,,,,,,,,,::.,,,,,,,,.,,...............,,.....,..,,,,,:,,,,,,,,...:..,,....,,,:,,,,,,..,,,+,,::,**+++++::,
............,......,......,,,,...,....,,...,..,,,,,,,,,,,,,,,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,::+::::::++:::+::++++++++:*+++++++++++*:++++****+++:::
,,,,,,......,,,,........,,,,,,,,,:,,,,,,,,::::::::::+++:++::::::+:::::::::::,,,,,,,,,,,,,,,,,,,::::::::::::+:::::::::::+::::::::::::+:::::++++:+::::++++++++:::
,,.......................,,,,,,,::::::,,::::::::::+++++++++:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++::,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,
:,.,,,,.,,..,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,:+,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,..,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,..,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................,,..............,,,,..............,,........,,,,,,..,,,,:,:,::::::++++:::::::,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............................................................,,,,::,,:,,,,,,,,,::,,,,,,::::::+:+:,.,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................,,....,,,,,,,,,,:,,,,,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................................................,....,,,,,::::++::::::,,::::::::::::::::::::::::,,,,,:++++*+:::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,..,,::::::*+++++::::::::++++++++++++::++++::::::::*************++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................,.,,,::++++++::,:::::++++++++++++++++**++++++*++++******+******++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,:::::,,,,,,,,:++++++++++++****************#*******#+*+:+++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::++++++++++:++:..,:::::::::::::::::++++++++++++++++++++++*************************+++++++++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++:,.,:+++++++++++++++++++++++++++::::::::::::++::++::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++::::++++++++++::::::::::::::::::::::::::::,:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,,,,,,,::::,,::::::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,::::::::::::++++::::++++++++++++++++++++++++++++++++++++++++++++++++++::+:::+++++++
,,,,,,::,,,,,,::::::::::::::::::::++::++++++++++++++++::++++++++++:::+++++++++::+:++**++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++
++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++**++++++*++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++******+++++++++++++++++++++
++++++++++++**++++****+++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++
****++**+++*++**++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++**+++++++++++++++++++
******++++++++++++++***+++++++++++++++++++****++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
**++++++*+++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++::::++++++::::+++++:::++++::++++++++::++++++++**+++++++++
++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++***+++++++++++++++++++:+++++::++++++++++++++++++++++++++++++++::+++++++++++++++++++++
+++++++++*****++++++++++++++++******++*****+++++++++++++++++++++::::+++++++++:::++++::++++++++****++++++++++++::::++++++++++++++++++++++++++::+++++++++++++++++
++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++**++++++::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.........................................................:,....................................................................................................
.........................................................:,....................................................................................................
.........................................................+,....................................................................................................
.........................................................+,....................................................................................................
.........................................................+,..........,,........................................................................................
.........................................................+,..........,,........................................................................................
.........................................................+,...........,.....................................................................................,..
.........................................................+,.,,,,,,,,,,,.....................,,..,,,,,,,,,,,,,,,,,,,,,,........................,,.......,....,..
........................................,,..,,,,,,,,,,,,,+:.,,,,,,,,.,,.....................,,,,,,,,,,,,,,,,,,,,.,,,,,....,,.:,,..,,,,,,,+,,,,:*++*+++,:,,,,,,,
............,,......,,....,,.....,...,...,,,,,,,,,,,,,,,,++,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::+::::::++:::+:::+++::+++++++++++++++*+++++#***++++:,,,,,,,
......,,..........,,,,,,,,,:,,,,,,,,,+::::::::++++++:::::++:::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::+:::::::::::+:::::::::::+:::::::::::+:::::+++++++:+:,,,,,,
.....................,,,,:::::,,,,::::::::+++++*+++++::::+::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,,,,,,,
,.,,..,,,,,,........,,,,,,,,,,,,,,..,,,,,,,,,,,,,,...,,,,:,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,............,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,............,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................,,,,,,........................,,,,,,..,,,,,:,,::::::::::::::::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,
.............................................................,,,,,,,:,:,,,,,,,,,:,,,::,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................,...........,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................,..........,,,,,,::::::::,:::,:::::::::::::::::::::::::,,,:++****+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................,........,,,:::::::+:::++++++++++++++::::::++++++++::+:::+************++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................................,......,,,,,,::::,,,,,,,::+++++++++++++**++********++++++*****+++****+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,::::+++++*********************************+::*++::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::+++++++++++++++++:..:+++::::::::::,,,,:::::::+++++++++++++++++++***************************+++++++:::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++:,.,:+++++++++++++++++++++++++++++++++::::::::::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++:::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,:::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
::::::::::,,,,,,,,,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++::::::::++++++++++++++++++++++++++++++++++++++++++++::::+:::+++++++++++++
::::,,,,,,,,,,::::::::::::::::::++++++++++++++++::++++++++++::++++++++++::+:++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****+++++++++++++++++++++++++++++++++++++++**++++++*++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++****+++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++******+++++++++++++:+++++++++++++
++++++++++++******++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++
**++++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++**+++++++++++++++++++++++++
++++++++++++++++++++++++++**++++++++****++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++
++*+++++++++++++++++++++++++++++++++++++++++++++**+++++++*++++++++++++++++++++++++++++*+++++::++::::++++++::::+++++:::++++::++++++++++++++++++**+++++++++++++++
++++++++:++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++***+++++++++++++++++++:+++++::+++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++:
+++*****++++++++++++++++****++++**+***++++++++++++++++++++::::++++++++::::+++:::++++++++****++++++++++++::::+++++++++++++++++++++++++++:++++++++++++++++++++++:
++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++::++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::
$.................................................*.............................................................................................................
................................................,*.............................................................................................................
................................................,*.............................................................................................................
................................................,*.............................................................................................................
................................................,*...........:.................................................................................................
................................................,*...........:.................................................................................................
................................................,*...........:..............................................................................................,..
................................................,*..,,,,,,,,,:......................,,..,,,,....,,,,,,,,,,,,..................................,,............:,,
....................................,,,,,,,,,,,,,*,,,,,,,,,,,:,,..................,,,,,,,,,,,,,,,,,,,,,,:.,,,,,,..,,:,..,,,,,,.,+,,,..****+++:::,,,,,,,,,,,:+::
....,.............,.....,,..,...,,,,.,,,,,,,,,,,:*,,,,,:,:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::+:*::::::+::::+:::++++++++*++:::::::::+:::++**+**++++:::,,,,,,,,,::::
.............,,,,,:,:,,,,,,,:+:::::::::*++::::::+*++++++:+::::,,,,::,,,,,,,,,,,,,,,,::::::::+:::::::::::::::+:::::::++::::::::::::::::::++++*++::,,,,,,,,,,::::
.............,,,::::,:,,,,,,::::::++:++*++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::+++::,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,::::::::::::::::,,,,,,,,,,,,,,,
,,,,..........,,,,,,,,,,,,,,,,,,.,,:,,,,,...,,,,::,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,............,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................................,,,,......................,,,,,,:,,:::::::::::::++:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,
................................................................,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:++++:,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................................,.......................,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............................................................,,,,,,::++::::::,,::::::::::::::::::::::::,,,,:+*****+:::.,,:,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,
.......................................,.....................,,,,,,:++++++++::::::++++++::++++++++++::+::::+*+**++*+++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................,......................,,,,,,,,,,,,::::++++++++++++********+++++++++++******:**++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,......,,,,,,,,,,,,,,,,,,::+++++************************************++++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::+++++++++++++++,.,++++++::::::::::::::,,,,::::::::++:+++++++++++++++++++++++++++***************+++++++++++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++:,.,++++++++++++++++++++++++++++++++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++:::::::::::::::::::::::::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::++++++++::+
::::,,::::::::,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,::,,,,,,,,,,,,::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++::::++::+++++++++++++++++++
,,,,,,::::::,,,,::::::::::::++++++++++++::++++++++++:+++++++++++::::++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++**+++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++****++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++****++++++++++++++++++++++++*++++++++**++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++**++++++++:+:++++++++++++++++++++
++++++**++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++**+++++++++++++++++++++++++++++++++
++++++++++++++*+++++++++******++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++:++++++++++++++++*+++++++**++++**++++++++++++++++++++++++++++++++++++::++::::++++::::::++++::::++::::+++++++++++++++++++++++++++++++++++++++++++
++++++++++++**++++++++++*+++++++++++++++*+++**++++++++++++++**++++*+++++++++++++++++++++::+++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++::::+++++
++++**+++++++++++***+++*++**++++++++++++++++++++++::+++++++++++:++++:::+++++++++**++**++++**++++++::++++++++++++++++++***+++++,:++++++++++++++++*+::++++::++++:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++:::+++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::
++++++++++++++++++++++++++++++++++++++++:++++++++++++***++++++::++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::
$...........................................*...................................................................................................................
...........................................*...................................................................................................................
...........................................*...................................................................................................................
...........................................*...................................................................................................................
...........................................*...........,.......................................................................................................
...........................................*...........,,......................................................................................................
...........................................*...........,,......................................................................................................
..........................................,*,,,,,,,,..,,......................,,....,,,,....,,,,,,,,,,,,.................................,....,........,,,,,,,,
............................,,,,,,,,,,,,,,,*,,,,,,,,..,:,,..................,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,:,,....,,,,,:,,,,:*++++++::,,,,,,,,,,,,:::::::::
............,,......,,.,...,,,..,,,,,,,,,,,*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::+::::::::+::+++++*+:::::::::::::::++++++++:+::,,,,,,,,::::::::+++
........,,,,::,,,,,,,,,::::::::::*++:::::::**:+++++++:::,,,,::,,,,,,,,,,,,,,,,:::::::+:+::::::+::::::::::::::::+::::::::,,:::::::::::::+::::,,,,,,,,,,::,,::::+
.........,,,::::,,,,,,:::::::++++*++++++++:*+::::::+::::::,,,,,,,,,,,,,,,,,,,,,,::::++:::,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,:
........,,,,,,,,,,,,,,,,,,,,,,::::,,...,,,:+..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,:,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................................,,,,............................,,,,,,:,,,::::::++::::++:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,
..................................................................,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................,,..............................,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................,,..............................::,,,,:::::::::::::::::::::::::::::::::::::,,,:+++++++:::,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::
................................., ,............................,,:::::+++++++::++::++++++++++++::::::+++::::*++++++*****+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................,,........,,.,................................,,,,,,,,::::++++++++++++++********+++++++++***++++****++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,................,,,,,,,,,,,:::+**********************************+***++++:::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,
::::::::::++++++++++++++++++:++:.,:+++++++::::::::::::::::::::::::::++::::++++++++++++++++++++++++++++++++++++**++**++++++++++++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++:...:+++++++++++++++++++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++:::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::+++++++++++++++++
,,,,::::::,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::++::::::::++++++++++++++++++++++++++++++++++++++++++++::::::::+++++++++++++++++++++++++++
::::::,,,,::::::::::::++++++++++++::::++++++++++++++++++++::+:+++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++**++++++++++++*++
++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++++++++++**++++++*+++++++++++++++++++++++++++++++++++++++++++++++++:++++++++:+
++++++++++++***+++++++::++++++++++++++++**+++++++++++**+++++++++++++++++++++++++++++++++++++++++++++**++++++++++******+++++++++++++++++++++++++++++++++++++++++
****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++
**++++++*+++**++++++******++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++**++++++++++++*+::++++**++++****++++++++++++++++++++++++++++*+++++::++::::++:+::::::++++::::+++:::::++++++::++++++++**++++++++++++++::++++++++++::+
++++++**+++++++++++++++++++++++++++++++**+++++++++++++***+++++++++++++++++++++++++::+++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++::::++++++++:::
++++++++++++*****+**+**+++++++++++++++++++++::+++++++++++:++++::::++++++++******++++++++++::::+++++++++++++++++++++++++++:++++++++++++++++++::++::::++++::::::+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
++*+++++++++++++++++++++++++++++++++++++++++++++**++++++++::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
$..................................+,...........................................................................................................................
..................................+,...........................................................................................................................
..................................+,...........................................................................................................................
..................................+,...........................................................................................................................
..................................+,...........,...............................................................................................................
..................................+,...........,...............................................................................................................
..................................+,...........,..........................................................................................................,....
..................................*,..,,,,,,...,..........................,,,,..,,,,,,,,,,,,,,..................................,............,........,,,,:::::
................,,..,,,,,,,,,,,,,.*:,,,,,,,,.,:,................,,,,.,,,,,...,,...,,,,,,,,:,,,,,,,,,..:.......,,.,,,,,,,+::::++::,,,,,,,,,,,,:,,,,,:::::::++:::
...,.........,,,,,,,,,,,,,,,,,,,,,*+,,,,,,,:,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,:+:+::::::+::::::::::::::+:*+::::::::,::::::+++::::+:::,,,,,,,,,,,:::::::::++++++++:
,,,,,,:,,,,,,::::::::::+*+::::::::**++++++++::::::::::,,::::,,,,,,,,,,::::::::+::::::+::::::::+:::::::::::::::::::::::::++::::::::,,,,,,,,,,,:,,,,,,,:::::+++++
,,.,,,,,,,::,::::::::::+*++++++++:+*++++++++:::::::::,,,::,,,,,,,,,,,,,,:::::+::,,,,,,,,,,,,,,,,,,,,,,::::::::::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,::
,,,,,,,,,,..,,,,,,,,,,,,,,....,,,,+,....,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,:::,,,::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,......,,,,.,,,,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,,,,,,,,,,,...................,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............,,,.......................................................,,..,,,,,,::,,::::::::::::::::,...,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,
.....................................................................,,,,,,,,:,,,,,,,,,:,,,,,,,,,,,::+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................,..........................................,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................,.........................................,,,,::::++++++:::::::::::::::::::::::::::::,,,:++++++++++,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,,,
............,,,,....,...:.........................................,,:::::::+++:::::+++::++++++++++::::::++:::::+*++++++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........,,,,,,,,..,...,...,....................................,,,,,,,,,,,,,:::::++++++++++++++++++++++++++++**++++++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,:::+****************************+*******+++++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::+++++++++++++++::..:++++++++::::::::::::::::::::::::::::::::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::
++++++++++++++++++++++,.,:++++++++++++++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++:::::::::::::,:,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,::::::,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::,:::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,::::::::::::::::::::::::::++++++++::+++++++++++++++
::::::,,,,::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++:::++::+++++++++++:+++++++++++++++++++++
::::::::::::::++++++++++::::++++**++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++**+++++++
++++++++++++::+++++++++++++++++++++++******+++++++++++++++++++++++++++++++++++++****++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++
+++***++++++:::+++++++++++++++**++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++::+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++**++++****++++++++++++++++++++++:+++++++++++++++++++++++++++++++::+++++++++++
++**++**++******+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++++
++**++++++++++++++++++++**++++++****++++++++++++++++++++++++++++++++++::+:::::++::::::::++++:::+++::::++++++++:+++++++++++++++++++++++++++++++++++::::::+++++++
**++++++++*++++++++++++++*++++**++++++++:+++++**++++*+++++++++++++++++++++::+++++++++++++++++++++++++++++++::++++++++++++++++++++++++++:::++++++++::::::::++++:
++++*********+++++++++++++*+++++***+++++++++++++++++:::::+++++++++**++**++++++++*++++++++++++++++++++++++++++++::+++++++++++++++++++::++::::++::::::++++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++::++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::+++
++++++++++++++++++++++++++++++++*+++++****++++++::++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::++::::::::+
$..................+,...........................................................................................................................................
..................+,...........................................................................................................................................
..................+,...........................................................................................................................................
..................+,...........................................................................................................................................
..................+,...........,...............................................................................................................................
..................+,..........,,...............................................................................................................................
..................+,...........,..........................................................................................................,.............,,,,...
..................+,,,,,,,,,..,,......................,,..,,....,,,,,,,,,,,,,,..................................,............,........,,,,+,,::::::::::::+:::::
....,,,,,,,,,,,,..*:,,,,,,,,,,,,,,,,............,,,,.,,,,,..,.,.,,,,,,,,,,:,,,,,,,,,,.:.........,,,,,,.,:::::::,,,,,,,,,,,,,,,,,,,,,,,::::*+:::::::::+::++::::+
,,,,..,,,,,,,,,,,,*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:+:::::::::::+:::++::::::::::::::::,:::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,::++::::+++++******++++
::::::::++::::+++:**++++*+++++:+::::::::::::,,,,,,,,,,::::::::::::::::::::::::+:::::::::::::::::::::::::::++:::::,,,,,,,,,,,::,,,,,,,,,,,,:::+++++++++++++++:::
,:::::++++++::::+:*+++++++++:::+:::::,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::+++++:::::::::::::++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,,,,,,.........,*:....,,..,,....,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,..:::
,,,,,,............,,,,,,,,,,,,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,......................,,,,,,,,,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,..........................,,,,................,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................................................................,,,,,:,,::::::::::::::::,,,..,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............,,.........................................................,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,,,.,...........................................................,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......,.,.,...........................................................,,,,,,,,,,::::::::::::::::::::::::::::::+:,,,::+::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,
,,,,.,..,............................................................,,,,,,,,,,,::::++++++++++++++::::::::::::::::++++++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,.,.,...,...................................................,,,,,,,,,,,,,,,,,,::++++++++++++++++++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,:,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++**************************++++++++++::::::::::,,,,,,,,::::,,,,,,,,:::::
++::+:,.,:++++++::::::::::::::::::::::::::::::::::++++++::++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++:::+:::::::::::::::::::::::::::::::::::::
+++++:,.,:++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,::::::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::++++++*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,::,,::::::::::::::::::::::::::++++::++::+++++++++++++++++++++++++++++++
::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++::::++++++++++++::+++++++++++++++++++++++:::++++::++++++++::++++++++++++++++++++++++++++++++***++
::++++++::::++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++**+++++++++++++++++++++++
+++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++:
++++++++++++++**++++++++++****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++**++++****++++++++++++++++++++++:+++++++:+++++++++++++++++++++++::+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++
++++++++++++++******+++++++++++++++++++++++++++++++++++++:::::++::::::::++++:::+++::::++++++++:+++++++**++++++++++++++++++++++++++::::::++++++++:::::::::::::::
+++++++++*++++**+++++++++++++*++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++::::++++++++::::::::++++:::+++++::::+++++
**++++++++++++++***+:+++++++++++++++:::::+++++++++******++++++++*+++++++++++++++++++++++++++++++:+++++++++++++++++++::++::::++::::::++++::::::::::::::::++:::::
++++++++*+++++++++++++++++++++::+++++:++++++++++::++++++++++++++++++:+++++++++:++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::++++++++::++::++:::
****++++::++++++*+++++****++++++::+++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::,:::+++
$::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,:::,,::::::,,,,,,,,,,,,,,,,,:,,::,,,:::::::,,,,:::::,,,,,::,,,,,,   ,::::::,,,
::::::::::,,,,::::,,,,::::,,::::::,,,,,+::++++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++:,,,,,,,,,,,,,,,,,,,...,,... ,,,,,,::,::::::::::::::::::::::::::::::::::++
::::::::::::::::::::::::,,,::::::::::::+*####******...,,::*#*...::,*****+**:::++*+*#**++++++:,++,,,,,,,,,,,,,,,,.,::,::::::::::++++:::::::::::::::::+::::::::::
++++++++::+::,,,,,,,:::+++**::::,,,,:::*####*******:::++++#**:*###*++++::,:*****+.,*****+ **+::::::::++++++:+:::+++++++:::,:::++++:::::+:++**++++++++**+:++++++
**+**++*+++++:,:,,::,,,,::::::::::::::+*####**:**+*++**#*+*:+:+****+++,:::+++**++:,,::::+++++***++:+:+**++*++++***++*+++++++::++++++*+:+++++++,:+*:++++++******
++:,#::,,:::::::::::,,:::::::::::::::::::::::::::::+++:::::::::::::::+++++++:+*::+::++++++++:+++++++::++**+++::::::+*+::+:+++:++:++++*++++*++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::++:::,,::::::,,,,,,,,,::::,,,,:::::::+++:*+:::,,:::::+::::::::::::+::, .....,:+:... .. .,,,++,  ...... .,,++++++::::++:
,,,,,,::::::::::::::::::::::::::::::::::::::::,,::::,,,:::,,::::,,,,:::::::::++::::+::::,,,,::::::::+++++,,,,,,,,,,,,,..,,,...,,,,::::::++:::::::+::::::::::,,:
,,,:::,,,,,,::::::::::::::::,,,,:::::::::::::::::::::,,,:,,,,,::::::,,,,::::::::::::::::::,,,,,,,,,,::::::::++++:,,,::,,:++,,,::,,,,:::::::...... ,++++++++::::
:::::::::::,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,::::::::,,,,,,,,,,,,,::::::::,,,...,:*+,.......,::::::,...,,+::::::++**+*::
::::::::::::::::::::,:,:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,::,,,,,,,,,,::::::::,,,...,:*+,......,,::++::,..,,*##*::::::+++:::
::::::::,,,,,,::::::*:+#+,:::::::::::::::::,.................+*:::::::::::::+,,:+**+*+:::::::::,::::::,,,::::::::,.,..,.:++,......,:++++::,...*+*****+,::****::
::::::::::::::::::::::::::::,,::::::::,,,:#::::::::+++++++::+:#,,,,,,,,,,,,,..,,,,,,,,..........,::::::::::::::::,,,..,.+**,,,,,,,,:++++++:,,,:*.,+:,:,:*######
..................................,,:,,.:#+,::::++::::++++++:::*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,::::::+::,,:,,,,+*+,,,,,,,,:++++++:,+#++,,:*+*##**#####
..............................,,,,....:##:::::::::::++::::+:::::++*#,,,,,,,,,,,,,,,,,,,,,,.,,...::::::::::::::+::,,:,,,,+**,,,,,,,,:++++++:,+*++**,+::::+++++++
...............,...............,,,,,..,,,,,,::::++++:::::::::::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,.. ,:::::::::::::+::,,:,,,,***,,,,,,,,:++++++:,:+*:++,*::+:::::::+
..,,,,..,,,,,,,,......,,,,,,,,,,,,,,,,::,:,,*++++*++++++++++:+::+,,,..,,,,,,......,,,,,.,,......::::::::::++:+++::,:,,::**+:,,:::::::::::::::+*#+**+::++****+**
::::::::::,,,,::::::,,,,,,,,,,,,,,,,::*+***#######################**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,:++:,,,::::+:::+************
::::::::::::::::::::::::::::::::::::::*###########################*#,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::::::::::::::::::::::::::+#*###########:+,::*########**::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,::::::::::::::::::::++++***##########################:::::,,,,::::::::,,,,::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::,,:
::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::
++++::::::++++++++++++++++++++++::::::::::::,,,,::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,::,,::::::::,,:::::::::::::::::::::::::::
:+++++::++++::::::::::++++++++::::::::::::::::::++++++::++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,::::::::::::::::,,:::::::::::
++++::++++++++++++++:::+++++++++++++::+:::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::::::,,:::
:+++++++++++++++++++++::++++++++::++::::::++::++++:::::::,,,::::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::,,,,,,,,,,:::::::::::
++++++++++++++:+++++::::++::++++++++++++::::::++++++++::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::,,,,,,,,,,:::::::::
++::++++++++++++++++++++++++++++++++++++++::::::++::::++:::::::::::::::::::::::+:::+::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++::++++++**+++++++++++:::+:::::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,:::,,,,,,,,,,,
++**++++++*+++++:+++++++++++++++++::++:::::+++::::::::::::::::::::::::::++::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++:+++++::++++++++++++++++++::::++:+::::::::::::::+++++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,
++::++::+++++++++++++++++++++:,+++:,++++::::::::+:::::::++::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,
+++++++:++++++++++++++++++++++::::::++++::::::::::::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:::::::
+++++++++++:++++++++++:::::+++::::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::,,,,,
++++++++++++++:++::,,,,,,,,,::::::::::,,,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,:::,,::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::
,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::,,,,,,,,,,,,,,:::::::::::
$::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:,,,,::,,,,::::::,,,,,,,,,,,,,,::,,,:,,::,,,,,,,,,,,,,,,,,,:,,:::,,::::::,,,,:,:::,,,,,,,:,,,,,..  ,:::::,,,,,:+++*+
::,,,,::::::,,::::,,,,::::,,,,:,++++++::::::::,,:::,,,,,,,,,,,,,,,,,,,,,::++++:,:,,,,,,,,,,,,,,,,,,..,,... ,,,,,,::,::::::::::::::::::::::::::::::::::++:::++*+
::::::::::::::::,:::::::,,,,::::**####******,,..,::+##..,,:,******+*::::++**##*+++::++:*+...,,,,,,,,,,....,+:,::::::::::++++::::::::+::::::::+:::::::::::::+**#
+:::::,,,,,,,,++++***:::+:::,:::*####******#,:::******,***#*++++::,:******..***#** ***+:::::::+++++:::::::::++++::::::+++++:::::++++**++++++++*+::+++::::,,+***
++++++::::,,,,,,,,::::::::::::::**###*****+*++****++:::+#*#*:+*::+::++***:,,,::::::+++*+*++:++++**++++++**++**+++++++:++:++++*+:+++::+:::+++++++++**********#*#
,,::::::::::::,,::::::::::,,::::::::::::::::++++::::::::::::::+++++++++*+:++::+++++++::+*+++:::++**++++:::,:+**+:+++++::::::++*+:+:+++*+++++++*++++++++++++***#
::::::::::::::::::::::::::::::::++::::::::::::,,,,,,,,::::,,,,:::::::::++:*+:::,,::::::::::::::::::++:,......,:+,,....  .,,:::,......... .,+++++:::::+++++++*##
::::::::::::::::::::::::::::::::::::::,,,,,::,,,::::,,::,,,,,,::::::::+:++::::::::,,::::::::::++++,,,,,,::,,......,,....,,,,,:::::::::::::::::::::::,,,,,,,,*##
::,,,,::::::::::::::,,,,::::::::::::::::::::::,,,,,,,,::::::::,,::::::::::::::::::::,,,,,,,,,,::,:::++++::,.::,,,,++,,,,,,,.::::::::.....  ,*****+++++::*+*+***
::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,::::::,,,,::::::::::,,,,,,,,,,,,::::::::,,.,...,++,,....,.::::::::,...,+,:::::++*++*::::::*+#
::::::::::::,::,::::::::::::::::::::::::::::::::::::::::::::::::::,,,::::::::,,,,,,,,,::,,,,,,,,,,::::::::,,.,..,:++,,.....,::::::::...,##*#:,::::**+:::::*+*#*
::,,,,:::::::*,*#:::::::::::::::::::::::::,,................,:*:::::,+:,,**#:*+:::::::::::,,::,,,,::::,,::,,....,:++,,..,,,.:+::++::,.,*:+**++:,::+*+*:::**++*#
::::::::::::::::,,::::,,::::::,,::::::::,,,::::::::+++++++::++:,,,,,,,,,::::::,,........ ,::::::::::::::::,,,,..,:**,.,,,,,.:++++++:,,.:*.,,+:,::*#########*###
............................,:....,,,,,,:::,:::::::::::+++++:::+,,,,,,,,,,,,,,,,,,,,.... ,,,,,,,,,::::::::,,::,,,:**,,::,,,,:++++++:,+#**,.,*+#############*##*
........................,,..,,..,,,,,.**#*+++++++++:+++++++++:::,***,,,,,,,,,,,,,,,,,:,..,::::::::::::::::,,:,,,,+**,,,,,,,,:++++++:,:*+:**,::::::::::::::::::,
......,,:,...............,,,....,,,,,,,::,::::::++::::::::::::::.,,,,,,,,,,,,,,,,,,,,....,:::::::::::::+::,,:,,,,+**,,,,,,,,:+++++++,:+*:+*.*::+::::::::::::++:
,,,,,,,,,,..,,,,,,,,,,,,,,.,,,....,::.,,:,,+++:++++++++++++++:::,,,,,,....,,,,,,.,,,.....,::::::,:::::++++,::,,,,+**,,,,,,::::::::,:::+*#*+*::::**********+*##*
::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,+****#######**##******#****++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:++:,,::::::+++:************+++++::
::::::::::::::::::::::::::::::::::::::+**########################**:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,:,,
:::::::::::::::::::::::::::::::::::::::*###########:++:+###########:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,::::::::::::::::::::::::::++**+***####****##############**+:::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::++**##########**++++::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,:,,:::::::
::::::,,::,,::::::::::::::::::::::::::,,::::,,::::::::::::,,,,,,,,,,,,,,,,::::::::::::::,,::,,::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::
::::++++++++++++++++++++::::::::::::,,::,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::
::++::::::::::::::++++++::::::::::::::::::++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::
++++++::++++++::++++++++:+++++::::::::::::::::::+:::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::::::::::::,,:::::
++++++++++++++++:+++++++::::++:::::+++::+++++:::::,,,,::,,,,:::,,,::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,::::::::::::::::,
++++++++++++::::::++++++:++++++++++::::+++++++++::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,:::::::::::::::::
++++++++++++++++:+++++++::*+++++++++::::::++::++:::::::::::::::::::::::::+::+*::::::,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::++++++++++++**++++++++++:+:::::::::::::::+++::::::::+++:::::::::::::::::+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
++++++++::++++++++++++++++::++++::::++++:::::::::::::::::::::::::+++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,
++++++++++++++::++++++++::++++::::::::++++++::::::::::::++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,
::++++++++++++++++++++::+++:::++++::++::::++::::::++::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++::++::++++++++:::::::+::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::
++++++++++++:+++::::+++++:::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::,,,,,,,,,,,
++++:++++++:,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,::,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,::::,,,,,,,,,,,,,,,,::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::
,,,,::::::,,,,::,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,::::,,,,:::::::::::
$::::,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::,,,,,,,,,,,,,::,,,::,::,,,,::::::,,,,,,,,:,,,,,,,,,,,,,    ::::,,,,,,,:++*+::,,,:+
::::::,,::::,,,,::::::,,,:++++::::,,::,,,,:,:,,,,,,,,,,,,,,,,,,,,,::++++::,,,,,,,,,,,,,,,,,,...,,... .,,,,,:,:::::::::::::::++::::::::::::::::::+::::+*+++++:::
::::::::::::::::::,,::::,+**####*****:..,,,,+*#:..:,+,********,,::++**##++++::+::+:,,,,,,,,,,,,,,,,.+:::::+:::::::+++::::::::++:::::::++:::::::::::::+**#+::::+
,,,,,,,,:++*+*:::::,,,:::+*####*****#*,:::#:***+:*###*++++:,,+#***#:.+*****,,**+::::::,:++:++:::::::+++++::::,::+++++::::::::+**++++++++*+:+++::::::+*#*#:::,::
::::,,,,,,::::::::::::::++*###***+**+*++*#*++:+++*****:++,:::::+*+::,,,::::::+++**++::+:+**+*++++***+++*+++:++::+++++++*:+++++++:::*+++++++*+************::::,:
:::::::::::::::::::::::::::::::::::::++++:::::::::::,,::++++++::+++:++++++++++++++++++:::+***+++::::::**+::++++::::::++++:++++++*+::++++*+++++++++++****##*#***
::::::::::::::::::::::::::++:::,::::::::,,,,,,,,::::,,,,::::::::++::*+::::::::::::::,:::::::+++:.......,++,,..  ...,,:+:,.........,,+:+++++:::+++++++***######*
::::::::::::::::::::::::::::::::,,,,,:::,,:::::::::,,,::::::::::++++::::::::,,:::::::::++++:,.,,,,,,.......,,,....,,,,,::::::::::::::,::::::::,,,,,,,+**#######
::::::::::::::,,,,::::::::::::::::::::::,,,,:,,,::::::::,,::::::::::::::::::,,,,,,,,,,,,::::::+++:::,,,,,,,:+:,,,,,,.,::++:::,.......+++++*++++:::++***########
,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::,,,::::::::::,,,,,,,,,,:::::::::,.:...,:+:,,.....,:::::::,..,,++,:::++++*++*:::::*+*####***
::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::+:,,,,,,,,,,::,,,,,,,,,:::::::::,,:...,:++,,.....,:::::::,,,,+#*#*,::::+++:+:::+*+**###****
::::::*,:#+,::::::::::::::::::::::::,,:::::,......  ........,:#:,,:***:*::::::::::::,,::,,,:::::,,::..,...,+++....,,.,::::+++,,.:+:+*++*,:++***+::+**:+*###*+:,
::::::::::,,::,,::::::::,,:::::::::::::::+,::::::::+++:++++::+,,,,::++++,,,,.......:::::::::::::::::,.,.,,,+++,,,,,,.,:++++++:.,,*,.,:+::::#########*+#########
.....................,::..,,,,,,,,,,,,,,,:::,,,,,,:::::+++++::++,,,,,,,,,,,,,,,,...,,,,,,,,::::::+::,,:,,,,+++,,::,,,,:+++++:::+**,:,++*##**########*###*######
..................,,,,....,,,,,,,,,,.:##**+*****++:*******++::++,**+,,,,,,,,,,:,...::::::::::::::+::,,:,,,,+++,,,,,,,,:++++++:,+*+:**:::+:::::++::++:::::...,##
.,,...............,,,,....,,,,,,,,,,,,,,,,::::::::::::::::::::::..,,,,,,,,,,,,,,...:,::::::::::::+::,,,.,,:**+,,,,,,,,:++++++:,:+*:+,+::+::::::::+::::::++*,::,
..,,..,,,,,,,,,,....,,......,+..,,,,,,,,,,+++++++++++++++:++++::.:,,,,,,,,.,.......:::::::::::::+++:,:,,,,:**+,,,,::::::::::::::*##+*+::::********++**#*++*,#*:
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**#*::***************,,*#*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,.,,++::,,:::::++:++************+++++:::::,,,
:::::::::::::::::::::::::::::::::::::::*########################***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::+*##########++++:*###########:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::::,,,,::,,,,,,:::::::++****#######################**+:::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::,,,,,,,,,
::::::::::::::::::::::::::::::::::+++**#####################****+:::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::,,:::::::::::::
::::,:::::::::::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::
++++++++++++++++++::::::::::::,,::,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::
::::::::::++++++++::::::::::::::::++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::,,,,,,::::::::::::::::,,:::::::::::::::::::::::::
::++++:::::+++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::::::,,::::,,:::::::::::
++++++++:::+++++++::++::::::::++::++::+:::::,,,,::,,,,::,,::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,::::::::::::::::,,:::::
++++++::::++++++++++++++++++::::++++++++++::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::
++++++++++++++++++++*:++++++++::::+++:::++++::::::::::::::::::::::+:::*+:::::,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
++++++++++**++++++++++++::++::::::+++::+++::::::::++::::::::::++::::::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::
++:+++++++++++:+++++++:+::::::++++::+::::::::::::::::::::::+++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++:+++++::::::::++++::::::::::::::++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++*++:::++::::++::::++::::::++::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++::+++++:++++++::::::++::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::,,,,,,:::
++++++++++::::++++::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,::::::::::,,,,,,,,,,,,,,,,:
+:++::,,,,,,,,,:::::::::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,::::::,,::,,,,,,,,,,,,,,::,,::,:::,,,,,,,,,,,
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,,,::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::,,,
::::,,::,,::,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,::,,,::,,,,,,,:::::,,,,,,,,,,,,,,,,,::,,,,..  ::::,,....,:++*++,,,,::+**##*
,,::::,,,,::,,,,,,,:::::::::,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::+++:,,,,,,,,,,,,,,,,,,,,..,,,.......,,::,:,:::::::::::::++::::::::++::::::::::::++*++:++::::**##*
::::::::::::::::::,+**####*****:,,.,:,:##: .:,,,***+*+*+,,::++*#**++++::+:+*,.,,,,,,,,,,,,,,,.++::::+:::::::+++:::::::::::::::::++:::::::::::::+***::,,::::*###
,::++***::::,,,::::+#####******+::+:*+***:+*###+++++:,,:*****,.+*****.:**+,:::::,:++++::+:::::::+++::::,::++++:::::::::+*+::++++++*+::++::::,,+*#*#:::,::::*###
,,,,,,::::::::::::+*#####*+*+++*++***++:+++****#+++.::::::+*::,,,:::::++:+**+++:+:++*++*+++***+++++++:++::++++++++::++::++:::*+++++*+++************+:::,::+###*
,,,,::::::::::::::::::::::::++:+++::::::::::::::::++++++::+++:+:++++++++++:*++++::++***++:+::,,:**++++*+::::::+++++:+++++++++++++**+::++++++++***##**##**+*###*
::::::::::::::::::::++:::,::::::::,,,,,,,,::,,,,,,::::::::*+::*+:::::::+:::::::::::::::+++,.,,..,:++,,..,...,,,::+,,..  ....,,+++++:+:::++++:++**#######**###**
::::::::::::::::::::::::::,,,,,::,,,::::,::::,,,::::::::::+:++::::::,,,,,::::::::++++:..,,,,,........,,.......,,,,,,:::,,,,,,,,:::::::::,,:,,,:**#######*###*++
::::::,,,,,,:::::::::::::::::::::,,,,,,,,,::::::,,,,::::::::::::::::::,,,,,,,,,,,,::::::::::::..,,..,:+:..,,,,.,::++:::,,,,,,..+++++*+*+++:+**++*###########+**
::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,::::::::,,:,,,,,,,,,,:::::::,:..:...,:+:.......,:::::::,,,,,++,:+++++**:++:::::*+*####*****#:::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::+:,,,,,,,,,,,:,,,,,,,,,:::::::::,,:...,++:.......,:::::::,...:###*,:::++++::,,:+*+**##********:::
*.**::::::::::::::::::::::::::,,,,,,::::::::,,,,.........,,,,*:+:*::::::::::,,,,::,,,:::::::::.,,...,+*:,,.....,:::::::,,,:*++**+*,,++***+::+#*:+*###*::+***+:+
+++:::::,,,,::,,::,,::::::::::::::::::::::,:::::::,+++:,+++::::***::,,,,,,,,.::::::::::::::+::,.:...,+++,.,,,,.,:++++++:.,,*...::,:::##########:##########**+,*
...............,::...,,,,,,,,,,,,,,,,,,,,,::,,:::::::::+++++:,:+,.,,,,,,.....,,,,,,,,::::::+::,,:,,,,+++,,,,,,.,:+++++::+*#*,+,++*##**########*#############*#*
............,,......,,,,,,,,,,,,,,,,.:****:++*::,,.:**++::+:::,:,***,,,,,,...::::::::::::::+::,,:,,,,**+,,,,,,,,+++++++::+*+:#*+::+:::::::++::::::,...:####**+*
............,,,,....,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::.:..,,,,,....::::::::::::::+::,,,.,,:*++,,,,,,,,+++++++:,:+*++,*::+::::::::+::::+:+*+,,,,,:++,*
,,,,..,,,+..,,,:,,,,,,,+,,,,,,..,,....,,,:++:+++++++++++++++++:,.,,,.,.......:::::::::::+++++::,,,,,,**+,,,,::::+:,,::::::***++++:++++******+++*#*+++:#*::+*+,*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*#*::###############,,#*+:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::,,..,+++:::::::+++:++++++++++::::++::::,,,,,,,:::,,+
::::::::::::::::::::::::::::::::::::::**##**************####*******::,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,::,::::::::::+**
::::::::::::::::::::::::::::::::::::::**##########*****##########**:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,::::,,::::::::::::::::****#######*:::::########*+#+:::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,
::::::::,,::::::::::::::::::::::::+*+**#########################**::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::,,,,,,::::::::::::::::::,,,,,,,,::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,::::::::::::::::,,:::::::::::::::::::::::::
++++++++++++::::::::::,,,,::,,::,,,,,,,,,,,,::::::,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
::::::++++++::::::::::::++::++++++++++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,::::::::::::::,,::::::::::::::::::::::::::::::,
:::::+++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::::::,,::,,,,:::::::::::::::::
++:::+++++++::++:::::::+++::++::::::::,,,,::,,,,::,,,,::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,::::::::::::::,,,,:::::::::::
::::::++++++++++++++++::::++++++::++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,::::::::::::::,,,,:::::::::::
++++++++++++++*:++++++++::::+++:::++::::::::++::::::::::::::+:::*+::::::,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++++++++++++++:::+::++::::::::+::+++::::::::++::,:::::::::::::::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::,,,
++++++++++++++++:+++::::++++::+:::+::::::::::::::::::+++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++:+++++++::::::+++:::::::::::::::++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++++++:+:+*++:::++::::++:::+::::::::++::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++::++++++++++++::::::+++:::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::,,,,,
++++::++++++++::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,::::::::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,::,:::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,,,,,,,,,,,,,,::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::,,,,,,,,,,,,:::
::,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,::::,,::::::::::::::,,:::::::::
$,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,:::,,,,,,:::::,:,,,,,,,,,,,,,,,::,,,.,,..:::::,....,:+:*+:,:.,:++**#****##,:*,,,+*
,,,,,,:+++:::::::::,..,,,,,,,,,,:,,,,,,,,,,,,,,,:::++:,,,,,,,,,,,,,,,,,,,,..,,,.....  ,,::,:,:::::::::::::::::::::::++::::::::::::++*+::++:::+*##*********+:+**
:::::::+**####*****:,,.,,,+##: .:,,:*****+*+::::++**#*++++::+::*,...,,,,,,,,,,,,..*+:,::+:::::::+++:::::::::::::::::++:::::::::::::****:::,::::####**#*::*:,,+*
,,,,:::*#####******+:::+*+***:+*##*+++++:,,+#****, +*****.,**+::::::,:+++++:+:::::::+++:::,,::++++:::::+:::+*+::++++++++::++::::::+**#*::,:::::####**#+:#*+:::+
::::::+**###**+*+++*+****++::++*****:+:.::++::+*,:,,.:::::++++***++:+:***++*:++***+++++++:++::+++:++::::++::++::+*+++++**++*******+**#+:::::::*###***#+*++*::,,
::::::::::::::::++:+++:::::+::::::,,::++++++::+++::+:+++++++:+:*++++::++**+++:::,,,:**++++*++::::::++++:++++++*+:++++*++::+++++++++**###*#*+*+*#*#+**#+*++*+:::
::::::::++:::,::::::::,,,,,,,,::,,,,,,::::::::++::*+:,::::::::::::,::::::::+++......,:*+:,..,..,::::++:,........,:::++:++:::::::+++*##*#####**###*+**#*+++*++++
::::::::::::::,,,,,::,,,::::,::::,,,::::::::::++:+::::::,,,,,:::,::::+++++..,,,,,,.......,,........,,,,,,,,,,,,,.,,:::::::::::::,,,**#######*###*++***::::*+:::
::::::::::::::::::::,,,,,,,,,,::::::,,,,::::::::::::::::::,,,,,,,,,,,,::::::,,::::......,:+:..,,,,.,::++:::,,,,:,..+++++*++++++***+++*#########*+++*****++**,,:
::::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,::::::::,,,,,,,,,,,,,:::::::,:,,,...,++:.......,:::::::,,,,,*+,:+:+++++:++:::::*+#####****#*+::*+:,::::+,,:
::::::::::,,::::::::::::::::::::::::::,,,,,,,:::::+:,,,,,,,,,,,:,,,,,,,,,:::::::,:.,:...,++:.......,:::::::,.,,+###*,::::+*+::,,:+++*###********:::+++:::::+:::
::::::::::::::::,,,,,,,,:::::::::::::::::::::+,,+*:+++,,,,,,,,::,,,,::,,,:::::::::,.,...,++:,,.....,:::::::,.,:*+*#*+*,,:*+*+:+:+#+:**##*+,,+**++++:*+++:*++:::
::,,::,,:::::::::::::::::::::::::::::::::::,++::::+++++::+++,,+*:,::::::::::::::::,.,...,+++,.,,...,:++++++:.,.*..,::,:,+#########*:####*#####**+:*+*+,:**::+,,
....::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:,,,,,,::::++++:,::#,,,,,,,,::::::+::,,:,,,,+*+,,,,,,.,+++++++:+***,:,*:*****########*###*#########*#*+####**:*##*
,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::,:+::,::::++++::,+.*:::::::::::::+::,,,,,,:**+,,,,,,,,+++++++:++**:#:+::+:::::::++:::::::..,*####+*+*:::::**:,::+
,.,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,:::,:::::::::::++::::::.+,,:::::::::::+::,,,.,,,**+,,,,,,,,+++++++:,++*:+,*::+:::::::+:::::+:+*::,:,,+:+,+:,,,:**+,,,:
..::,,,,,,:+,,,,,,....,,,,,,.,,,,,,:,,..::::::++::::++::::::::,.,,+:::::::::::+++:,,,,,,:**+,,.,::::+:,,::::::**+*++::++******++****#*:++*#++:#+::+:::++**++#**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+*****************++++,,,.,:,,,,,,,,,,,,,,,,,,:::::::::,....+++:::::::+++::+++++++++::::::::::,,,,:,,:+,,:::::,,::+++++
::::::::::::::::::::::::::::::::::,,,+#########################*+*::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,::::::::++::+++**************
:::::::::::::::::::::::::::::::::::::*#########################**#**::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,::::,,::::::::::::::,,,,::,,,,::,**#########:::::##########*####::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::,,,,::::::::::::::::::+*######################******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::,,::::::,,::,,,,,,,
::::::::::,,,,,,,,::::::::::::::::+++*##########****++++::::::,:,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::::::::::::,,:
::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++::++++++++++::+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,::::::::::::::::::::::,,,,:::::::::
+++++:::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,::::::::,,::::::::,,::::::::,
::++::::::++::::++::::::::,,,,::,,::::,,,,::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,::::::::::::,,,,,,::::::::::::::,,,::::::
++++++++::::::++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,::::::::::::::::,,::,,::::::::,,:::::::::
+:++++++++::::::+++:::::::::::::::::::::::::::::+:::*+::+:::,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,
:::::+::++::::::::+::+++::::::::++::::::::::::::::::+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,
++*+++++:::++++::::::+:::::::::::::::::::++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++::::::+,::++::+:::::::::::++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*++:::++::::::::::++::++::++::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,
++::++++++:::::::+::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,
++::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::,::,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,
,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,:::,,,,,,,,,,,,,,,,,,,,,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::,,,,,,,
,,,,,,,,,,,,,,,,::,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,::::::::,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,::::,,::,,,,,,:
$,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,::,:::::::::::,:,,,,,,,,,,,,,,,::,,,.,,..:::::,....::++*+:,:,:,++*##****##,:*,::**####++
,+++++++::::::,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::*+::::,,,,,,,,,,,,,,,,..,,,..... .,,::,:,:::::::::::::++::::::::++::::::::::::++*+::+*:::+*##******+**++:**###**:
:***####****#,.,.,,,+##: .,,:+***+*+*+::::++*##*++++::+::*,,,,,,,,,,,,,,,,..*+:,::+:::::::+++:::::::::::::::::+::::::::::::::+***:::,::::###***#+::*:,,+*:**:::
+*#####*****#::::+*+***:+*##*+++++:,,:*****, +*****,+#*:,:::,,,:++:++:+:::::+++++::::,::++++:::::+:::+*+::++++++++::++::::::+**#*::::::::####**#::#*+::::,++:::
+*####**:++++*+*#**++::+******:+:.:::::::*.:,,,:::::++:+**++::+:+**++*+++***+++*+++:++::++:++:::::::::++:::*+++++**++********#*#+:::::::*###+**#**++*::::::::,,
:::::::::::::+++:::::+::::::,,::++++++:::*+:+::+++++++++++++++::++***+++::,,,:*++:+++++::::::++++:::+*++++::+++*++::++++++++***##**#*+++*###+**#**++*+:::::*+,,
:+++:::,:::::::,,,,,,,,,::,,,,,,:::::::::+::*++:::::::::::::,::::::::+++,.,,..:+++:,,,,..,::::++::........::+:++:++::::::::+**##*####***###****#*+++*+++++**+:,
::::::,,,,,,,::,,,::::,::::,,,::::::::::+:::::::::,,,,,:::,::::++++:.,,,,,,,........,........,,,,,,,,,,,,,,,,::::::::::::,,,,***######*###*++**#::::*+:::::::::
::::::::::::::,,,,,,,,,,::,,,,,,,,::::::::::::::::::,,,,,,,,,,,,::::::,,::::..,,,.,:+:..,.,,.,::++:::,,,,,,.,+++++*+*+*+:+**++**#########*++:+*****++*,,::,:::,
::::::::::::::::::::::::::,,,,,,::,,::::::::,,,:::::::,,,,,,,,,,,,,:::::::::..:...,:+:.......,:::::::,..,,:+,:+++++++:++:::::*+#####****#*+::++::::::+::::,::::
::::,,::::::::::::::::::::::::::,,,,,,::,,,:+:,,,,,,,,,,::,,,,,,,,,:::::::::..:...,:+:,,.....,:::::::,..,:###*,::::+*+::,,:+++**###*******:::++::::::+:::::::::
::::::::::,,,,,,::::::::::::::::::::,,:+::+#+*+*::::::::::,,,,::,,,:::::::::,,:.,,,+++,,.....,:::+++:,..:*+***+*,,:****+::*#+:**##**:,+**++++:*+++:*++:,::+::::
,,::::::::::::::::::::::::::::::::::,,:::+*:+++++++:+++::++::,,#*+:::::::+::.,:.,,,+++,,,,,,.,:++++++:,:,*,.,::,:,:#########*:##########**+:*+*+,:**::+,.,,:::,
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::::::::++++::+:#,,::::::+::,,:.,,,+++,,,,,,,,:+++++::++#*,+,*+*****########*############****+####**:*##*,+*,,,
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::::,,,:::+++++::+,*:::::::+::,,:,,,,+*+,,,,,,,,:++++++:::*+:#++::+:,,::::++:::::::.,,*####+*+*:::,,**:,::*+**+*+
..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**:::::::+:+:::::::+:::::::,***,::::+::,,,..,,*++,,,,,,,,:+++++::,:+*:+,*::+:::::::+:::::::++::.:::+:+,+:,,,:**:,,,:**###*
..,,:+,,,,,,..,,,,,,,,.,,,,,,:,,,,,,,,.::::::+++::+++++:::::::..,:,:+:::+++::,,,,,,**+,,,,::::::::::::::****+:::++++++***++++*#*++++#++:#++:*:,,++**:+#***#**##
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++*+++++++++++++++++.,,,,,:,:,,,,,,,,,,::::::,,:,....+++:::::::+++:++++++++++::::::::::,,,,:,,:+:,:::::::::++++++++:::
::::::::::::::::::::::::::::,,,,,,,,:**#***#*******************++#:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,:::,:,::::::++*********************
::::::::::::::::::::::::::::::::::::*#########################******:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,,,::,,,,,,,,,,,,:##########+::++#################,::::::::::::::,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,::::::,,::::::::::::::::+*#######################***#+::::::::::::::::::::,,::::::::::::::::::::::::::,,::::::,,,,::,,,,,,,,::::::,,::,,,,,,,,,,,,,
::::,,,,,,:::::::::::::::::::::::+++*#####################***+::::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::,,::,
::::,,::,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
::::::++::++++++++++::++::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,::::::::::,,::::::::::,,,,::::::::::::::,
::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,::::::,,::::::::,,::::::::::,::::
::::++::::++::::::::,,,,::,,::::,,,,::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,::::::::::::,,,,,,::::::::::::::,,,:::::::::++:
::++::::++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,,::,,::::::::::::,,::,,::::::::,,::::::,,::::,,:
++++::::::+++:::::::::::::::::::::::::::::+:::++::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,
::++::::::::+::+++::::::::::::::::::::::::::::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,
++:::++++::::::+::::::::::::::::::::+:::::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::+++:::::::::::::::++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++::+:::::::::::::::++::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,
++++:::::::+::::::,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,:::::::,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,:
::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,::,:::,,,,,,,,,,,,,,,,,,,,::,,::::,,::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::,,,,,,,,::,
,,,,,,,,,,::,,,,:::::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,:
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,,,,,::,,::,,,,,,::,,,,,
$,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,:,,,,,:,::::::,,,,,,,,,,,,,,,,,,,,,,,,,.:::::,  ...:+:*+:,:,,,:+**#****##,:*,,,+*####*+**++,:
++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:,,,,,,,,,,,,,,,,,,,,,.,,,.....  .,::,:,:::::::::::::++::::::::++::::::::::::++*++::*:::++##******+*#++:**####*::++,**
##*****,,,.,,,+##: .:,,,**++++**::,,::+*##++::+:+::*:...,,,,,,,,,,,,.,**:,::+:::::::+++:::::::::::::::::++:::::::::::::+***:::,::::*###**#*:,+:,,+*:**:::,,,,,,
#******+:::+*+***:+*###+++++::,:*****,.+###**,,#**::+:::,:++:+::+:::::+++++::::,::++++:::::+:::+*+::++++++++::::::::,,+*##*::,:::::####**#*:**+::+:,++:::::::::
**+**++*++***++:+::+****++*.::::::++:::,,::::::+++++*++:+:++*++*++****+++*++++++:::::+++::::+:::++:::*++:+++*++*******+****::::::,*###***#**++*::::::::,,,:::::
::::++::+++:::::::+:::::::+++++++::**::+:+++++++:+++++++::++***++++::,,:**++:+++::::::::++++++++++*+::+++*++::+++++++*+**#*****+++*##*+**#+*++*+:::::*+:,,,,,,:
:,:::::::,,,,,,,,,::,,,,,,::::::::,+:,++*:::::++:+::::,::::::::+++:,,,,,::++::,,,,,,:::::++:.. ...,,::::+++++::::::::++*##*#####**##*****##+++*++++++*+:,,,,,,,
,,,,,,,::,,,::::,,:::,,,::::::::::+:::::::::,,,,:::::::::+++++...,,,,,.......,,..........,,,,,,,.......:::::::::::::,,,**#######*###*++***::::*+:::,:+:,::::::,
::::::::,,,,,,,,::::,,,,,,,,::::::::::::::::::::,,,,,,,,,,::::::,,::::......,:++.......,::++:::,,,::,.,+++++*+*+++++++++*###########+::+**++::**,,,,,:,,,,,:::,
::::::::::::::::::::,,,,,,::,,,,::::,,::::::::::,,,,,,,,,,,,,,::::::::..,,...:++.......,:::::::,...,++::+++++++::+:::::*:#####*****#+::*:+:::::+::::,:::,,,,,,,
::::::::::::::::::::::::::,,,,,,,:::::::,,,,,,,,,,,:,,,,,,,,,,::::::::..,,..,:++.......,:::::::,.,,:###*.::::+++:,,,::*:**###*******:::++::::::+:::::::::::::::
::::,,,,,,,,:::::::::::::::::::::+,,:#:*:*::,,::::::,,,,,,,,,:::::::::,,:,,,.:*+,,.....,:::::::,.,,*+***++,,,+**++::*#*++###**::+***+++:++**+*+++:,,+::::+++:::
::::::::::::::::::::::::::::::::::::**##**+,,,,,,,,,,,,,,... ..*+*::::,,:...,+*+,.,,..,,:++++++:.,,+,.,::::,:*########*,####*#####***:*+*+,:**+++,.:::+::**+:**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++++++++++++++:+,#,:+::,,:.,,,+*+,,,,,,,,:++++++::***:+.++*****########*#############***+####**:*##*,**,,:+++,**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++++++:+::+++++::**#::,:,,:,,,,+*+,,,,,,,,:++++++:,+*+:#*:::+,:::::::::::::::.,:+####+*+*:::::**:,::++*+**+**+***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+#*:+:::::::::+++++++++::::+.*##.:,.:,,,,**+,,,,,,,,:++++++:,:+*:+++::+:::::::+:::::+:+++:.,,,+:+,+:,,,,**+,..:*####**#***,
,,,,,...,,,,,,,,.,,,,,,:,,,,,,,,,,,,..::::::++::::++++::::::::.,:,,,,:,,,.,,,**+,,,,,,::::,,::,:++***+:+::+++++++++++++***++*+#*+:++:,+:,,::**::#***#**###*+**+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++++++++++++++::,.,,,::,:,,,,,,,:::::::,....++++::::::+*++::++++::::::::::::::::::+:,:+,,:::::::+++*++*+**++:+***+:
::::::::::::::::::::::,,,,,,,,,,,,::*##,:################,:##*++*++::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,::::::::::::::++********************+++++++
::::::::::::::::::::::::::::::::::,+######**################*****:++*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,::,,,,,,,,::::::::::##########****+#############**###+::::::::,,::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,::::::::::::::::::::::::::::::*#########:::::*########**+##***::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,::,,::::::,,::,,,,,,,,,,,,,,,,,,,
,,,,::::::::::::::::::,,,,,,::::::++####**#####################*::::::::::::::::::::::::,,::::::::::::::::,,,,::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,
::,,,,,,,,,,,,,,,,::::::::::::::::::,:::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,::::::::::,,::::::::::,,,,::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::,,,,,,,,,,,,,,::::::::::,,,,,,,,::::::::,,::::::::,,::::::::,,,:::::::,,,
::::++::::::,,,,,,,,,,::::,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,::::::::::::,,,,,,::::::::::::::,,,:::::::::::::::,,,
::++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,,::::::::::::::::,,::,,::::::::,,::::::,,::::,,,,::,,,
::::+++:::::::::::::::::::::::::+:::+:::++::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
:::::::::+++::::::::::::::::::::::::::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:++::::::::::::::::::::::::::+:::::::,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::+++:::::::::::::::++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++::::::::::::++::::::,,,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,::,,,
:::::+++::::,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::,::,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::,,::::,,,,,,,,,,::,,,,,,,
,,,,,,,,,,::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::,,,,,,,,,,::,,,,,,::,,,,,,,,,,,
$,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,:,.::::::  . .,:+*+:,,,:,::**##***##::*:,,+*####*++++:+,:+::,,
:,,,,,,,,..,,,,,,,,,,,,,,,,,,,,:::+:,,,,,,,,,,,,,,,,,,,,,..,:,.. .  ..,:,:,,::::::,::::::+::::,:::++::::::::::::++*+::+*:::++*##*****++**+:**####*::++++*++,+:,
*:,,,,:::##+..:,:,****+++*::,,::+*##*+:::::,:++,,...,,,,,,,,,,,,,*+:::::::::::+++:::::::::::::::::++:::::::::::::+**#+::::::,*###**##,:++,,:*+*#::,,,,,,:::::,,
*+:+:+*****+:*###*++++::,,*****+.,*****+.#**:,::,,,:+::+::::::::+++++::::,::+++++::::::::+++::::++:+++:::::::::,+*#**:,,,:+::*###**#*:***:::+:+*:::::::::::,,,:
+*++*#*++:+::+****:+*.:::::::,+,,,,,:::::+++*+*++:::++*++*++++**+++++++++++:++:+++,:::+:::++::,*++:+*+**++********#**::::::::###*******+*:::::+::,,,:::::::::::
::+++:::::+++:::::::++++++++:**+:+,:+++++++::+*+++::++***+++::::,:+*++:+++::::::::++++++++++*+::+*++*+::::++++++****#****++++###***#+#++*+::::+*::,,,,,,:::::::
::::,,,,,,,,::,,,,,,::::::::::+::**:,::::+:++::::,::::::::+++::,,,:+++::::,,,,:::::+*+,.....,,::::++++:::::::::++*##*#####**####****#*++*++++++*+:,,,,,,,,,,,,,
,::,,,::::,,::,,,,::::::::::::+::,::::,,,,,,:::::::+++++:.........................,.,,,,,........,::::::::::::::,+***#####*###**+***+:::+*:::,:+,:::::::,,,,,,,
::,,,,,,,,::::,,,,,,,,::::::::::::::::::,,,,,,,,,,,,::::::::::::,......,++,,....,.::::::::,,,,: .:++++***++++++++**#*#####**##:::+**:::,+*,,::::,,,,,::,,,,:,,,
::::::::::::::,,,,,,::,,,:,,::::::,,,:::::,,,,,,,,,,,,,,::::::::,..,...,++,,....,.:::::::,....,+::++++++*::+::::::**####*****#:::+:+,::::+:::::+::::,,,,,,,,,,:
::::::::::::::::::,,,,,,,,,:::::+:,,,,,,,,,,::,,,,,,,,,,::::::::,,,,...,++,,....,.,:::::::..,,###*.:++:+*+,,,,,:*:**###*******::,:++:::::++::::::::::::::::::::
,,,,,,::::::::::::::::::,,,+,,,*+*+*::::::::::,,,,,:,,,,::::::::,,,:,,,:++,,,,..,.::::::::,,.*+***++:,,:**++::+*#:+*###*::,***+:+:+++++*+++::,+:,,:++*:::+::,:+
::::::::::::::::::::::::::++::**##**::::::::................. ,,:::,...:**,..,..,.,++++++:,,::*.,:,::,:*#########:**##*#####**::*+++:::*+:*::.,+++:***+*+:+,,,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++::::++++:+++++:+,#:,:,,,:++,,,,,,,,,++++++:,****+,:++******#######*###########****+####**+*###:**,,,++*,+****+:+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:++++:++++++++++++++:*+++.:,,:*+,,,,,,,,:++++++:,:*+:*#.::,::::::::+::::+::,,,+####*++*+::++**+,::+*++**+*++***+:+*#+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**#*++****++::******++++:::*+***,,::**,,,,,,,,:+++++++,:+*::*.*::+:::::::+::::::+++,,,,,:*+,*+,,,:+*+,,.,+####**#*#*: .:##+
,,,,,,,,,,,,..,,,:,,,,,,,,,,,,,,,,,,,.::::::++::::++::+:::::::.,,,,,,.,+**,,,,,,::::::::,:::+***+:::++++++++++*++****:::##::+*+,*:,,::**+:**#*#*+###*++#+**:,::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++++++++:::::,.:,,+:::,::::::::....:+++::::::+**+::++++::::::::::::::::::::,:::,,+:::::+++*++*+***+++****++++:::
::::::::::::::::,,,,,,,,,,,,::::,,:+##++###############*****:::.#+::::*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+:::::::::++++******************++++++++++++*
:::::::::::::::::::::::::::::::::::*******************++**++:+**#+++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,::::,,,,,,:::::::::::::::#############################++*##*,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::*#########+::+:##########**##**####::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::,,,,,,,,,,::::::::::+*############################+:::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,,,,,,,
,,,,,,,,,,,,:::::::::::::::::::+++++++++++::::::::::::::::::,,::,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,
++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,::::::::::::::::::::::,,,,::::::::,,::::::::::,,,,::::::::::::::,,,,,,,,,,,,,
::::::+:::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,::::::::::,,,,,,,,::::::::,,::::::::::::::::::,,::::::::::,,,,,,,
++::::::,,,,,,,,:::::,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::::,,,,,,::::::::::::::,,::::::::::::::::::,,::::,
++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,,,::::::::::::,,,,,,::::::::::::::::,,,,::,,::::::,,::,,,
+:::::::::::::::::::::::::::::::::++::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::+++++::::::::+:::+:::::::::+::::+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
::::+:::::::::::::::::+:++::::::,,:,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::++::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,:::,,,,,,,,,,,,,,
++::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,::::::,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,::,,::::::::::,,:::,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,::,,,,::,,,,,,,,:::::::
,,,,,,,,,,,,::,,,,,,,,,,::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,:,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,::,,,,,
,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,
$,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,,,,,,:::::,,,,,,,,,,,,,,,,,::,,.,+,,:::::..   .:::*::.,,,,:+***#***#*::*,,:**###**++++:::::+:,,,,..,
:,,,,.,,,,,,,,,,,,,,,,,,,:::++,,,,,,,,,,,,,,,,,,,,,,.,,:...   ..,,::+,::::::::::::::+:::::::++::::::::::::::+++++++,,:+*##****#*:+**:,**####+:+++,#*+.++,,*+***
::,+##. .,,.:***+++*+:,,:::+##*:++::::::*:..,,,,,,,,,,,,,,,**+::,:::::::::++:::::::::::::::::+::::::::++::::****+::,::::####**#+,,+:,,:*:**:::,,,,,,,,:,.,,,+++
*****#:*###*+++++:,,:*****,.**##**,,#*+:::,,,,::::+:::::::::++++::+:,::+++*+:::::::::+::,:++::++::::+::::,,:*#**,,,,:+::####**#+:**+::*:,*++::::::::::,,,:::::+
**++,+::**+#*++*,:::::::++::,,::::::+++*++:+++:+**+*++:****+++*++++++:::+:+:,::+:+:::++:::++::+++*++********###*:::::::+###**+#**+**,:::::::,,::::::::::::,,,,,
::::++::::::,::+++++++::**+:+,+++++++++:*+++:::+++**++++::::+**++:+++:::::::++*+::+:+++++:++*+**::::++++++**#*#**#**+++*###+**#+*+**::::,:*+,,,,,,:::::::::::::
,,,,,,::,,,,,,,,::::::,:,+::+*,:::::++:+:::::::::::::+*:,,,,,:+++::::,,,,::+::++:,....,,,,::++++:::::::::+++*#**####**#####***##+++*+++++**+,,,,,,,,,,,,,,,,,,:
::::,,,,,,,,,,:::::::::::+::::::::,,,,::,:::::+++++,..............,,.........,,,,,,,........:::::::++::::,:,***##########*++*+#+:::+::::::+:::::::,,,,,,,,,,,,,
,,,,,,::::::,,,,,,::::::::::::::::::,,,,,,,,,,::::::::,,:::,....,.:++,......,:::::::,,,,:,.,++++***+++++++*+++#*#########:::**:::,:++,,,:,:,,,,,::,,,,::,,,,,,,
::::::,,,,,,,,,,,,:::::::,,,::,,::::::,,,,,,,,,,,,,::::::::,,,..,.:++,......,:::::::....,:+::++++++*:++:::::*+*#####***#*+::*::,::::+:::::::,,,,,,,,:,,,,,::,,:
::::::::::::::,,,,,,,,:::::+:,,,,,,,,,,::,,,,,,,,,,::::::::,.,..,.:++,......,:::::::,,,,,###*,:+::+*:,,,,,:*+**###*******+::++::::::+::::::::::::::::::::::::::
,,:::::::::::::::::::::,,:#:#+*,,,,,:::,:,,,,,,,,,,::::::::,,:,,,,:++,,,,,..,:::::+:....*+***++:,,+**+::,+#*:+####*+:+***+:+:+++++*+*+,::+,,::+++:+:+:,,:+,,,,,
::::::::::::::::::::::+::*####*+:::::::::,,::,....................#++.,,,,..,:++++:+:,.:+,.:,:::,:*#########:*########*#*+:*+*:,:+*+:+:,:::+::**+***,+:,,+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,:++++::+++++::++++,*,:#.,*,,...,,,:++++++::+**++,+:*#****#######*############****+#####*:*##*:+*,,:**:,*****+:+,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,:,+:++++::::::::++++++*::#,.,,,,,,,,:++++++:,:*+:##::::,,:,::::::+++++:.,:+####+*+*++::+**+:::+:*+**++*++**::+**+,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**#*,:++::::,,:+::+::::::,:*:*+*:,,,,,,,,:++++++:,:+*::+,+:::::::::::::::::+::,.:,,+:+,*:,,,:**+:,.:**###*##*#*:..*#*:::,,,
,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::.,:,,,:,:,,,,,::+::::::::+***++:+++++++++++++****+:+*#+::*+:,*:,:::**:+***##+*###****+**+::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.::::+:++++++++++::::::::..:,::::::,,:,...:*+:::::::+**+:::::::::::::::::,,::::+:,,:+:,:+:::::++++:******++****++:+:::::::::
::::::::::,,,,,,,,,,::::::::,,,,,::**#############****+***:.,,..,::::::*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::::++++******************++++++++++++*******
::::::::::::::::::::::::::::::::::*########################*****#+++:+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::,,,,,,::::,,,,::::::::::::##########################**##*+**+#* ::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::*#########++::+###############*++####+::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,
::::::::::,,,,,,,,,,::::::::::::::*########################***##*+::::::::::::::::::::::::::::::::,,::::::::::::::::,,::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,
,,,,,,:::::::::::::::::::::::::++++#############****++:::::::,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,::::::::::::,,::::::::,,::::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,::,,,
+:::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,::::::::::::,,,,,,,,::::::,,,,::::::::,,::::::::::::::::,,::,,,,,,,,,,,
::::,,,:,,::::::,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::::::::::,,,,,,::::::::::::::,,,,::::::::::++::::,,::::,,,,,,,
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::,,,,,,,,::,,::::::::::,,,,::,,::::::::::::::::::::,,,,::::::,,::,,,,,,,
:::::::::::::::::::::::::::::+::++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++::::::::::::::::::::++:::++:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::++::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
:::++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,::,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::
,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:,,,,::,,,,,,,,,,,,,,,,,,,,:,,,::,,::,,,,::::::,,,,,,,,,,,,,,,,,,::,,,,::,,::,,,,,,,,,,,,,:::::,,::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,::::::::::::,
,,,,,,,,::,,,,,,,,,,::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,:,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,
:::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,::::,,::,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,
$::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,+,:+::::. .  .:+:*::.:,:,:+**##***#*,+*,,:**##**:+::+:,,:+::,,,,,,,:****+::::
,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,...,:........,,:,:,::::,:::::::::+::::::::::::::::::::::++++++:*:::+*##****#*:+**,,**####+:+++,**+.+:,,***#**::::++++:
:,++**+++*,:,,:::+***:+:::::::*:....,,,,,,,,,.,,,+**::::+:::::::++:::::::::::::::::+::::::::++:::+**+*++::::,:###***#+,:+:,,+**#++::,,,,,,::,,,,:,*:+:**+*+****
**+++++:,,:*****..***##*,+**:,::,,,,:::++::+::::::++++:::::::+*+++::::++:::+::::::::++::::+::::::++***:::,:+::####**#+:**+:,*::#:+::::::::,,,,,::,++*,:**++:++:
*#:+*:,,::::::++::,:::::::+++*+++:++:+*+**+++****+++*++++++:::+::::::+:+:::++:::*+++++************##*+:::::::+##*+**#**+**::::::::,,::::::::::::,,,,:::::::+++:
:::::+++++++++**+:+:++++++++:+**++:::+****+++:::::++*++:++++::::::++++:+++++++*::+++**::::++++++****#*****+++*###+**#*++**::::::+:,,,,,,::::::::::::,,,,,,::::,
,,,,,,::::::::,:::+*,:::+++++::::::::::::::+*+::::::+++:::::::::++::*++:,,..,,::::++++::::::::::++***#####**####*+**#*+++*+++++*+:,,,,,,,,,,,,,,,,,,::::,,,,,,,
,,::::::::::::++:,*:::,,,,,,,:::+:::+++++,..............,,.........,,,,,,,........:::::::++::+::::***#**##**###*++*+#::::+::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,::::::::::::::::::,,,,,,,,,,:::::::::::::,....,.:++,......,:::::::,,,,.,.,:++++**+**+++**+*+#*#########+::*+,,,,,++,,,::,,,,,,::,,,,::,,,,,,::::::::++:
,,,,::,,::::::::,,::,:::::::,,,,,,,,,,,,,::::::::,,,..,.:++,......,,::::::.....:*::++++++*::::++::*+*#####***#*+,:*:::::::+:::::::::,,,,:::,,,,,,,,,:::::::::::
::::,,,,,,,::::::+:,,,,,,,,,,::,,,,,,,,,,::::::::,.,..,.:++,......,:::::::,,.,,###*,:+::++:,,,,,:*++*####*****++:,*+::::::+::::::::::::::::::::::::::::::::::::
::::::::::::+,,:*:#++,::,,:::,:,,,,,,,,,:::::::::,,:::,.:++,:,,,,,,:++++::,,.,****+++:,,+**+:::+#*:+####*:.:***+++:+++*+*++::,,+,,,:+++::,+:,,++,,,,,,,,,,,,,,,
:::::::::::++++*#####+::::,,,::,::::::::::::::+:,,...............,,+++++:+:,,,+:,,,::,:,*########*,*########***+:*++:,:+*:+*:,,::::+*++**+:+:,:+,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,::::+++++:::::,++++,.*.:*++:+++++:,+***+,*:*#****#######*##############**+####**:*##*+:*,.:**:,****+:++,,,,,,,,::,+:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,:::::::::::++:+++::::::::+++++*::**..:+++:,:*+:##:::+::::,,::+++++++:.,:*####**+*+++++**+:::*:+,*#:+*:+#*:+:#*+:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,... ,,::::++,:::++++++::++::::++:::*+###*,,,,.:,++*:+*,+:::::::::::::::::+,:..,,,+++,*:,,,:**::,.,*####*##*#*,..##++:,,,,,,,,,,:,,:
,,+,,,..,,,,,,,,,,,,,,,,,,......::::+:::::::::::::::::::::::::,.+##*.,,,,,.+:+**+:::++:+++:+*++++*+**++:+#++:*++,*:,,:,**::***##+*###****+**::,:::::++::++:**++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,:::::+++::::++::+:::::::.,::::,,,,:,,,,:::**++::::::::::::,,::::+::+**::+*+,:+:::::++**:**********#*+++*::::::::,,,:::::,,:
,,,,::,,::::::::::,,,,,,::,,::,,:,++++*++++++++++++++++++..,:,.,:::,,,::.#+:,,,,,,,,,,,,,,,,,,::::++::::++++++++******************+++++++++++++#***************
::::::::::::::::::::::::::::::::+#*:+#********####*##,:****+*+*#:+*+*++:*+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,::::,,::::::::::::::::::::,:#########################******#++++*++#+,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::+#########*****################*++*#*###*,::::::::::::::::::::,,,,,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::::::::::::::::+########*:::::*#########***#########*++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,::::,,,,,,,,:::::::*###*****####################*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,::,,,,::::,,::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::,,::::::::::::::::,,::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,
::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,::::::,,,,::::::::,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::::::::::,,,,,,,,::::::::::::,,,,::::::::::++::::,,::,,,,::,,,,,,,,,,,,:
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,::,,::,,::::::,,,,::,,::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::+::+::+:::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::++::::+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::++::::+:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::,,::::::::,,,,,,::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::::::::,,:::::::::
,,,,,,,,,,,,::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,:,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:::::::,,,,,,,,,,,,,,,,,,,::,,,:,,:::::,     :::*::.:,,:::**#****##:+*,,:**###::::+++:,::+:,,,,,,,,****+:+::,,,..
,,,,,,,,,,,,::+:,,,,,,,,,,,,,,,,,,,,..,,:,......,,,,,:,::,::::,::::::+:::::::::::::::::::::::+*:::++:::+*##***##+:+**:,*###*#*:+++,#++.++,.***#**:::+::+::++::,
*+:+*+:,.,::**#*:+::::+::+:,,...,,,,,,,,,,.,**+:::+:::::::+++:::::::::::::::::+::::::::::::::+***+:::::::###***#+,,+,,,+#+**:,,,,,,,,::,,,::,+++:++**++***++***
++,,,:*+***,.******,:#*::,:,,,,::::++:++::::+++++:::,,::+++++:::::::::+:::::::::::::::::::::+*##*,:,::+::####**#::**+,,*+:*+:,::::::::,,::::::+*:,**::++:::,**#
,,:::+::::+:::,,:::::+++++*++:::+++++*++****+++*++++:+:::::+::::::::::++::,+++:+++**+************:::,,,::*##+**#+*++*::::::::,::::::::::::,,,,,,::::::*+::::,,,
+*+++++++**+:::++++++++::*++++::++***+++:::::+**++:++*+:::::::++++++++++*+::+*++++::::+++++****#**#**:+:*###+**#+*++*::::::*+,,,,,::::::::::::::,,,,,,::::,,,,,
::::::::,::::**::::::+:+::::::::::::::+++::,,,::++:::::,,,:::::+*+,,.,..,,:::::+++:::::::::++****#########*#+**#*+++**++++++:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::+:::::::,,,,:::::::::+++++,.........................,.,,,,,........,::::::++::+:::,***######*###*++**#::::*+::,::+:,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::::::::,,,,,,,,,,,,::::::::::::,.....,,++,,....,.:::::::,,,,,:.,+++++*+*+++*+++++*###########+::+:+,,,,++,,,,,:,,,,:::,,,,,,,,,,,,:::::++++:::::::
::::::::::::::,:::::::,,,,,,,,,,,,,,::::::::..,,...,++,,....,.:::::::,...,,+::++++++*::+::::++**######***#+::*:+,,:::+::::,:,,,,,,,:::,,,,::,,::::::::::::,,,,,
,,,,,,,,,,,:+:,,,,,,,,,,,:,,,,,,,,,,::::::::..,....:++,,....,.:::::::,..,,###*,,++:+++,:,,,:#:+*###*******::,++::::::+::::::::::::::::::::::::::::::::::::,,:::
::::,,:+,,:#:*+*::::::::,:,,,,,,,,,,::::::::,,::,,,:++,,,,,,,.::++:::,..,*#**+::,,,:**++::+#*:+*###*:,:***+++:++++:*+++:,,+,,,:+*+::,+,,,:::,,,,,,,,,,,,,,,,,,,
::::::++:+######+:::::::,,.:::::::::::::::::,,:,,,,:::,,..,,,,++:++:,:,,,++.,,,::,:+##**#####:####*#####***,*+*:,:+++:+,:..,+::*++***::,,:+,,,,,,,:::,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,.. ,,,,,,,,,:::::::,++++++::+++++++++:+.+**#,::+***:,+:*******######*#############***+####**+*##*:**,,:+*::****+:++,,,,,,,,,:,:,:::+:::
,,,,,,,,,,,,,,,,,,,,,,,,...,:::::::::::::::::+++++::::::::++++::*+*#..,:*+:##.::::::,,,,::++++++:,,:+####**+*+++++**:::+*++:**:+*++**:::#*+::::::::::::::::+:::
,,,,,,,,,,,,,,,,,,,,,,.,...,:::::::::::+,:::+::+++::::::,,++:+:+**:+#::,:,.:+.+::::::::::+::::::+::.,,,,++*,*:,,,:**+,,,,**###*####*..:*#++:,,,,,,,,:,,,,,:+::,
..,,,,,,,,,,,,,,,,,,,..... ,:::::,::#+:::::::::::::::::::::::::.#**#,.,,,,,.::::++++++++:+++*****+++#**:*+*,*:,,::**::#*#*#**###*+*++*+:,:+:::::++:+:++++++*:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::++:::::::::::::::::,.,::::,,,,,,,,,:::::::::::::::::::::::++*::,*+::+:::::++**++*+***++*##**:+*+::::::::::,+::,,,,:+:::
::,,::::::::,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++++:+..,:,.,::::::,,::,#+,,,,,,,,,,,,,,:::++:::::::+++++*******************++++++++++++*******************++
:::::::::::::::::::::::::::::::*#+:+################::##,::+:+#*::++**++:*+*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::,,::::::::::::::::::::,,::+**#**##########***************#**+++++++**+,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::###############################***++***##*,,:::::::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::::::::::::::::::::::::::########+:+::+##########***###+##########*::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,::,,,,,,,,,,,,::::::::*###****###############*######++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,::,,,,,,,,:::::::+++++**######******++::::::::,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,::::::,,::::::::,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,,,::::::::::,,,,,,::::::::::::::,,,:::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,::::,
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,,,::::,,,,::,,,,,,,,::::::,,::::::::,,::::,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::+:::::,+:::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
+:::::::+++:::++::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::++::::::::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:+,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,::::::,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::::,,::,
,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,::::::::::,,,,,,::::::::::,
,,,,,,::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,::::::,,,,.,,,,,,,,,,,,,,,::,,+,::::::.    .:::*::.:,,::+*###***#*:+*,,:**###+:+,:+:.,::::,....,,:****:++:,,,,..,.,,.
,,,,.,::::,,,,,,,,,,,,,,,,,,,,,,.,,:....  ..,,:::,::::,:::::::::+:::::::::::::::::::::::+*+:+:*::::*##****#+:+**,,**###*::+++,*++ +:,:***#*+:::+:::+:++::,::,,,
::,,::+*##*:++::::::*:..,,,,,,,,,,,,,,.**+::,:::::::::++:::::::::::::::::+:::::::::::::++*+*++:,::,:####**#+,:+:,:+**#+:,,,,,,,,::,,,::,::+:**+*++***++*****##*
+****#..*###**.+**:,::,,,,:::+:::+::::::++++::::,::+*+*+:::::+::+++:::::::++::::::::::,:**#*::,,++::####**#+:**+,,*:,#:+::::::::,,,,,,::+**,+**+++++::+*##*###*
:::::*:::,::::::+:+*++:::+:+*++**::****+++*++++++:::+:+::::::+:::++:::*++++++***********#**+:::::::+##*+*+#*#+**:::::,,:,,::::::::::::,,,,::::::+*++++::,,**+,,
++:+**::+:+++++++::+*+++:::+****++++::::+**++:+++:::++::++++:+++*+***::+++++::::++++++****#*****+++*###+**#+*+**::,,::+:,,,,,,::::::::::::,,,,,,::::,,,,,,:+:::
::::::,:**,::,+++++:::::::::::::+++:::,,::+++:::+:,,::++::*++:....,,,:::::++::::::::::++*#**####**####*+**#*+++*+++++*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::*
::::+::,+:::,,,,,,,:::+:::+++++,..............,,.........,..,,,,........:::::::+::::::::***#####**###*++*+#::::+::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::,,,,,,,,,,:::::::::::::,....,,:++,......,:::::::,,...,.,:+++***+**++++++++###########+::*+:,,,,++,,,,:,,,,,,::,,,,::,,,,,,,,::++::++::::::::::,
:::::,,,::::::::::,,,,,,,,,,,,:::::::::,,,..,.:++,......,:::::::.....:+::++++++*::+:::::***#####***##+::*::::::::,::::::,,,,:::::,,,,,,,,,::::::::::::,,,,,,,,:
,::::::+:,,,,,,,,,:,:,,,,,,,,,:::::::::,.,..,.:++,......,:::::::,,..,###*,::::++:,,,,,:*++*###**++***+::*+::::::+::::::::::::::::::::::::::::::::::::,::::,,,,,
,:+,,:#:#**,::,,:::,:,,,,,,,,,:::::::::,,:::,,:++,,,,,,,,:++++::,,..****+++:,,++*++::+#*:+####*+:+**++++:+++*+*++::,:+,,,:+++::,+:,,+:,,,,,,,,,,,,,,,,:,,,:::::
:+::+*#####*::::,,,:,,:::::::::::::::::,.,..,,:++,,,,,,,,:++++++:,,.++.,,:::,:****#####*,*########***+:*++:,::*:++:,.,:+:+*++*++,+,,++,,,,,,,,,,,,,,,,+,:::::::
,,,,,,,,,,,,,,,,,,,. .,,,,,,,,:::::::::,,:.::+++++++*+++++:+:,:+*#+*::+,+:*#******#####*##############**+###**+:*##+:+*,,:**,:****::++,,,,,,,,::,::::,+::::::::
,,,,,,,,,,,,,,,,,,,...::::::::::::::+::,.:,::+:+++:::::::+++++*:**#*..,+:::+::::::::::+++++:,,:*####+*+*+++++**+:::+:+:*#,+*:+#*:++#++,,::::::,:::::::+::::::::
,,,,,,,,,,,,,,,,..... ::::::::::::::+:::,,,,+::+++++::::::++++#:##+**,,::,,,:::::::::::::::+:,,.:,,+:+.*:,,,:**::,,,**###*##***:.,*#:::,,,,,,,,,::,,::+:::,,:::
,,,,,,,,,,,,......... ,:::::::::::+*++++++****++******+++++:+:#***#*:,,,,,,..++++++++++****+:+*#+::*+:,*:,,:,**::***##+*###**#***+::::::::++::+++++++++:::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::,..,+::,,,,,,,,,,,::,,::,,::::::+::+++:::*+::+:::::++*+:**#*******#*+++*:::::::::::::::,::::::::,,:::
::::::::,,,,,,::,,::,,,,,,,,,,:.::++++++++++++++++::++::.,::,,::::::::.,,,#+:,,,,,,,::::++++::::++++********************+++++++++++++#******************++++***
::::::::::::::::::::::::::::::#*######################:::,:..#:++::+***+:++#+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
,,::::::::::::::::::::,,::::::******####**********##**********#+++++++++#::+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::,##*#############################**++++**+*##+.:::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::::::::::::,,,,::::*########*++++*################:##*+++**####+:::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,,,,,,,,,::::::::::::#########################**+*##*#**+++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,::,,::,,::::::::,,::+++*####################**++::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::::::::::::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::::::::::,,,,,,,,::,,::::::::,,,,::::,,::::++::::,,::,,,,,,,,,,,,,,,,,,::::,,,,:::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,::,,::::::::,,,,,,,,,,::::,,::::::::::,,::,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::+:::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,
::::++:::++::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,::::,,,,:
,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::,,::::::,,,,,,,,,,,,::::,,,,,,:::
,,,,:,,,,,,,:,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::,,::,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,::::::::,,,,,,::::::::::,,,,,,,
,,::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,::::::,,,,,,,,,,,,,,,,,,,,:,.:+,+:::::     ,:+++:,,,.:,:+**#***##::*:,:+*###*,+:,:+:,,,+::,.,,,,,*****:+,+,,.,,,,,,..,,,,
,:::+:,,,,,,,,,,,,,,,,,,,,...,+,.. .  .,,,,:,,,:::::,::::::+::::,::::::::::::::::::++++::+,::++*##****#,:**:.+*#####::++:**+,++,,+**#**:::::::+::++:.:+:,:,:,,,
::**##++::::+::++,..,,,,,,,,,,,,,,,#*:::::,::::::+::::::::::::::::::+:::::::::++:::****+++:::::*####**#:,++,,:****::,,,,,,,,::,,,::+++::+***++**********##**#+,
*,.+***#*:.#**:,:,,,:,:::+::++::::::++++:::,::+++++:::::::::++:::::::::::::::::::,:+#*#:::,:++:*####**#:+*+:,:*:**::::::::::,,,,:::+*++.+*:::++:,:**#####***:*+
+:::+,::++:+++*+*+::::+++++*++++**++++++++:++:::::::,:::::::++:::+*+:+++**+***+*****#*#:::,,,,:*###+***+*:*::,::+::,,:::::::::::,,,,,,::::::**++++,,::*+::+:,::
#+::,:+++++++::+*+++:::+***+++::::,,+*++++++::::::::++++++++++**+:+*++*+::::+++++***#******+::+###*****#++*+:::::*+:,,,,::::::::::::::,,,,,,::::,,,,,,+:,*::,,,
:::++:::::++:++::::::::::::::+::::,,:::+::::::,:::+:::*+:,,...,,:::::+++:::::::::+++###*####**##***+**#*++*++++++*+:,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::+#+++:
+,::::::,,,,,,::::+::+++++:...............,,........,...,,,........,:::::::+:::+:::+***#*########*+*+**::::*:::,:+::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+:
::::::::::::,,,,,,,,,,:::::::::::::.....,,++,.......,:::::::,...,,.:++++**+***++*+*:++*#######*#++,+**,,:,:*,,,,,:,,,,,::,,,,,::,,,,,:::::+:::::::::::::::,,,,,
,,::::::::::::,,,,,,,,,,,,:::::::::..,...,++:.......,:::::::....,++,++++++*+:+::++::#+######**##++::++,:::,+::,:::::,,,,,:::,,,,,,,,::::::::::::,,,,,,,,,,,,,,:
::+::,,,,,,,,,::,,,,,,,,,,:::::::::..:..,,++:.......,:::::::..,,+##*+,++::++,,,,,:++:*####******::::++:::::++::,:+::::::::::::::::::::::::::::::,,::::,,,,,,:::
,**:**+:::,,::,:,,,,,,,,,,::::::::,.,:,,,,*+:,,,,,,,,:++::::..,+**+*:+:,,,+**+:::*#+:*###*+,.**#::+:++++++*++::,+:,,,+++::,:,,,:+:,,,,,,,,,,,,,,,,,,:::::::::::
**#####+::::::,::::::::::::::::::::.,:,,,,*+:,..,,,,::++++::,,.,*..,,,:,::****#####+:####*#####*+:**++,::+*,+::.,,:::++++**++:,,+:,,,,,,,,,,,,,,,:,,:::::,:::::
,,,,,,,,,,,,,,...,,,,,,,,,::::::::,,,:..,,*,,,,,::,,::,,,,,,...+*#:+*,#*****#######*###########*****####**+**##:*+,,,+++,****+,:+:,,,,,,,,,,+,::::::::::::+::::
,,,,,,,,,,,,.,,...::::::,::::::::::,,:,,:::::+::++++++::+++++++*****...:,:::::::++++++*:,:+#####+**++++++*+:::++::+*+:++++#::++#+:::::::::::+:::::::::::::+::::
,,,,,,,,,,,,,.....:::::::::::::::::,,:,:,,::++::+++++:+++:+++++**####:,,:*,,:::+::::::::,,:,,,,*:,++,,,::**,:,,:**##*###**+:,+##::,,,,,,,,,,+,,,::::,,,,,:+::::
,,,,,,,,,.........::::::,::::::+::**:*+***:::,,+****++::+++,:+,*****#*+:,,,,,,+:++**+**+++##:::#:,*+:,::+**,+#****+####+*#++*:::::,:++*++:++*+++++::::++++*+::+
,,,,,,,,,,,,,,,,.,,,,,,,,,,,::,,:,:::::::::::::::::::::::::..,*:,,,,,,:,,,,,,,,,::::::+:++**,,+*:,+::::::++*++**###***###*:++*::::::,,,,,:::::::::++:::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++++++::::::::,.,::::::::::::::,,.+::::::++++++::::++++++******************++++++++++++*#**************************+++
::::::::::::::::::::::,,,,,,::***********************.,,,,..,,,,::::::+*+,**#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::
::::::::::::::::,,::::::::,:*########################********#++++++++*++*:**:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::,:##########################****##*#+++++++++*##,.::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,:::::::,,#########:+*++#################**##*#*+::*###**::,,::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,::::::::::,,::,,:*########++++:##########*+++###*######**++++:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,::,,::::::::,:::*####+****###################*::::::::::::::::,,,,,,,,,,,,::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,::,,,,,,,,,,::::::::::,,,,::::::::::::::::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,::::::::::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,:,,::::,,::,,,,,,,,::::::,,::::::::,,,,::,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
+::::+::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::,,,,::,,,
,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:::::,,::::::,,,,,,,,,,,,::::::,,,,::,,,,,
,:,,,,,,:,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,::,,::::,,,,,,,,,,::::::,,,,::,,,,,
::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,:::::,,,,,,,,,,,,,,,,,,,,,:,.+,.+:::,.     :+:*+:.:,,:::+*##***##:+*,,:**###+,::,:+,,,:,:,....,,:****:++::,,,,,,....,.,,.,,,,
:,,,,,,,,,,,,,,,,,,,,,..,,,..... .,,,,,:,,,,::::,::::::+:::::::::::::::::::::::++++::+:::++###***#*,:*+,,*####**::++,#++,+:,,+****:,:,:::++:++::,::,,:+:,,:.:::
**++:::::::+,.......,,,,,,,,.,*#+:::+:::::::::+:::::::::::::::::+:::::::::+:::++*+*+*+:::::*##***#+:,+,,,+#***:,,,,,,,:::,.,*+,+++::+*#+++++*+***********,+**+,
***#*.*#*+:,:,,,,::::+::+:::::::+++:::,,,:+*+++:::::+::::+::::::::::::::::::,,:+#*#::,,:++,####**#+:**+,,++:*+:,::::::::,,,::::+**,:+*+:::::::**#####**++*::,,,
:,::++:::+*+++:::++++++*++++**+++*++++:+:::::::::::::::+++:::*+::+++**+************::,,,,::#####*#**++*::::::::,::::::::::::,,,,,,::::::**++**+::++::,::::::,,,
:+++++++::+*++++::++***+++::::,:**++:++++::+::::++++++++*+**::+*+++:::+++++++****##*#**:++*###+*+#+#++*+::,,,*+,,,,,::::::::::::,,,,,,:::::,,,,,,:+:::,+:,,,,:,
*:::::++:+:::::::::::::::++:::::++++:+++:::::++::+*+::,,,,:::::::+++:::::::::++*##**####**##****+##+++*+++:++*:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::#*:+:::+#:
::::,,,,:::::++::+++++,.,,..................... ,,,,,,,........:::::::++::+::::+*###########**+*+#+:::++::,::+:,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,*+:::::
::::::,,,,,,,,,,,,::,:::::::::,.,,,,,,++,,,,..,.::::::::......,:++++*++++++++++:**##########::,*+*,,,,+*,,,,,:,,,,,,,,,,,,::,,,,,,,,::+:::::::::::::::,,,,,,,,,
::::::::,,,,,,,,,,,,,,::::::::,..,..,,++......,.::::::::....:**,++++++*::+::++++**######**##:::+,*:::::+::::,:::,,,,::::,,,,,,,,::::::::::::::,,,,,,,,,,::::,,,
:,,,,,,,,,::,,,,,,,,,,::::::::,,.,...,++......,.,:::::::...,###*:,++:+++,:,,,:#:+*####**++**:::++:::::,+::::::::::::::::::::::::::::::::::::,,::,,,,,,,,::,,::,
**::,,,,,,,:,,,,,,,,,,::::::::,,,,,,,:++,,,,,,,.,:::++::..,+****+::,::++++::+*#++*###+:,+***+:+:++++:*+++:,,+,,,:*++,,,+,,,::,,,,,,,,,,,,,,,,:,,::::::::,,:::::
##*+::::::::,,::::::,:::::::::,,,,..,:++,,,,,,.,::+++++:,,,,*.,,,,:.::********#:**##**####**::*+++,::++:+,:,,,+::+*++*++::,:+,,,,,,,,,,,,,,,,+,,:::::::::::::::
,,,,,,,,,,...,,,,,,,,,::::::::,,.,...:++,,,,....,,,,,,,,...,..,.:++:+,**#######*###########****+####**:*##*:**,,:++:,***+:,:+,::::,,::,,:::::+::,,:::::::::::::
,,,,,,,,,,...,::::::,:::::::::,,,,,,,:*+,:,,,:+,:++++++++:++:+,:+++*,..,::++++++++:+:+*###*****+******+:::*++:*#::+::**:::#*+::::::::::::::::+:::::::::::::::::
,,,,,,,,.,,..,::::::::::::::::,,,.,,,::::,,,:+:::+++::::::++++ ##*+*#:.,,:,+::::::+:.,,,,,:*+,*+,,,:**+,,,,+*###*###**+:,*#*::,,,,,,,,,,,,,::+::,,,,:::,::,,:::
,,,,.........,::::::,,:::::+::,,,,+**+,,,,,:++:::::::::::::::* ***#::#::::,,,,,**#++*:##+:+*:,*:,,::**:,****#**###***#**+:,:+:,:++*+:+::+++++*::::+++::::+++:::
,,,,,,,,,,...,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::..,:*..,,,,+,,,,,,,*::+++***+::**::++::::+***++**###+**##**:+*+::::::,,:::+::,,::,+:::::::+:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:::::++++::::++:::::::::,.,::::+:::,,,,,:::,.,,:+*++++++++++++*******************++++++++++++************************++++*******
::::::::::::::::,,,,,,,,,,,,:++++++++++++++++++++++:..,,:,...:+:,,,:::::::++#**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,:::::::,,,:
::::::::::::::::::::::::::,*#+,+################,,####***+**#****++++++++++****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,::::::::::::::::::::#########################*******#*##+++++++****#*,,:,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,::::::::,,:#**##########*####################++++*#*#*+###*:+:::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::,,::,,,,,,,,,:########+++:++###########***#################**+::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,::,,,,:::::::::::::+##############################+:::::::::::::::,,,,,,::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::,,,,,,,,,,,,,,::++++**########**++++++::,,::::::::::::::::::::,,,,,,,,,,::,,,,,,,,::::::,,::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,::::,,::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,::,,::::,,::::,,,,::::::::,,::::::::,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
:+::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::,,,,::,,,,,,:
,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::,,,,,,,,,,,,,,,,::,,,
,,,,,,,,,,,,,,::,,,,::+:,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,::,,::,,,,::,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,::::::,,,,::,,,,,,,,,
::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,::,,::,,::::::,,,,,,,,,,,,,,,,,,,,::,.+,::,:,,.     :::*::.:,,::++###***#*:+*,,:**##*+:,:::::,.,::,....,,:****:+::,,,,......,.,,,,,,,,..   .,
,,,,,,,,,,,,,,,...::    ....,,:,+,::,,,:,,::::::+:::::::::::::::::::,:::+*+:::+::::*##****#*,:*+ ,**###**:+++.#++.::,,+++**:,,:::::+::::,,+:,,,+,,,:::::+:.+...
+::+*,......,,,,,,,,,,,***::::::::::::++:::::::::::::::::::::::::::+::,:**:+++:,,:,:####**#+::+,,,+**#*+,,,,,,,,,,.,:+::+++::+*#::::+++*********#*,*+*,..*,,:::
**+,::,,,,:::::::+::::::++++:::::::+*+*+:::::::::+::::::::::::::+:::::,:+#*#::,,:+::####**#+:**+:,*+,#:+::::::::,,,,:::+***,+*:+::::+::*######**+++:,,,,:,:****
+:+*++::++++++++*:+***+++++++++++::::::::::::+:::++:::+++:++**++*********##*:::,,,,:##*#*+#+*+**::::,:::,:::::::::::,,,,,,:::,::*******+:,**:,,::+:::,:,:::+***
++:+*+++:::+**++*++:::::+**+::++++::++:::+++:+:+*++++::+*+++:::::+++++****#*****+::+###***#+*++*::,,::*+,,,,,,::::::::::::,,,,,,::::,,,,,,++:::,::,,,,,.,,,,,,,
::+:::::::::::::++*+++::,:+++:++:::::+:::::++:,,,:::::::::++::::::::::++*##*######*####**+##+++*++::++*+,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::#*:+:,,+#::::::::
,,::,:+:::++++:,,,.......................,..,,..........:::::::+++++::::***###########*+*+#+:::+:::::++:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,*+::,:::::::::
,,,,,,,,,,:::::::::::::,,,,,:,,++,,,,,..,,::::::,......,:*+++**++++++*++++#*#########:::*+*,,:.++,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,::::::::,.,...,,++,......,,::::::,...,,*+:*+++++*::+::++++**##########:::*:+:,:::+:,:,,::,,,,::::::,,,,,,,:::::::::::::,,,,::,,,,,,::,,,,:,,,,,,
,,:::,,,,,,,,,,::::::::,,....,,++,.......,::::::,...,*##*+::::+*+,:,,,:*++*####*+****:,,+++::::,+:,::::::::::::::::::::::::::::::::::,,,::,,,,,,,:::,::,,,,,:,,
::,,:,,,,,,,,,,::::::::,..,,,.,++,..,,,,.,++::::,.,,+*#+*+,:,,:++++:::##+:*###*+,:***::+:+++::*+++::,+,,,:+++::,:::,:+,,,,,,,,,,,,,,,,:,,,::,:,,,,,,::::::::::,
,,,::,:::::::::::::::::,,....,:++,,,,,...,:::::::,.,,*,,,:,,,::+********,+*###**##*#*::**++,,,++,+:,,:,::++*++++++:,:+,,,,,,:,,,,,,,,,+,,,::::,::::::::::::::::
,,,. .,,,,,,,,,::::::::,,,...,:*+,,,,,,,.,:+++++:,..................,,,**###########**#*+*##***:*##*:*+:,,**+:***+:,:+,,::,,,,::,:::::+:::,:::::::::,,::::::::,
.,,...,::::::,:::::::::,.,,,.,:*+:,,,,,,,:+:::::+:++++:::::+:.:,*+*+#+,..+*++,+***##*+**+******++:+**+:**:++::**:+:**+,,::::::,:::::::+::::::::::::::::::::+,,+
,.... ,:::::::::::::+::,,,,,.,:*+:,,..,,,,,::::++:::+++::::+++* *:+++#+..,.:,.,,,:,:#:,*+,,,:+*+,:,.+*###*###**+::*#*::,,,,,,,,,:,,,::+:::,,::::::::::::,,,:,,:
.... .,:::::,,::::::+::,.,,,..:+++,,,.+.,:::::+:::::+++:,:+:++#,##*#*:**:::::+..,,,:*:,++,,:+**+,+*#*#**###*+##**+::::+:::+++++++**+++*+:::++++++++++++:::::*:,
,,,,..,,,,,,,,,,::::,,,,::,,::::::+*::::++::+:++++++++++++:++:.#*#****:,..,,,,,,,.,+*::+:::::+***+**+###****#*+++*+:+::::::::+++:,::,,+:::::::+:::::::::,,,+::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,.,::+::,,,,,,,,,,,,,,,,,:++++******************+++++++++++*#******************++++++++**++*#*********
::::::::,,,,,,,,,,,,,,,,,,,,:::::::+++++++++++::::::,,.,:,,,:++++:::::::,,,,.,*#::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,::::::::::
::::::::::::::::::::::,,:,*#############**####***#..:,,,,..**,,+*+::::+***++:+++#**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,::::::::::::::###########################***+***##*+++++++++++++#+++**::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,::,,::::::,,,,:::::#########################***######*##++++++++**++*#*::.::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,,,,,,:+########+++++###################*#*######*+::+*###**+::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::,,,,,,,,,,:::,########****++###########*++**###*########**::::::::::::::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,::::+*####*****#################***+::::::::::,,::::,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::,,,,,,,,,,,,::::::::::,,,,,,,,::,,::::::::::,,,:::,,::::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,::,,::::,,,,::,,,,,,::::::,,::::::::::,,,,::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,
:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,::,,,,::::,,,,,,,,::,,:
,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,:,,,,,,,,,,,
,,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,::::,,::,,::::,,,,,,::::::::,
,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,::::,,::,,,,,,,,,,,,::,,:,,,,,,,,,,,,,,,,,,,,,:
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,:,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,:,,+::+:::,.     :::*::.,,,,::*#*#***#*:*+,,:**###,,::,::,,,::,,,,,,.,:+***:++:,,,..,,,,,,,,.,,,,,,....,.,*,,
,,,,,,,,,,,,..,:,.......,,,,,:.:,,,,::,:::::++:::::::::::::::::::::::+*+:::+:::+*##***##:,+*+,:*####*+:++*,#+::+,,,+****:,::::+:+:+:,,,+,,,,:,,,:,::+++.:...:++
+*,,....,,,,,,,,,,,,#**::,:+::::::+++:::::::::::::::::+:::::::::+::::++*++*:,,:::###***#,,,+,,,+#*#*:,,,,,,,::,,,,*::+++::**#::::+++*********#*.*+*:.,*:,,:::,.
,:,,,,::::++::+:::::+++++:::,,::+*++::::::+:::+::::::::::::::::::::::+*#*:::,:+::####**#::#*:::*::*+::::::::,,,,,:+:+***.:*++:::::::**#####**+**::,,::::*******
++++::+:+++++*+++**++++*++++::::+:::+:::::+::+++:::*+++++***+************:,,,,,::#####*#+++**:::::::,,::::::::::::,,,,::::::,*#*****++:*+:.:,,+:::,:,:::*******
+*+++:::+***++++:::::+**+::++++::+::::+++++++**+*+::+*+++:::+++++++****##*#**:::*###+**#+*++*:::,,:+:,,,,,::::::::::::,,,,,,::::,,,,,,,:+,+,,::.,,::.,,,,,,,,,,
:::::::::::::++++:+:::+++++:::::,::++::+++::,,:::::::::+++:::::::::++****#########*#+**##+++*+++:++*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::**:+:,:+#:::::::::::
::::::++++++.,,,......................,,,,.......... ,::::::+++++::::+**##########**+*+#+:::*+::,:++:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+::+::::::::::::::::
,,,,,,,,::::::::::::,,::,,,,++,,,,,,,.:::::::,......,:++++**++++++++++**##########::,*+*::,,+*,,,,,:,,,,,,,,,,,,:,,,,,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:::::::::,,,....,++,,....,.,:::::::....,++,*+++++*::+,:**+***######***#:::+,*,,:::+::::,:,,,,,,::::,,,,,,,,,,::::::::::::,,,,,,,,,,,,::,,,,,,,,:,,,,
,:,,,,,,,,,,::::::::..,....,++,.....,.,:::::::...,*##*:,++:+++,:,,,:*:+*####**++**:,:+++::::,+::::,:::::::::::::,,::::::::::::::::,,,,,,,,,,,:::,:::,,,,,,,,,,,
,:,,,,,,,,,:::::::::,,,,,,,:*+,.,,,,,.,:++::::,,,+****+::,::++++:::**++*###*+,:+**+:+:+++::*++::,,+,,,:*++,,,+::,::,,,,,,,,,,,,,,,,:,,,,::::,,,,:::::::::,,,,:*
::,,::::::::::::::::,.,...,:*+,..,,,.,,:++::::,,,,*,,,,,,,::+*****++*,**###*###***::++++,:,++:+,::,,,:++*+++*+:,,:+,,,,,,,,,,,,,,,:+,,,,::::::::::::::::+:::,:*
...,,,,,,,,,::::::::,,,.,,,:*+,...,,,,,:++++::,:**#:,::,::::,,::++***#*:########*****+******+*##*:*+,,:**+:***+::++,::::,,,,:,:::::+::,,::,:::::::,,::::+:::,:*
...:::::::,:::::::::,,,,,,,:**:,,,,,,,::+++:++++++++++++++++*+,:.*****+* ,,***###****+******+:++**+:**:++::**+::#*+,:::::::::::::::+::::::::::::::::::::+:.:,:*
. .,::::::::::::::::,,,.,,,:**:,,,,,.,:++,,,:::,++::+++++::++++*:*##*##+..,,*,:,,*:,*+,,,,**+,:,.:**#**####*+:,*#*::,,,,,,,,,:,,,::+::,,,:,::,::,,::::,,+,,:++:
.. ,::::,,,::::::+::,,,,...:++:....,.,,+,:::,,,+::::+++++++:++*.#####+*#+:,,::+:,,,,+:,,::**+,**###**###***#**+:::::::::*+:+++**+++*::,:++:++:++++++::::+*:,,,,
...,,,,,,,,,::::,,,,,,::::::::::,,.+******+++::******+++++:,:++:**#**#****::..,,,,,,:+::::+**#***+###+**##**++**:::::::::::*::::,,,+:::::::+::::::,,::::*+,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::: .,,+:,,,,,,,,:*,,,,,,,,,,:*****************++++++++++++**********************++++********##*********
::::::,,,,,,,,,,,,,,,,,,,,,,,:::::++++::::++:::::::::,..:::::::++::::::::::::,.,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::,,:,:::::::::::::
::::::::::::::::,,,,,,::,,**+***************++++*+..,,+:,..,,::,,,::,:+::::+*,***#***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::*#*******************::#*******+*#*#*******+++++++++*++****+,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,::,,::::::#########################****#**##**##++++**++******##+,:+,:::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,,,,,,,,,:*#**#####*****####################*#++++++*#####*####*:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::::::,+########++:+++##########*****##################***::::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,:::+####**########################*+:::::::::::::::,,,,::::::,,::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::+++***####******++:::::::,::,,::::::::::::::,,,,,,,,::::::::::::,,,,::::::::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::,,,,,,,,,,::,,::::,,::::,,,,::::::::,,::::::::::,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,::::,,:
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::,,,,,,,,,,,,,,::::,,::::,,,,,,,,::,,::,,,,,
,,,,,,,,,,,,,,,,::,,::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::::,,::::,,:,,,,,,,::::::,,,,::,,,,,,,,::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,::,,,,,,::::::,,,,.,,,,,,,,,,,,,,,,,,.::,+,,,,..    :::*::.,,,:,:+*#*****#::#:::**###*,,,,:::,,::,,,,....,++**:++,,,,,..,,,,,...,,,,,... ..,,:,.,,,
,,,,,,,,,...,:. . .. .,,,,+,::,,,,:,::::::+::::::::::::::::::::::::++++:+::::+###***##,,*+,.**##***:+++:#*+.+:,,++***+,,::::::::::,,:,,,:+,,,+.::+++.+...:++++:
........,,,,,,,,.+#*::,:+:::::::+:::::::::::::::::::::::::::::+:::+*+++++:::,:####**#*,,*:,,*****:,,,,,,:,,,,,,++,++++:+*#::::::+*********##,*+*:,.++,,,::,.,::
,,,,:::+++:+::::::++++::::,,:+*+++::::::::::+::::::::::::::+::::,,+**#::,,::+,####**#*:+*+:,+*:**:::::::::,,,,,::+***:,+*:::::::,***####***:+:,+,,:,:********:*
::+::+++++*::*+**+++*++++:++::+::::,::++:::++:::*+:+:+***+*********#*#:::,,,::##*#**#*:*+*:::::++:,,::::::::::,,,,,,:::,,:,#*+****::+++,,+:+::,,,:,,:+*******+,
++:::+****+++:::::+***::*+*+::++:::+++++++++++++:++++*::::++++++****##****++++##***+#*#++*+:,,,:*+,,,,,,::::::::::::,,,,,,::::,,,,,,+++::,+:,,,,:,,,,,,,,,,,,,,
:::::::::::+++:+:::,++*:+++::,:::+:::*++::,:::::::::+++:::::::::++**#######*####**++**+++**++::+*+,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::#*:+::,:#+:::::::::::::
+:::+++++:.........................:,,,,,,...... .::::::::++:++:::++**##########*+****::::+::::+++,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,++::::::::::::::::::
,,,,:::::::::::::,,,,,,,,++:,,,,,,.,:::::::.....,.:+++***++++++*++:++##########*:,+**:,,:,*:,,,,+,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,::::::::,..,...,++:.......,:::::::.,,.,*+,++++++++:+::*+++*+#########*+*::++::,::+:::::+,,,,,,,:::,,,,,,,,,::::::::::::::,,,,,,,,,,::::,,:,,,,,,,,,,,,
,,,,,,,,,::::::::,..,...,++:.......,:::::::,..,:*##+,:+++*+:::,,::*+*####*++++*++:,++::::::+::::+:::::::::::::::::::::::::::::::,,,,,,,,,,,:::,:::,,:,,,,,,,,,,
,,,,,,,,,:::::::::.,:,..,*+:..,,,,.,::++:::,,,:*****::,,:++*+:::+#*:**##*+:.+*#:++:+*+:+*+++:+,::,,:*++:,,+:::::,,,,,,,,,,,,,,,,:,,,,,,:,,,,,,::::::::,,,,:++:,
,:::::::,::::::+::..:,,,,*+:,.,,...,::++::::,,,*,.:,,,,::+********+,*###*********+*++,:,++:*,:,:,,+++*++*+*+:,,+,,,,,,,,,,,:,,,,,,,,::::,::::::::::::::::::++,,
,,,,,,,,,::::::+::.,:.,,,*++,,..,,.,+++++++::***::,*:+****##****##############*****+**##**+*##:*,:,,***,+***+:,*,,,:::,,::,:::::::::,::::+::::,,::::::::,,,++::
,:::::::::::::::::,,:,,,,**+,,,,,,,,+++++++:,:,,::++++::::::,,, .,**##:+*,+.*##:**++***+*+:+:+*+:+*+:*+,+*++:+#+:,:::::::::+::::+::::::::+::::::::::::::,:,::,+
,:::::::::::::::::,.,.,,,**+,,,,,,,,+++++:,,:::::++:+++++++++++*,#+****#:..,.+,++,+,,,,:**,,,.,*########**+:+##:::,,,,,,,,,+,,:::,::,,:::+:,::,,::,,::,,,::+.:+
,:::::,,::::::+:::,,,...,*+*,...,,,,::+:,,,,::::++::::+++++:+++*.#####*##+:,,,:+*::::,::**:,#**##+####++#***,:,::::::+*:*++**++++:::::++:*++++::+::::,++,,,,:*+
,,,,,,,,,,::::,,,,::::::::::::,,.,,:**,:::,,,,,:+++:::::::::::* *****#*++*+:++::.,,,,,::**#***+*##+***##*++**:::::::::::*+::::,,:::::::::+::::::::,,::+,,:::::*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++...,:*:..,.,,,,+,,,,,,,,,,+:+***********++++++++++++*********************+++++++++*+#*###**********#
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,...,:::::+::::,,,,,,:::::,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,::::,,,,::::::::,,:::::::::::::::::
::::::::::::::,,:::::::::,::+++++++++++++++++++++,  .,+:,.,,:,,:+:,,.,,,::::,:,,#+##:+*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::+#+,:################,:#*******++#**#:::********++++++:*+*+#***,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,::,,:::::::**#**************************#***##**##++++********++****+,,*+,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,,,,,,,,,,:###:#################################*+++++++++**#######:,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::::::,,::#######+++:+:#############*###########******##########*+::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,:*########################*****#######**+++:::::::::::::::::,,::::::::::,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,::+++###################***+::::::::::::::,,,,,,::::::::::::::,,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::::,,,,,,,,,,::::::::,,::,,,,,,,,,,::::,,::::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,
,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,::,,:::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,::,,,,,,,
,,,,,,,,,,,,,,::,,::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,:::::,,,,,::,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,::,,::,,::::::,,,,,,,,,,,,,,,,,,,,::,.+,++,,,,.     :::*::.,.,::++###***#*,*+:,:***#*:,,,,:::,,:,.....,,,:++*+:+::,,,,,.......,,,,,,:,.... .:+,,,,,,,
,,,,,,,. .:,... ...,,,,,:,::,,,:,,::::::+:::::::::::::::::::,:::+*+:::+::::*##****#+.:*:.,***##*::++:,*+:,:,,,++**+:,,:::::+:+:,,:+,,,:+,,,::::++:,+ ..:++++:+:
....,,,,,,,,,,,#*+::,:::::::::++:::::::::::::::::+::::::::::::,:+*:++*+:::,:####**#+,:+::,+**#*:,,,,,,,,,,.,,+::++*:++*#::::::+++*+*****#+,#:*,,,*.,,,::..,::++
:::::+::+:::::::++++:::::::+*+*+::::++:::+::::::::::::::::::::,:+#**::,,:+::####**#+:#*+:,*+:#:+::::::::,,,,::,+*+*.**,+:::::,+*######**+*+::,::+:+****+**++***
:+:++++*++++**++++*++++++:::::::,::::+:::++:::*++:++**++***+*****##*:::,,,::#####*#+*+**:::::,::,:::::::::::,,,,,,:::,,,*#++****::++:::,:+:::,:,::,+#*****++,,,
:::+***+++++::::+**+::++++::+:::++++:+++*++*+::**+++,::+++++++****#*****+++*###***#+*:+*::,,::+:,,,,,,::::::::::::,,,,:::::,,,,,,,*+,+:,.:,,.,:.,,,,,,,,,,,,,,,
::::::::++*+++::::+++:++:::::::+::+++:,,::::::::++++++::::::::++*##*###########**+##+++*++:::+*+,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::,++*++::,,**:::,,:::::::::::
:++++++.,,.......................,..,,,,...... .::::::::++++::::+**##########**+*+#+::,++:::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::*::,:::::::::::::::::+
,,:::::::::::::,,,,,,,:++,,,,,..,,::::::,......,,++++**+++++++*+:***########*,::***,,:.:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,:::::::::,.,..,.,++,.......,::::::,....,**,++++++*::+::***+**#######*##:::+,+:::::+,,:,,::,,,,::::::,,,,,,::::::::::::::,,,,,,:,,,,,::,,,,:,,,,,,,,,,,,,,
,,,,,,:::::::::,,,..,.,++,.......,::::::,...,*#**+::::+*+::::::*++*####*++++*:::+++::::,+:,:,:::::::::,,:::::::::::::::::::::,,,::,,,,,,,::,,::,,,,,:,,,,,,,,,,
,,,,,,:::::::::,,,,,,.:++,....,,.,::++::,.,:**#+*+,:,,:++++:::##+:*###*+,:+*#::+,+:+:+*+++::,+,,,,+++::,::::::,,,,,,,,,,,,,,,,:,,,,,,:,,,,,,::::::::,,,,:*::,,:
,,:::::::::::::,,.,,..:*+,,,,,...,:::::::,,,:*,:,,,,:::+*****+**,+*###**##***::*+++,,,++,*,,,:,,::+*+:++++:,:+,,,,,,:,,,,,,,,,+,,,:::::,::::::::::,+:::::*:,:+:
,,,,,,:::::::::,,,,,.,:*+,....,,.,++++++:,+***::+*+****#**##****####*######*****+*****+:**#*:*+:::+++,+**+:,:+,,,:,,,,:,,::::,+:::,::::,::,,,,:::::+::,,:+,:.:+
::::,,:::::::::,,,,,.,,*+:,,,,,,,:++++++:,:++*:.....,,,,,,.......,.:*#*++*:*,++*:+**+*+:++:**+:**,++::**++:**+,,::::::,::::::,+::::::::::::::::::::+,,+,:+*.,,,
::::::::::::+::,,,,,.,:*+:,,,,,,,:++++++:,,:,::::,++++++++++:++++:#+:::*+:....*,+,,,::++,::,:**##*###**+::*#*::,,,,,,,,,,,,,::+:::::::::::::::::,,:+,,::::.:+,+
::::,,::::::+::,.,,,..:+++....,,,,::,,,:::,,::::,:+:::::++++::+#.#####*+**+:.,,::+,:::*+,+####**###*:*#***::::+:+:+*+:+++*++++*+::::++++::+++++::::+*,,,,,:*+**
,,,,,,,,::::,,,:::,,::::::::,..,,,++++,.,,:::::::+:::+::::+:,:+.**++*###:*#+,:+++::.,,..++**+###****#**++*+:++:::::::+++::::::+,::::::+::::::,::,,:+::,:,::*+:*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+..,,#**+,.,.,,,:,,,,,,,,,,,::+*******+++++++++++*#******************++++++++**++*#************####*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::...,::::::::,,,,,,,,,,::::,,..::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,::::::::::::::::::
::::::::,,::::::::::::,,:,++:++++++++++++++++++:::..,+:,,..,++:::::::,...,::::+:,+*##*+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::,,*#**###############*****:::.,::..**#*:++:::+*********++,*****#***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,::::::::::::::********###############*********#**##*++++++********++****.::**::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,:###########################*#######*###++++++++++**++*####++.+:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::::::,,:::#######+++::+##############################*+++++:+**#####*++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,**#######*****##########*+++**##############**+:::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,:::::####*****##################**+:::::::::,,::::::::::::::,,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::++:::+:+++++::::::::::::,,,,,,::::::::::,,,,::::,,,,::::::,,::::::::::,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,
,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,::::::::,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,
,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,,,::,,::,,::::,,,,,,,,,,::::,,,,,,,,:
,,,,,,,,,,,,,,,,::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::,,,,,,,,,,::,,:,,,,,,,,,,,,,,,,,,,,,::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:+:,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,+,,,::,,:::::,,,,,,,,,,,,,,,,,,,,,::.:+,++,,,,  .. .,++*::,,,,,:+***#***#+,*+:,:***#*:.,:::,,,,:..,,.....:++*+:+:,.,,.,,,,,,,,,,,,,,,,,...,,,+,,,,,,,::
,,,,...,+,..  ...,,,,,:.:,,,,:::::::::+:::::::::::::::::::,:::+*++::+:::+*##****#:.+*+.:***###:,+++,*+,:+:,,++++*:,:::::++:+:,,:+,,,:+.,,.:::+++,:..,:++++:++++
....,,,,,.,,.#*+::,+,::::::::::::::::::::::::::+:::::::::::::+**:++++:::,:###***#:.:+,,:+#*#+:,,,,.,,,:,.,:+::++*+++#*:,::::+*+*******#+:#+*..:*.,,,::,.,::++++
:::+::::::::::++++:::,:::+*+*::::::::::+::::::::::::::::::::,:+*#*:::,:+::*###**#::#*:,,*::#::::::::::,,,,:,:+**+.+*,*,::,::+*######**:*+:+++++,++**+***+******
+++++*++++**+++++++++++::::::+,::::::::++:::*+++++**++***+*****##*::::,,::####*+*+*+**:::::,,,,:::::::::::,,,,,,:::,:,*#++****::+:+,,,:*::::+,::,*#***##*+,,,,,
++***+++:+::::+**+::++++::+:::++++:++++++++::**+++,::+++++++****#****+:+:*##*+**#+*:+*:::,::+:,,,,,,::::::::::::,,,,::::::,,,,,,*+,*,,.+,,,,:,,,,,,,,,,,,,,,,,,
::::::++++++::::++::+++::::+:+::+++::::::::+::::++::::::::::++**#*######*####:**##+++*++::+++:,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,:::+*++:::,**::,,,,,:::::::::::
+++++,.,.......................,.,,,......... ::::::::++++::::+**#**########*+*+#+:::+::::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+::*::,:::::::::::::::::++:
:::::::::::::,,,,,,,:++,,,,,,.,,::::::,.......:++++**++++++**+++*##########:,:*++,::.+*,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,
,,,,:::::::::,.,..,.,++,......,,::::::,.,,,,*+:*+++++*::+:++**+**########*#+::*,+:::::+:::,,::,,,,::::::,,,,,,,,::::::::::,:::,,,,:,,,,,::::,,,,,,,,,,,,,,,,,,,
,,,,:::::::::,.,..,.:++,.......,::::::,....*#**+::::+++::::::*:+*####*++++*:,,+++::::,+:,:,:::::::::,,::,,:::::::::::::::::,,,::,,,,,,,::,:::,,,,,,,,,,,,,,,,,,
,,,,:::::::::,.,..,.:*+,....,,.,++++::,.,:*****+,:,,:++++:+:##++*###*:.:***+:+,+++::++++::,+,,,,+++,:,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:*::,,:,+
:::::::::::::,.,..,.:++,,.,,...,++:::::.,,,*,:,,,,::,:****+++*,+*###*******::*+++,::++:*,,:,,,:+*+:+++++:,:+,,,,,,:,,,.,,,,,+,,,::::::::::::::::,+::::+*::,*+*+
,,,,:::::::::,,,...,:++,.......,++++++:,+**#::*++******######*##########******+*****++****+*+::,+++,+**++,:+,,,:,,,,:,,:,,:,+:::,::::,:::,,,:::::+::,::*:+,,*:#
::::::::::+::,,,,,,,:*+:,,,,,,,:++++++:,:++**#::,..................,:+*+***+*.++****+:+++*+::**:+*:,**++:**+,,::::::,:::::,:+::::::::,:::::::::::+:,+,,:+.,:,:+
::::::::::+::,,,,,,,:*+:,,,,,,,:++++++:,,:++:,:,::::++++++++::++*.##,:++#:,....+,,:+++,:,.:**######**+::*#*::,,,,,,,::,,,,::+::::::::,::::::::,,,+,,::+::++,+**
::,,::::::+::,.,....+++:..,,,,,,::::,,,:+,,,,,,,::++:::::++++++* **####*+*++:,,,.:*,+:::******###*+##***::+++:+::*+++++**+++*+:::+::++++++++:::::+*,,,,,+*+****
,,,,::::::,,::::::::::::::,..,,::::::::+,,,:::::::+:::::++++:::::#**+####:#*+,,::+*+,,...,+**#****#*+++*+:+::::::::+++::::,:+:::::::+:::::::::,,:*:,,::::*+:***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++:+:::++:::::::+,,,,####*+,,.,,,,,,,,,,,,,,,,::+***+++++++++++*#********####********++++*******#*#**********####*#*
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,..,::::+::,,,,,,,,,,,,,,,,,,.,::,,.,,,,,,,,,,,,,,,,.,,,,,,,,,,,,::::,,,,::::,,,,,,,:::::::::::::::::,,,
::::::::::,,::::::::::,,:::::+::++++++++++++::+:::..,:+:...,+++++:,,,::::,..,,:::,:###***++:,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,:::,****####***************,,,:.,,, .,**.,++*+:::::+******++:*:**+#****:,,,,,,,,,,,,,,,,,,:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,::::::::::::::,*########################**#***+****##*++++++++******++++**+:*+###::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,,,,,,,:,#########################****###########++++****++++**++*###+:+.:,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::,,:::+########***+*########################:+*##*#####*+:::::####***::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::########:::++*##########*****#####################**+:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,::::++*##############################*++::::::::::::::::::::,,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,:::+++***###########**++:::::,::::,:::::::::,,::::::::::::::::::::::,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::
,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,
,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::,,,,::::,,,,,,,,::,,::,,::,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,
,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,::,,,,::,,::,
,,,,,,,,,,,,,,::,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,::::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,:,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,:,,:.+:,,,....  ,,+++:.:,.:,:+*******#::*+::+*####,,,,,:,,,,:.,,....,.::::::::,,,...,,,,,.,,,,,,,,......,.,,,,,,.,:,,:+
,...,:...... .,,,:,:,,,.,,:,:::::::+::::,:::::::::::::::::+++:+:+++:++*#****##,,++:.+*#####+:::+:*+.++:,,::::::::::::+::::,,::,,,:,,,: ,::++,::, ,:+++::++++**+
,,,,,,,,,:##+:::+:::::::::::::::::++::::::::+:::::::::+::,+*++++*+::,,+###***#:::+,,:+#**:,,,,,,::,,,.,:*,++**:+*#*+,,:::++********#,+*+*,.++..,,:,,,:::+++++**
++::::::++++++::::,,::*+*+:::::::::::::::::::::::::::::::,:**#+::,:::::*###**#::#*,,,*,+#:::::::::,,,,,:::***+.+*,*+::::,+**####***+++,+++++,++**+++*+******#::
++*++++**+++++++++:+::+::::,::+:::::++::+*+++****++**+*******#+::::::,+##*#*+#+*:*+::,:+,,,,::::::::::,,,,,,:::,,,,*#+:+****+*:::+,:*+:,::,,.,##++****++,,,,,,:
**+++++::::***++++++::++::::+++:+++*++++:+*++++:::++++++*****#****+:++**##:*+#**:*+:,,,:+::,,,,,::::::::::::,,,,,,::::,,,,,,,*+,+,:,:.,,,:,,,,,,,,,,,,,,,,,,,,,
::++*+:+::::+++++:::+::::+:::++:::::++++:+::++++:::::::::++*##**#####*****:**##+++*++:::++::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::++++::,,#*:,,,,,,,,,::::::::,::
+:................,..........,,,,,.........:::::::+++++::::***#*#########*+*+#+:::*:::,:++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,:*:,:+:::::::::::::::+++::::
::::::::::,,,,,,,:++..,,,,.,::++:::,,,,,,,.:+++++*+++++++++:+*########*#:,,*+*,,:,*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,++
,:::::::::..:....:++........:::::::,....:*+,*+++++*::+:+******###*####*#:::*,+:::::+::::,:,,,,,,::::,,,,,,,,::::::::::::::,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,:,*
,:::::::,:..,,...:++......,.:::::::,..,.###*:::::+++:+::,:*++#####**++++::,++::+:,:+,:,,::::::::,,::::::::::::::::::::::,,,,,,,,,:,,::,:::,,,,,,,,,,:,,,,,,,+*:
,:::::::::,,:,...:++,,..,,,.::::::+,,,.+*#**+::,,:+++:::+**+:*##*+:,+***+:::+:+::++++:::+,,,:+++,,,:::,::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,::::::::,,,,,+*:,,::,:*##
,:::::::::..,,...:++,.,,,,,.,+++:::,,,,:*:+:,.:++::+***+::#,**###+******,,++++,:,++,:,:::,,::++:+,++::,::,,,,,,,,,,,,,,,,+,,,,::,+,,,,::::::,::::::++:,,*:***,#
,:::::::::,,,,,,.:*+,,,,..,.,++++++:,:***,:**:****#########*##########*****+*****+:+**+:++:::++::+**+:.:+,,,::,,:::,,,:::+::,,::::::::,,::::::+:,,,+*,:,:*:****
,::::::+::,,:,,,,:*+,,,,,,,,,++++++:,:****#:++++++***+:,................  .,*:.:*+++:+*+::++:++:,**+++#*+,:::::::::::::::+::::::::::::::::::::+:.:.:++.:+,,+::+
:::::::+::,,:,,,.:**:,,,,,.,,++++++:,,:++++,+:,+::::,:::::::::+,.+.*#+*+::#*,.:..*,,:+,:*******+**++:*#*::,,,,,,,,,,,,,::+::,,,::::,::,,::::,:+,,,:+,.++,+*#++:
,:::::::::,,,...,:++:.......,:::,,:::::*+++.,,:::::::+++::::+++++,+###+++:+#*. .,...#.++++++++++****+::++:::::+:::++::+++*::::::+:+:++++++::::+*,,,::*+++#*##*#
::::::::,,::::::::::::,,..:::::::::::::***,,,:::::::++:::::+:++*+,########**#+::,:+:::++......**+:++*+::::++::::+*++::::,+::::,,::::::::::::,,*:,,:::,*++***###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*++*+,,,,,++***+++::::,+:*:*##***++##**+,,...,,,,,,,,,..::::++++++#***************##**+++++++++****###**********#####*+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::: ,.,,:,:,.,,,,,,,,.+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::::::::,,:,::::,,:::::::::::::::::
::::,,::::::::::::,,:::::::,::::++++::::++::::::::+,,..,::::::+++:::,,,,:::,,,::+:,,...++.:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::+++++++++++++++++++,...,+:,. ...,:,:::,,.,,,::::::,::+*,:#++*##****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,::::::::::::,,:::***###############*++*#+,:+,:++,+#**##,,:+***#***++++++++++:+*:*#**#***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::,:*#######################+++*****##***###++++********++**++**###++:+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::,,::,,:::::#########*###########################*###++****++*+++**#########*:. *::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
,,,,,,,,,,,,,,::::::::,*######*+++++################################*+::++++******######++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:
,,,,,,,,,,,,,,,,,,,,,::########:++::###########***+***#################***++:::::::::::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:,::,,*####*********################*+::::::,,::::::::::::::::::,,::,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::++++******++++::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::
,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,
,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,::::,,::,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,:::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::::,,,,::,,,,,,,,::::::,,,,,,::::::,,:
,,,,,,,,,,,,,,::::::::::,,::::::,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,:
,,,,,,,,,,,,,,,,,,,,..,,,,,,,,::,,:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,:,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,.,:.+:.::,.... .:++*:,,,::,:+*#*****#:,*:::+**###,,,:::,:,,,..,,.....,:::::::.,.,....,...,,,,,,,...,,,.,.:,,,,.,,:,,:++
,.,,:,.. . .,,,,,:,..,,,,,,,::::::+:::::::::::::::::::,::+++++::+::++*##***##:.+:,,+*#*###::++:,++.+:,,,,:::*+++++::++:::,,::,,,::,,:.,,:++:+:,.+:++::+:++++***
,,,,,,,,,*#*::::::::::::::::::::::+::::::::+::::::::::::,+*++:**+:,,,:##**#*#,:++,,:*#*#::,,,,,:::...,,+,+***++*#*+:,,::+++*+****#*,:++*..:*...,,,,,::::++++**+
::::::::++::+::::,::++*+*:::::::::::::::::::::::::::::::::**#*::,:::,:*##***#,,#*:,:*:**::::::::,,,,,::::***+,**,+++++,,**#####***::+:***+*,++**++:*+*******:++
**++++++++++++++*,+:::::,::::::::+++::++++*+***+*+**++****#*#+::,:::::####**#:#:*+::::::,,,:::::::::::,,,,,::::.:,*#,,:***#**+:,*:++:::++,,,,*#+++****::,,,,,,+
++++:+:::++*++:++++::+++:::+++:+++++*++:++++++::++++++****#*#****+::+*###:**#+*:**::,,++::,,,,::::::::::::,,,,,,::::,,,,,,,,*+,*.:,+.,.,:,,,,,,,,,,,,,,,,,,,,,,
:++++:++:::+++:+++:::::+::::+++:::+++++::::+++::::::::::++*****#######***:**##+++*++::+++:,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,:++++,,,**::,,,,,,,,,:::::::::::
+,,,,,.........,......... :,,,,,.........,:::::::+++:+::+:+**#**########*+*+#+:::*::::+*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*::*,,,+::::::::::::::++:::::::
:::::::::.,,,,,.::+,..,,,,,,:+++::,,,,:,:,:+++++*+++++++++++*##########,,,**+,,::++,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,::::,,:,::::::::,,,,:,,,,,,,,,,,,,,,:,+
:::::::::..,...,+++.......,,::::::,...,:*+:*+++++*::+:++*****###**#####+,:#,:,::::+:::::,,,,,,::++::,,,,,,,,::::::::::::::,,:::,,,,,,,::,,,,,,,,,,,,,,,,,,:,:+:
:::::::::,.:...,:++.......,,::::::,,.,,*##*+::::++*:+::::++:*###****++*:::*+::::,,+:,:,:::::::,,::::,,::::::::::::::::,,,,,,,,,,:::::,::,,,,,,,,,,,,,,,,,,,**+:
:::::::::,,:,,.,+++,,,....,,::::::,,.,+****+,:,,+++:::::#**:*###*:,:***+:+,+:+::+++:::::,,,:++::,:::::::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::::::,,,,,,++,,,,,,+*#*#
:::::::::..,...,+*+,..,,...,::++:::.,,:*:,,,,:+:,:+*+++::*,+*###+******::*+++:++++:+,,++,,:++++::+:+:,:+,,,,,,,,,,.,,,,,:,,,,,::+:::,,:::::::+::::+*::,*:***.#*
::::::+::,.:,,.,+*+,,,,,...,++++++:,+++*:.++++****######***##########*****+*****+:++*++++:::++:::++::,+:,,:::::::,,,,,,,+:::,:::::::::,,:::::+::,,+*::,,++*****
::::::+::,,:,,,,+*+:,,,,,,,:++++++:,+*++*#:+++**************+:,,,,..........,::++++++*+:::+:::::**+++#*+,,:::::::::::::,+::::::::,:::::::::::+:,::+:*.+:.,+::+*
::::::+::,,:,,.,+*+:,,,,,,,,++++++:,,:++++:+::+:::::+++++++++++++::,+##*++#**#,, .+,+,:++++++++++++:**+:,,,,,,,,::,,,,::+:::::::::::::::::,,:+,,::+:,:+.+*#++:*
::,,::+::,.,...,+++:.......,:::,,,:,:+*:+:.:::,,::::::++++::::++:+,+**##*####*,..,,,+* +++++++:+++++::+:+:::,+::++++++::*:,,:::::::+++++::::,+*:,,:,*+:***#**##
::::,,,,::::::::::::::,.,:,:::::::::::***+::,,::::::::++::::+++++,:########**#++::,:+*++#.....,,::++::+:::::::+**+::::,:+,,,::::::::::::::,,:*,,,,,:,*+:###*###
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*.,,::::::::::::::::+::+.+****:*+###++#*++*+:,..,.,,,,..::::+++*********************++++++++****####********######+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::++::::::::++,...,#*+:,...,,,.,::,,,,,,,,,,,,,,,+,:,,,,,,,,,,,,,,::::::::::,,:::::::::,,:::::::::::::::::,::::::
::,,::::::::::::::,,::,,::::,,::::::::::::::::::::,::,...,::::+++:::,,,,,,,,,,::,:,,,,,. .,..,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::++++++++++++::::::,...,::,...,+++++:,,,::::,...,::,:::,,,#####++++**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,::,,,*****############*****,,,:,,,,,. .*#*,,++++::::++**##******++,**+*#+*#*###:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,::::::,:*#######################*******+##***###++++++++**********+++***++:++*##*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::,,,,::::::::+########################****###*#####*###++**++++*+*+++***+::+####++,.*::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,
,,,,,,,,,,,,,,::::::::#########***###########################*::**####*###**++:::::######**+++::::::,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,
,,,,,,,,,,,,,,,,,,,,,::*######++:++*###########***+*#######**###################**+:::::++::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:***####################****##*#####*###***++:::::::::::::::::::::::,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::,,,::++++*##############**::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::,,,,,,,,,::,
,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::
,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,,,::::::::::::,,,,,,,,::::,,,,,,,,,,::,,,,:
,,,,,,,,,,,,,,::::::,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::,,::,,,,:::::::,,,,,,,,,,,,,,,::,,,,,:::,,,,,,:::::
,,,,::,,,,,,,,,,,,..,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:::,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,:,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,:,,+.+:.:.,,..   :+:*:,.,.,,::**##+**#*:*+:::**##*,,,,,:,,,,...,,,,,,,,,,,,,::.,,,....,,..,,..,,,,..,,.,.,,,,,,,,,:::,+++
..,:... ...,,,,,,:.,,.,,,,::::::++:::::::::::::::::::,::::*+:::+::++*##****#+,+*,,:*#####*:,:, +:.:+:,,,,,.,*****::++:::,,++,,.::,,:,,,,:++,+,.+::::+:+:+:::+*+
,,,,,,,,##*+:,::::::::::::::::::::::::::::::::::::::+:::+*++:+**,,,:+###***#:,:+,,,+#*#*:,,,,,:,,,..,,+,+******#*+:,,,::++*+******::*:*..,+....,,,,,:+::+++**++
::::::::++++::::,,,:****::::::::::::::::::,::::::::::::::+*##,::,::::###***#::**:,:*+:#:::::::::,,,,,::+****:+*,#****+++*#####***+,::+****,++++++:+*#******+++:
*+++***+++++++++:::::::+:::::+::::++::+++++*++*++**+*******#*:::::,::####**#++++*::::::::,::::::::::,,,,,,:::,...+#+,:****#***++::*+::++,:,,+#::++****++,,,,,:+
+++++::::+**+:++:+:::++:::+++++++*++++:+*++++:::++**************+:::+###***#+#:+*::,,,,++,,,,,::::::::::::,,,,,,:::,,,,,,,,++,:,,.*,,,,,.,,,,,,,,,..,,,,,,,,,,,
+++++:+:::++++:+::::::++:::+++:::+++++:+::++++::::::++:++***######*##*****+#*+++*+::+::*+,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::+++:+,,+#:,,,,,,,,,,,::,,::,,:,:
.,.,..................,..,:..,.......... :::::::+++++::::+**###########******++:*+::,:++:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*+,#:,,:+,,,,::::::::::++:::::::
::::::::,,..,.,,++..,,,,,.,:::::::,,,,::,:++++++++++*+++++*+##########::,++#,::,,*,,,,,:,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,.::
::::::::.......,++,,....,.,:::::::....,**,++++++*::+::++***+###***##*#::::,*:::::+::::::,,,,,,::::,,,,,,,,,:::::::::::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,*::
::::::::.......,++,,....,.,:::::::..,,+**#+::::+*+:+::,::#:*####****+*::::++:,:::::::,:+::::::,,::::,,::::::::::::::,,,,,,,,,,,:::::,,::,,,:,,,,,,:,,,,,,,***:+
::::::::,,,,,,.,++,,,,,,,.,:::::::..,:*#**:::,::+++::::+**+**##*+,:+*#::+:+++::++++:::+::::+++,,::::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,::::::,,,,,:+:,,:,,:**###
::::::::,..,...:++,..,,,,,,::+:::::,,,#..:,:,+:,+:**++++++:*###*******+:+*+++:++:::,:,+:.,:++++::++,,,+,,,,,,,,,,,,,,,,+,,,,,,::,,,,::::::::+:::::*:,,+:*#*+##*
::::::::,,.,..,,**:.,,,,,,,:++++++:,++++,,*::#****####****###########****+++++**+:++*:+:+::+++:::+::,,+,,,,,::::,,:,,,:+::,,::::::::::,,::::::::::+,:,:+:*****#
::::,:::,,,,,,,,**:,,,,,,,::++++++::***:##*++*************##*:*##*####*********+*+++++:::::::+,++:++*++:,,::::::,:+::::+::::::::::::::::::::+:,,+,++.::::::::**
::::::::,,.,,,,,**+,,,,,,,,:++++++:,+:**:*+,:*::::,,.,,,,,..,,,,......:+*###:***:,*,:,++++++++++++::**::,,,,:::,,,:,,::+::::,:::::::,,::::,,:,,,::+.:+.+**+*,:#
::::::::,..,..,,++:.......,:::,,::,,+**,+,::+:::,,,,::::+++:::+++:+.*###**::+*+,..,,..+.+++++::+++::::::::,,++:++:++:::+::,,+++:+::+++++:::::*:,+::+**+*##*####
::,,:,,,::::::::::::::,,:::::::::::::*#*+++:+.,,::::::::++:::::::*.:########++#+::,,,.,,**,+++:::::+::::::::+++*++:,:,::,,,,,,,::,::,:,,,,,,++,,:::,+*:*##**#*:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,:::::::::::+:+::+:+* *###***####*+#*+,,,::++**,......::::+++****************+**++++++++*+**##**********####**+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::+++::::::::+::.*##*#:***+:,....,,,,.,,,,,,,,...,.:,,,,,,,,::::,,::::::,,,,::::,,,,,,::,,,,:::::::::::::::::::
::,,::::::::::::,,,,::,,::,,:::::::::::::::::::::::::::,...,::::+:::,,,,..,,,,,,,,,,,,,,,...,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
:::::::::::::::::::::::::,,:::::++::::+++::::::::,...,::,,,:++::++::::::,,,,,::::,,,..,.,:###,::++**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,::::::::,,,,,,,,,,,:++++**********+++++++......:,,  ....,::,..,,,:::::::,:::+***##,*++#+*#******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:::::::+#+,*******#########,:####***++*+*##**##:***##***+++++++++++++++:**::*:+*##***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,::::::::########################*****#**######*###++**************+***+**###+,:,.*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,::::::::*#####################################*###+***+++++++**########+####*+.,*++:::::,,,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,::,######++++++#######################:#########******##**###########*+:::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::########################+++***+*####*###########**++::::::::::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::,:::,:,:+####*****##############*+::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,,,,,,:::
,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,::,,,,,,,,,,::,,,,::::,,,,,,::::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,::::::::,,::,,,,,,,,::::::,,,,,,,,,,::,,,,:
,,,,,,,,,,,,,:,,::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::,,,,::,,,,:::::::,,,,,,,,,,,,,,,::,,,,::::::::::,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,.:,,,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,:,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,, : +:.,,+,,, ..:++*:.:,.,,::**#****#::*:::+*###*,,,,,:,,,,.,,,,,,,,,,,,,,,:,,.......,,..,,,,,,,,..,,,,.,,.,,,,,,::,:+++
..,:... ...,,,,,::....,,,,:::::::+::::,:::::::::::,,:,+:++*+::::::++*##****#,,+::,+*#####+.... ::.::,,,,...+*****::++:,,,,::,,,:,,,:,,,,::+,+,,*,::::::+:,::++*
,,,,,,,:##*+::+:::::::::::::::::::::::::::::::::::::::::**+::+*+,,::+##****#::++,,:*#**+,,,,:,:,..  ,,,,+*++***#*+::,,::++++******,+,++,.,,....,,,,,::::++:+*++
:::::::+++++::::::,:**+*::::::::::::::::,:,:::,:::::::::+**#*::::::::*##***#:,#+,,,*::#:::::::::,,,,:::+****+**,**##*****######*#+,:,:+***:+**+++,++*******:+++
*++*+**++++++++*:::::::::,::+::::++++++*+++*++*++**+*********::::::::####*+#:++*+::::::,:::,::::::::,,,,,,::::.,,*#:::***#*****+::++::++::,:*#,,,:*+****::,,:+:
+++++:::+***++++++::+++:::+++:++:+++:::+*+++:::+++*********#*+**::::*###:*+#+*:++:,,,:::,,,,,:::::::::::::,,,,::::,,,,,,..,*+,:,,.:,,,,,.,,,,,,,,,..,,,,,,,,,,,
++++::::::+++:+++:+::+++:::++::::+**++++::++++::::::+++++*****#####*##*#+**##+++++::::++,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::++++::,,**,,,,,,,,,,,,::,,,,,,,,:
,,,,...........,.........,,,............,+::::::++::+::::+**###########*+*+#*++:*+::,:*+:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,*+:*:,,**,,,,::::::::::+++::::::
::::::::..,,...:++,,....,.:::::::,,,,,,,.:+++++++::++:::+**:######*###::,+**.,:,:*,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::,,,,::::::,,:,,,,,::,,,,,,,,,,,,,,,,,,,,,,.::
::::::::..,...,:++,,......,::::::,....:*+,*++++:*+:+::++***+###*****##:::+.*:::::+::::,:,,,,,,,:::,,,,,,,,,:::::::::::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::+::
::::::::..,,..,:++,,....,.,:::::::..,,**#*:::::+*+++:::::*+*####******:+:++++::::+:,:,,+::::,,,,,,::,,,::::::::::::::,,,,,,,,,,:,,::,,::,,,::,,,,,:,,,,,,,#**:+
::::::::..,,,,.:++,,,,,,,.,:::::::..,:*#**:,:,::+::::::***+*###*+,:+**::+:++:::++++:::+::::++:::::::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,::,,,,,,,:*:,,,,:+***##
::::::::..,...,:*+,..,,,.,,::+::+:,,::#,:,:::+,,:***::+++:**###*******::+*++++*++,+,:,*:,,::++,:::::,,:,,,,,,,,,,,,,,,,*,,,,,,,:,,,,,,::::::+,::::*:::+:+#*:##*
::::::::,,.....:*+,.,,,,,,,+++++++,,:+*,.,*:+##**###******###########*****+++++++:+++:::++::++::++:,,::,,,,,:::::,::,,,+::,,:::,::::,,,,::::+:::,+*,,:,+:+***##
::::::::,,,.,,,:**:,,,,,,,,+++++++,:**++#****#***###****#*###,*##*####***+******++***+::::::::,:+::::+::,,,,::::,::::::+:::::::,::,:::::::::+::.:++:.:+,,::::**
::::::::,,.,,,,:**:,,,,,,,::+++++:,,+:*+:+*::*::::::::............,,...... .:.:+++++,,*+****++++++::++::,,,,::::,,,,,::+::::::::::::::::::,,+:,,:++.:+,*+*+*,+#
:::::+::,,.,,,,,+*+.,,....,:::,,::,.+**:+.+:++::,+,,,:::,:++::::::,+.,###+::++#*:.,, ,::,+++++++++::::::::::::::+:++:::+::,:+++++::+++::::::+**,::,+*+***##*###
::::::::::+:::::::::::,,:::::::::::::*#*++::::,,,,:::::::++:::::::+,:#####++*+:#:, .::.. ++.+++:::::::::::::::+++::::,:+,,,,,,:::,::,,::,,,,+:,,,,,:*++*##*##*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+,::::::::::::++::::::*.*##########+,#++:,,,:++:+*:.......:::+++++*********##*+******++++++**##**********#####*+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,******+::+*****++++++:::* **####*+*+#****+:,....,,,,,,......,:,,,,,,,,::,,,,,,,,::::::::::::,:,,,::::::::::::::::::::::
::,,::::::::::::::,,::,,::::,,::::::::::::::::::::::+:::+:....,::,,,..,,,,,,,,,,*#,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::++::::::::::::::::,,...,,:::::++:+:::,,,,,,,,,,,,,,,,:::,......,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::,,,,,,,,::,:++++++++++++++++++::::....:::,......,:,,,::::,,,..,,,:::,,:,,:::,:*++*##++****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::::,+#:+*##############***#:,,:,::::.,*#*+#*.:::::++*****#****++++++++,#**:#*:*####**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,:::::::+**********############********#*##***###:++*******************+**##*:*,+,*#*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,:::::::,##########################**##########**##++****++**++**+***+++**###*#,*,.*+::::::::::::,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::*######*+*+*########################**##**##**#######**+::::++++#######*++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::**#####+::++###########*******+#####+*****##############***+:::::::::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::::::+#####*************###########*+::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::++**********++++:::,:,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::
,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,,,,,,:::
,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::,,::::,,,,,,::::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,::::::::,,::,,,,,:,,::::::,,,,,,,,,,::,,,,:
:,,,,,,,,,,,,,,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,::::::::,,,,::,,,,:::::::,,,,,,,,,,,,,,,::,,,,,,::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,:,,,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,:,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,:,...,: ,.:,:,...:+:*:.:,.,,::**#*+**#+:*:::+**###,,,,,:,,:,,,,,,,,,,,,,,,,,:,........,,,,,,,,,,,,,,.,,,,,,..,,,,,::,,++*
,,::.......,,,,,,:,...,,,,,:::::::::,:,:::::::::::,,:,+:++*:::::::++*##***##:,++,++*####**,,. ... ,:,,,,,,,,*****:::++,,,,::,,,:,,,:,,,:::+.:,.*:::::::++,,::+*
,,,,,,,,##*+,,::::::::::::,:::::::::::::::::::::::::::::**+::+++,,,:+##****#::++,,:+*##*,,,,::+... .:,,.+*++***#**+:::::::++++****:+,:+...,. .,,,,,,++::++:+++*
::,,::::++++::::::,:++*+::::::::::::::::,:,:::::::::::::+**#*:::,::::###***#::*+,,:*++*:::::,,,,,,,,:::+***+***:#*##****######****,,,,,:+*:+****+,:+*******+*++
*++*++++++++++++:::::::::,:::+:,:++++++*++**++*++**+**++*****::::::::####**#:++*+,::::::,::,::::::::,,,,,,:::,...*#+,,+*:#++****+:*+:::*::::*#+:::++****++::,::
++*++:::+***+:++++::+++:::++++:::+++:::++++++::+***********#*+**::+:*###+*+#+#:++:,,,,:+,,,,,:::::::::::,,,,,,::::,,,,,,..,*+,:,..+,,,.,.,,,,,,,,,,,,,,,,,,,,,,
:+++::+:::+++:::::+:::++:::++++::+++++++++++++::::::++:++*****#####*#**#+*+##++++++::::+:,,,,,,,,,,,,,::,,::::,,,,,,,,,,:::::::*+:::,,*#,,,,,,,,,,,,,,,,,,,,,,,
,,,......................,:.,.,,........,+::::+:::::+::::++*###########*+*+#*+++*+::::*+:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,**:*::,++,,,,,,::::::::++:::::::
::::::::....,,.:++,,,,,,,.::::::::.....,,:+++++++::+++++:**:######*###:,,++#,::,:+,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,,:
::::::::....,,.,++,,....,.,:::::::....,++.+++++:*+:+::+++**+###******#++:+,*::::++::::::,,,,,,,:::,,,,,,,,,:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::
::::::::..,....,++,,....,.,:::::::..,,+***+*::,++*+*:::::#+*####******:+:::++:::,+,,:,:+::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,:::::,,::,,,::,,,,,:,,,,,,,*++:+
::::::::..,,,,,,++,,,,,,,.,:::::::,,,:****,+::::+::::::+#++*###*+:++*#::+:+++,:+:++:::+:::::+:::::::::::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,::::,,,,,,,:+:,,,,++****#
::::::::,......:++,..,,,,,,::+::++,,::*::.:+,:+:+***::++::+***#*+*****+:+*+*++*++,+,:,++,,,::++::+::,,:,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,::::::+:::::*:::+++#**##*
::::::::,,.,,,,,*+:,,.....,:++++:+:,:**,..*:+#**#*##******##########*****++++++*+::+::+:+:::++::::::,,:,,,,,,,::,,:,,,,+::,,::::::::::,,::::+:::::*::+::::***#*
::::::::,,.,,,,,++:,,,,,,,::++++++:,**+:##***#****##******#**,######*#***+******++***+::,:::::,:+:::::::,,,,,,:::,:,::,+::::::::::,:::::::::+:,.,++:.+:::::++**
::::::::,,.,,,,,**+.,,,,,,,:++++++:,++**+*+::*:::::::+:::,.................... . *,,,,******+++++:::++::,,,,:::::,:,,::+::::::::::,,:::::::::,,,::*.++.*+*+*,:#
::::::::,.,,..,,+++,,,....,::+::::,.:*#,:,++++::+:+:,,::,,::+:::::..+.*#**,::+#*#*.., .*.::*+*++++::::::::::::,,::++,::++:,,:+::+::+:::::::::+*,,+.*+***###*##*
::::::::::+::::::::::,,,::::,:::::::+*#*+++:++++,,,,::::::++:::::::* *##**#*+++*** . ,+,,.++.+:::::+::::::::::::::::::,:,,,,,:,::,:,,,::,,,,++,,,,:,+*+*##+***+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+**,,,::::::::::++::::::+.+##########:+**+::,,.:*:+*+,......,:::+++++++++******+++++++++++*+**##**##**#####***#*+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::,,,,,,::::::::::,:::+.*###*##*+**###*#**++::,,.....,.......:,,,,::::::::::::,,,,,,::::::,:,,::::::::::+++++++++++++
::,,::::::::::::::::::::,,::::,,::,,::::::::::::::::::::+:*:....,,##:,....,,,,,,.:+*......,,,,,,,,,,:+:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::,....,:::::::+:::,,,,,,,,,,,,,::,:,,,,,......,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,::,,:::::,:::::+++++++++++++++::,...::::.....,++++::::,,::::::,,..,,::,,,,:,.+*+*##*****+*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:::::::::::::*##################**#:,,:,,.,,.  .*##:.,:++*++::,,::++**#####**+++::***+***#######,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,::::,,+#######################********+#*****###:*++++++++****++********++*#*:*:**:*###*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,::::::,*#######################*****##**######*###++****++**++++++**++***++####:,+..*::::,,,::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,:,+########*##*#########################+*##*++*::**#############*++:*######*#++*+::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,+######++:+:#############****########,#####*+##################**++::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,+**#####################********############**+::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::::::+*################**+::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,:,,,,,,,,,,,::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,:::
,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,::,,::::,,,,,,::::::,,,,,,,,,
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,::::::::,,::,,,,,,,,::::::,,,,,,,,,,::,,,,:
,,,,,,,,,,,,,,,,,,,,::,,,,::::,,::::,,,,,,,,,,,,::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::,,,,::::::::,,,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:
,,,,::::::,,,,,,,,,,.,,,,,::::::,,::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,, ..,...,:,,,:+:*+,,,.,,::+*##:**#*:*+:::***#*:,,,,:,:,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,,,,,,,,,,,,,,.,,,,,,,:,,::+
:,,,::,,,,,,,,,,:,:,,,.,,,,,::::::::,,,,,,::::::::,,,,,::::*+:,,,::+***#****#*,:*:::***##****+:,. ..,,,,,,,,.*****:+*,*:,,,,,.,,:,,,:,,,::++,+,.+*,,,:,::++:+++
.....,..,#***+,,:,++::::::::::::::::::::::::::::::::::::::+*:::+*,,,:+##**#**+***:::*#***:,,::,*:,...,.+ +++***+#***:::++::++::+**+:+:.,  .....,:+::::*+:::::::
::,,,,:+::++++::::::::+*+:::::::::::::::::,:::::::+:::::+++***::,:,:,,####**#::++:,,+#**:+::,,,,,,,,:::,***+****+***##*+**###*****#:::....:,++****,:********++*
+*++++++++++++*+::::::::+:::::::::+++*++***+**++++**++*+:+****:,,:::::###**+#+,*+*::::,:::+:::::::::,,,,,,:::,,, ,*##:,+*:**::++++++::::+::::#**##**+ #*::***+,
++++++::++***+++++:::+:+:::+++:+:+++++::+*:+++::+*************+++::::+##***+#+#:+*::,,,,+:,,,,::::::::::::,,,,::::,,,,,,,,,,*+::+:::,,,.,.,,,,,,,,,,,,,,,,,,,,,
++:++::+:::+*++:+::+::++::::++::::+++++++++:+*+:::::++++++**#***##******#**+**+:+*::::::*+,,,,,,,,,,,,::,,,,::,,,,,,,,::::::,,:+**:::,,:#,,,,,,,,,,,,,,,,,,,,,,
::...,....................:+,.,,..........::::::::::::::::++*###########***+#*++:*+::::++:,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::**:*::,:+:,,,,,,::::::::+::::::
:::::::::,,,,,,.:++,,,,,,,,,::++:::.,,,,,,::::::::::+++++:+*##########*++:++*+::,++:,,,:+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::::::::,,,,,..,++,,,,,...,:::::::....,,,,++++++++::::+++*+**##******#****++++++*+::,::+:,,,,,,::::,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*+
,::::::::,,.....,++,.......,:::::::...,,++*+::,:+****+::+:*:+*###*****#++::+*::+::++::,,+:,,,,,,,,,,,,,,::::,,:::::::::,,,,,,,,,::+:::,:::,,,,,,,,,,,,,,,,:+.,+
,::::::::,......,*+,..,,,,.,::++:::,,,:**+*,,::::+++,::,:#:**###**+****::+++*+,:++:+::::::::::+:::::::::::,,,,,,,,::,,,,:,,,,,,,,,,,,,::,,,,,,,,,,,+:,,,,:+:+**
,:::::,::,..,,..,*+:.......,::::::::,::*+:,.++.:+++**+*:+,:+***#++*:***++++:::::*+:+,:,++,,,::+,+:+:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::*+:++*,**##*
,::::::::,......,*++,.,,...,+++++++:,,**:..:::::***********############*++*++:::*+,,,:++++,,,:+::::::,,:,,,,,,,,::::,,,,:,,,,,::::::::::::::::::::,*:,++:+:***#
,::::::::,,.,,,,,*++......,,++++++++,***:**:++##**##*******###*#########***+*****+:***+:::.,,:+,:......+,,,,,,,,,,::,,::::::,::::+::::::::::::::, ,:,:+::,::+**
::::::::::,.,,,,,***,,,,,,.,++++++:+,:*+*:#:::*:::::::::::::+::,,,.,..........,...::...:*:+*+++:+::::++:,,,,,,::,,,:,,::::::::,::+::,,::::::,,:,,,:*:::.++++*::
,::::::::,.,,,,,,+*+,,,,,,,,::+:::::,,+*,::::::::::+::::++:::++++***+*.+##*+:::***#:,. ,:+,+***+:+++::::::::::,,:::::::::::,,,:::+:,++,,,::::,,**,.:++:**#*##**
::++++++:::::::::::::,:,:::::,,::,,:::+*****++++*+,,,,::::::+++:::+:+.####**####**+:,,,::,:+*:,+:::+:::::::::::::::::::::::::::::+::::::::::::*:,,,,::*:****#*+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++::++++++**+,,,::::::::::++::::* +*#############++:,,:::+*+***.,,::::::::::::::::+++++++++++++++++++*************####***++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,,,,,,,,,,,,,,:::,:**.+**####*++####*,#*+,:::***++:,,........::,,:::::::::::::::::::::::::********************++++
::::::::,,::::::::,,::,,,,::::,,,,,,,:,,:::::::::::::::::::++:,,.:#####****+........,,,................,:: *,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::,,,:::::::::::::::::::::::::::+:,....,,:::::::,,,,,,,,,,....,,,,,,,,,,,,.....,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,,,,,:::,::::::::::++:::::::::,....,::,,:::::++++::::::,,,,,,,,::::,,,,...,..:*###:,::+****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::::,::+++++++++++++++++++......:::,.   ....::::,,...,,,::::,,::,,,,+++****.*#**#**##*#####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::,,,,,,,,::,:#::##############+:+#*++**+****++##***##+.:+**####**++++++++++++++++++,*#+:++#*+*###***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::,::+*********************+++****##*###***+*##*++++++++********++++++++++**##*+,*.+++++:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,##########################*###########***###++**++++++****++++***###########,::,:#++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,:,######*+*+*##########################+:#####*###########++,::::::::::+*#######*+++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::*#####*:++:+###########***++*+::#####+++++::++****###########**+::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::++****##########****++++******########**++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,:,,,,,,,,,:::::::++****#######****+++:,,::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,:::
,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,:::::,,,,,,,,,,,::,,,,,,,
::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,::::,,,,::,,,,::,,:::::,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,::::,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:
,,,,,,,,::::::::,,,,,,,,,,::::::+:::,,::,,,,,,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,:,,,,,,,,,,
,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,:,..::::,:+:+:,,:,,,,+****+**#::*::::**##*,,..,:,,,,,,.,,,,,.,,,,,,,.,,,....,,,,,,,,,,,,,,,,,,,......,,,.,:,,,,
,,,,,:::,,,,:,,,::,,:,,,,,,,,,::::::,,,,:,,,,,::::,,,,:,+:+:++:,:,+:++*******#::*+::+*####+***++:,...,,,,,,,,,**##*:+::+,,,,..,,.:,,.:,,,:++:,:::+*:,,,,,::::++
.........,****+,,,,+::::::::::::::::::::::::::::::::::::::++++:+++::::*##****++**+:,:*###*:::::,**,,  :,*.+*+**++****+:+++::++:::++*,+*.. . ....::**:::*:::::::
::,,,,,:+::::::::::::::+*+::::::::::::::::::::::::::::,:::+**#*::,:::,:###***#::*+,,,+**#:::,,,,,,,,,:::,***+****:**###*:***####**##,::,...,,:****+:+##++******
:**+++::++++++++::+::::::::::::::::+****+**++**++++*++*+,,*****:::::::+####*+#::+*+:::,::,::,:::::::,,,,,,::,,,,, .**#*+**:#*,::*++:++::::,,::****##*::#::::+*:
*++++++++++***+++++:::+:++::+++:+++:++:+:*+++++:+++**********#*+::,:::*##*+*+#:#:**:,,,:,:,,,,,:::::::::::,,,,,,:::,,,,,,,,,,*+:++:::,,,...,,,,,,,,,,,,,,,,,,,,
+++:++::::::+*+:+:+:+:::++:::++::::+++++++:+:+*+::::++++++***#***##*******+*+##+++*+::,::+:,,,,,,,,,,,,,::::::,,,,,,,,,,::::,,,,:**:,,,,:#,,,,,,,,,,,,,,,,,,,,,
:::.....,......,...........:+,..,,...... .::::::+:::::+::::+****########****+#*+++*+:::+*::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:*+:*:::++::,,:::::::::::::::::
::::::::::,,,,,,::++,,,,,,,,::::::::,,,,:,:::::::::,::++:::*#*##########:::*+#:::::+:::::+::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,::::,,,,,,,,,,,,:
,:::::::::..::,,.:++..,,,,,.::::::::,,,,,. .+++++++:::::++:+**####**##******+++++:**::,,::,,:,,,,,::,,,,,,,,,:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*
,:::::::::..,...,:*+......,.,:::::::....,:,+++::::+*+*:::::*+*####*****#::,+++,:++:+:::,:+,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,:::::,,:::::::,,,,,,,,,,,,,+.:
,,::::::::......,:++,.....,.,:::::::,,:,#***,:+:::++:,::,:*:**###******#::::+++::::+::::+:::::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:+:,,,,::*++
,:::::::::,,....,:++,,......,:::::::,,,:,+*:,++ :::+**+::+:::*###***:*++::++::,::++::::.++,,,,++,+:+::,,:,,,,,,,,,,,,,,,,:,,,,,,,,,,,,::::::::+:,:::*:::+*,*###
,:::::::::,,.,...,**:,,,,,..,:++++++:,:**,..+:,::*##********##########***+**+*,,:*+:,::+++,..,++:::::,,,:,,,,,,,,,,,:,,,,:,,,,,,::::::::,,::::::,:::*::+++*:+*#
,,::::::::,,.....,**+,......,:::++++:,+#*::**:*###**##******##**#######****+******++***:+:,,,:::,:,.....:,,,,,,,,,:::,,,,:::,,::::::::::::::::::,,  ,,:::::+:**
::::::::::,,.,,,.,**+,,,....::++++++:,:*+++*+::*::::::::::++++::,.,:***+.,,,.....,,:.,:,**:+++++::::::++::,,,,,,,,,:::::::::::::::::,,::::::::+,,:,:*+++.+:*:*,
,,::::::::,,,,,,.,+++.,,,,,,,::+++:+,.:+*,:,*:::::::+,,,,,,,::::,,:.,.. *#####*##+*#:,,,.*.+*+**++::++::::::,,,,,,::,,,,,:,,,,,,,:::,::,::::::,,+*:+:+,+*+**#**
::+++++*++:::+::::::::::,,::::::::,,:::+**+**:++:+:.,,,,,,::::::::::* *######:+:+#:+....:,,.*+.+*::::+:::::::::::::::::::::::::::::::::::::::::+,,,.::**+******
,,,,,,,,,,,,,,,,,,:,::,,,,::++++++++++++::+++***.,,,::::::::::++::*.,+*##########,#+*::,..,..,:*#.::::::::::::::::::::::++::::::::++++++********************+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+.,,,,,,,,,,,,::,+:::* +:+#####*+#####:#+*::,,,,,::++*+........,::::::::::::::::::::::::::+:**************##****+++
::::::::,,,,::::,,,,,,,,,,,,::,,,,,,,,,,,++****+********++:::++* :#######**+***+:,. ..,.................. . :,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
::::::::::::::::::::::,,,,::::::::::::::::::::::::::::+,....,,,:,.,,,,,,...........+:.,,..,,.,,....,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,,,,,:::::::::::::::::::::::::,,. ..,::::::::::+:::,,,,,,,,,,,,,,,,,,,:::,,....,::,.,::,:,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::,,:::::::::::+++++++++++::+++:.....:::,..   ...,,,,,::::,,......,,,,,,,,,,,,::+:.:#*+++###++******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::,,,,::,,:::*###############*####:,,,,,,,,,. :###*##,,+::,:::+***######**+++++++++++,##,:*:#*+*#####**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::,,,,::::::*##########################***+**##*****##*:++++++++++************+++++++***:*:+*+,*###*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,#######################*****##########***###+++++++++++++++++++*****+:::+####*::+*,*+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::*#########*###########################*:###+::++**####**########***+:::::######*#*++++++::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,+#####*++++#############***+*########*.#####*::::::######**+****#######**::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,***####################******+::*#####*##*#######****++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::::::::::######**############**++::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::,,,,,,,,,,:
,,,,,,,,,,::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:,,,,,,,,,::::,,,,,,,,,,::::,,,,,
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,:::::::,,,,,,::,,,,,,,,,,::,,,,,:::::,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,
,,,,::,,::::::::,,,,,,,,,,,,,:::::::,,,:,,,,,,,,::,,::::,,::,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:,,,,,::,,,,,,,,,,,,,,,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:,,,,::,,,::+,.,.,::,:+#*#,**##,*+:::**##*+,...,,,,,,,,,...,,,,,,,.,,,,....,,,,,,....,,......,,,,,.,.,,,,,:,,,
::,,,,:,:::::,:::::::,,,,,,,,,,,,,::::,,,,,,..,:::::,,,,,::::*+:,,.:+++*#*****#*,:*,,:**##**++**+::,,.,,,,,,,,,*****:++,:,,,,,,.,,:.,,,,,,::+:,:..++,,...,,::,:
  .. . ....+++++:,:,:+::::::::::::::::::::::::::::::::++::::+*::++*::::*###****++**+::*****+::::++#*: ,,,:,++++*+:*++++:++++::::,,:+:::+. ..  . .,,++++:++:+,::
.,,,,,,,,:+:::::::,,::::+++:::::::::::::::::::::::::::::::::+**#,,,::::,####**#*,:+:,,+#**++:,,,,,,,,,:::,:**+*+*#:*****+:*****###****++:,,,,::+****:,*#++++***
++**++::++:::+++*+::::::::*,,::::::++**+++*++++*++++**+++:,:*###::,:::::###***#*:#**::,,,:++:,::::::::,,,,:::,,,,:  +***##*+*#::+:#:+++::,:+::,*#:*****,##::*+*
**++++:+++++***+++++:::::++::+++++:+:+++:+++:::+++++**********##:::::::+###**+#**++*,:,,::+:,,,,::::::::::,,,,::::::,,,,,,,,.,+*:,:,:,,,,,..,,,,,,,,,,,,,,,,,,,
:++++++:,::::+*++:+:+:+:++::::+++:::+++++++:+:+*+::::+++++++**#*#**#*+++*##*+****++*+::::+*+,,,,,,,,,,,,::::::::,,,,,,::::::,,,:,+**,,,,,,#:,,,,,,,,,,,,,,,,,,,
::,:,,..,...................:::............,:::::::::::::::::**#*#####*###**++*#++++++++:+*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,+*,++:::*+::,,,,:::::::::::::
:::+++::::::,,,,,:::+:,,,,,,,::::::::,,,.,,,:,::::::,,::+:::,*#######*##***::+++:::,+,::::+:::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,:::::::
::::::::::::.,,,..,++:..,,...,:::::::,,,,,   ++++++:+::::+++++#*##*#####*+#***+*++:+*::,,,+,,,,,,,,:,,,,,,,,,,,:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
,,,::::::::,..,...,++:.......,:::::::.....:,:+:::::+**++:::::*:*###******+*:,*:,,:::++::,,:,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,::::::,,,:::::,,,,,,,,,,,,,,+
,,,:::::::::,.,...,++:.......,:::::::,..,:#***,:::::++,,::,*:***##*******+:+:++:,::::+,:::::::::::::,,,,,,::,,,,,,,,:::::,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,::,+
::::::::::::..+,..,+++,......,:::::::,,.:+,**,:+,:::+**+::*:::**##**:,*++++:::,:,,:+:+:::++:::::+::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::,,:::::::::++:,,*::**
:::::::::+::,.+,..,+*+,.....,,::++++:,,,+**,.+:,+,,#####****#*##########***:*+*:,:**::,,+:++...::,+++,,,,::,,,,,,,,,,:,,,,,:,,,,,,,+::::::::::,:,:::,++:.,*+#.+
,,,::::::+::.,+.,,,+*+,.....,,:+::+++,,,#*+,.,*+##****##******##*#######*****+******:***+:::,,+++::,,.,, ::,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::,,,. .,.:*.*,+
:::::::::+::,.+,,,,+**,.,,..,,,++++++:.:*++**,+:+::::::::::::::::.,,:*##*++,+:,,..*+,,::::*+:++++++:::::++:,,,,,,,,,::,,::::,,,,:::::::::::::::::,.,,++.:,+,++#
:::::::::+::,,:,,,,+**,,,,..,,,+++++++:,+*++*.*,::::,:+:..,,..,,....,.....,***###,**#++:#*.:*****,+::::++::::,,,,,,,,,,,,,,:,,,,,,::,,,,:::::::,+:****.:,*,**##
::::+++++*++,:+:::,:::,,,,,,::::,,,,,::::##*+*::::++,,,,,,,:::::+:::+,,######+::+*+*:....:.,,*.:++::++::::::::::::::::::::::::::::::::::::::::,,++,,,,::*+**+#*
,,,,,,,,,,,,,,,,,,,,::::++++++**++++::+++:++++***.,,,,,,::,,,,:+::+*.*########******+,..,::,.. :*:.:::::::::::::::::::::::::::::::::::::::++*****************++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+.,,,,,,,,,,,,,::++:*.:::+###########+**++,+::::::::++*..........:::::::::::::::::::::::::::+++************####*++
::::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,:,++:,,..:**++::::::,:++.:####**####:*+*##***+::......................:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::
::::::::::::::::::::::,,:::::::::::::::::::::::::::::::+:,.....,.+#:.. ............:**.,........,,,,,,,,.,,::,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,,,,,,,::::,,::::::::::::::::+:,,. ..,,::::::::::::,,,,,,,,,,,,,,,,,,,,:,,,,,.. ...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,::::::::::::::::::::++++++++++::::.. .,,::.......,:::::::,,,,,::::::,,.....,,,,,:,,,,..+######*****+****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::,,,,,,++****************#*, .,:,..,,.    .##*,...::+*++::,,,,,::+*****####**++++.+#+#++****#######*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::::::::******************##***********+###****###,*****++++++++++++++++**++++++*++#*+:,,,:,*#####*#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,######################*****#*****###*****####:++************++++++++****+++*###+++.+,,#:++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,*######################################*#*###+****++++++++**#############*:*####*,,.+#+:++::::::::::,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,*####++:++###########################**##########**+########+:::::::+++***######*::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,**####*****##########**+++++*+:::#####:+++++++++***#########**++:,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,:,,,,,,,:#######::::::++++****########***+:::::,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,:
,,,,,,,,,,,,,,::::::++*****###****++::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,:,,,,,::::,,,,,,,,,,,,,,,,,
,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,::::::::::,
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
,,,,,,::::::::::::,,::::,,,,::,,::::::::::,,,,,,,,,,,,,:,,::,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$:+::+::,:,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,::::,::::,:+:+ .,,,,,,+*#*+***#::*,::+**###.,,.,,.,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,..,,,,,,,.,,..,,,...,,..,:,
,,::,,,,:,,,,,,::::::,:,,,,,,,:,,,,,,,,,,,,,,.  ,:::::,,,,.:+++*::,:,::++**#****#:,*:,:+**###****++::::,,,,,,,,,,*****:+,::,.,,,...,,,,,,,,,,,,,.::.:+,,,,,,,:,
.... . . .  .:+++:,:,,:+:::::::::::::::::::::::::::::::::::::+++:::++:::+*##*****+***::+*#*##*::++:**+:,:,,::**+**+:++++:::+:::+:,,,,::,::. ..    .,::+++::+:+,
,,,,,,,,,,,,::::::::::::::++:::::::::::::::::::+:::::::::::::++***:,:,+:,:###***#::++,,,***#:,,,,,,,,,,:::,,+**++***++****+,****#######:::,,,,:::++*++,:**++++*
**++**:+:::+::+:++*:::::+:+++,:::::::+**++++++++**++++++:::,,+**#*,,,::::+####**#::**+::,,::::::::::::::,,,,::::..,:.,++:+***+##:*,*++:*::::,+:::**:****::#*::+
+***:+++:+++++++*++++++:::::::++++:+++:++:::*+:::+++************#*::,,,,:*##*+*+#+#:**:,,::,:,,,::::::::::::,,,,::::::,,,,,,,,,,*+::::,,,:,,,.,,,,,,,,,,,,,,,,,
:::+++:++::::::+++:::+++::++:::+++::+++++++::++++*:::::++++++***######**+*##*+**#*++**::::,:+:,,,,,,,,::::::::::::,,,,,,::::,,,::::**+,.,,::*,,,,,,,,,,,,,,,,,,
::::,::,..........,...  .. ...:::,...........,+++::::::::::::+**#*######*#******##+++*+++++*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*:+*:::+*::::::::::::::::::
::++:+::+++++:::,,,,.::.,,:::::::+++:::,,,,,::,,::+:,,,,,,::::*############+::**#+::::+:,,,,+:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++:::::::::::::::::::
,,:::::::::::,..,,,.,++,,,....,,::::::,.,,,, ..+++++++++::+*+++***######**#*++**#***+**:,,,,:,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::::::::,.....,,++,.......,:::::::,..,,:,::::::+*++*:::::+**####******:::::*,,:::+:::,,:,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,::::::::,,.....,++,.......,:::::::,..,*##*+,::::+*::::::*:**#*#******#::::+++,::::+,:,:::::::::,,,,,,,,::,,,,,,::::::,,::,,,,,,,,,,:,,,:,,,,,:,,,,,,,,,,::
::,,,:::::,::,......,*+:.......,::::::+,..++**#*+*,:+++++:+:*+::*###**+:***:++::::::++++++:+::+++++:::+:,,,:,,,,,,,,,,,,,,,,:,,,,,::,:::,,,,,,::,:,,:::*:,.,*,:
::::,:::::,::,......:**:,.,,...,:+++:::+.,:*,.,::,:::#########***###*#####*+:+*+*:::*+::,,::++,,,:+,+:,::,,:,,,,,,,,,,,,,,,,::,,,,,,,:::,,::::::,::::,,+::::+**
,,,,,::::::::,,.,,,,,*+:,,,,...,++++++++,+#*,,:+++********##***#***#######****+***##**+**#:++:,,+++,:,,,..,:,,,,,,,,,,,:,,,,::,,,,::,:::::,,,,::,:::,,...:.+,,,
::::,:::::::::,.,,,,,*++,,,,..,,+++++++:,:*+:**+::*:::::::++++:::::.,.**###:+:+,,,,,*+,,::+:*++++++:+::::++:,,,,,,,,,,,:,,,,:::::,,,,:::::::::::::::,,:*+,+,+:*
::::,:::::::::,.,.,,,***,,,,,,,,:++++++:,,+*:++:::::++,:+:::........,,,........,.,*++++*++,,+***+*+:+:,,+++:::,,,,,,,,,,,,,,:,,,,,,,,:,,::::,,:::,::****,,:+,**
:::::++++++++:,,:,,,,++:,,,,,,,:::,,,,,:::+**+**::,+::,,,,:,:::::::,,* +######*:+***#:..:. ,,*.:**++::++::::::::::::::::::::::,,::::::::::::::::::+,,,.,:+***++
,,,,,,,,,,,,,,,,,,::::::::::+:++::::::::::::+:++*+.,,,,,,,,,::::+++#.+####***#*#::+#++....::,,, *+.:::::::::::::::::::::::::::,,,,,,,,,,,,::::::++:+:+***+++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+.,,,,,,,,,,:::::++*.,:+:############**+*++:,,,,++*:+**.......,,,::::::::::::::::::::::::::::+++++++++****#####**
::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,+.,,,,,,,,::,,,:,,,,:,,**#*#####*+*+####**#**:++**+:,...............:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++,.. .+##****+:,...........,,,,....................++ +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,,,,,::,,,:,,::::::::::::::::::,.. ..,,:::::+:::,,,.............,.,,,,,,,,,,,......,,::::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::::::::::::::::::::::++::+++:::::::,,...,,,,,...,:::::::+::::::,,,,,,,,::::::,,......,,...+####*,::::++***:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::::,,,,,,,:::++++******++++++:: . ,...,,,,     ....,+:,.....,,,::::,,:::,,:,,::****##*.,##*++*:###########:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::,,:::::::#::#############*,:##*****#***+++###***##+,++***###******++++++++++++++++++:+##:,:::+:#######*#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,
,,,,,,,,,,,,,,,::***++********************#***#*####****####,+++++++****************+++++++**###,:*,..:****+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
,,,,,,,,,,,,,,:#######################################**+###*+**++**++++++++********+++*#########:,,,.**++++::::,,,,,,::,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::#####++***###########################*:###**###################*,,:::::::::*#####*#*++**++::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,+#####+++++###########****+****:+#####++##*+++::::::::::*############**++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,:***#################**++::+++::+######**########**++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::
,,,,,,,,,,,,,,,,:::::::::::+###############*++:::,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,:::,,,,,,,,,,,,,,,
,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,:::::,,,,::,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::+::::::,::::::,,,,,,::::::::,,,,,,,,,,,,,:,,:,:,:,:::,,,:.,:+++:.,,,:,:**#:***#::*:::+*#*##,,,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,......,
,,,,,,,,,,:,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,:,.., ::::::.....+++++:,.:,,,++*#****##:,*,,:+*##*#++++++,::::,,,,,,,,,*****:+,:.,.,..,,,,,,,,,,,,,.   .:,,:,,,,,,,
............  .,::,,,::::,::::::,:::::::::::::::::::::::::::,::++*+::+::::+*##*****:+**::+*#**#*,:++:#*+,:::.++*#**+:+::++::++::,::,,,,,,,::..  ...  .,++++::++
,,,,,,,,,,,,,,,:::::+:,,,:::++:::::::::::::::::::+::::::::::::,+***+,,::+:,+*###**#,:++,,:***#:,,,,,,,,,::::,,,+++++*+******+:*****#####*+,+,,,,+*::++++,:+*+++
::++++++:+:::+::::+++,,:::::++*+:::::::++*++:+++++**:::+::::,::***#+,,::::,:####**#::**:,:+,:+,:,,::::::,,,,:::::+:.*+:,:+++:+**##*#+*++:*+:,,,::::***#*+*:+*#*
+:++*+:+++++**++++++++:++::::::+:+:::+:::++:::*+++++++++********#*#+:::::::+##*+**#+#:*+:,:::,,:,,::::::::::::,,,,::::::::::::,,,:*+::::,,,,,,,.,,:,::,,,,,,,,,
::::+*++:+++::::+**+:+++++::+::::+++,++:+++++::++++*++:::+++++**#*#*****++:+##*+*+#*++**::::::::,,,,,,,,::::::::::,,,,,,::::,,,,,,+:,*+,,.,,:,:.,,,,,,,,,,,,,,,
::::::::+:,...  ..,::,........,,::+:..      ..,:::++++::::::::++**######***#***+**#*+++*++++:++:,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:*:++:::**::::::::::::::::
::::++,,..,,,,:........,.......,,,,,,,::,,,,,,,,:::::,::,,,,,,,,**###########+++**#::::++:::,:::::::::,,::,,,,,,,,,,::::::,,,,,,,,,,,:::::::++::::,,:::::::::::
,,::::::::++:::,,:::,,,++,,,::,,,:::::::,.,,,,  ,++++++++++++++++*#*########*:::***+:::+*,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,:::::::::,.,...,,++,.......,:::::::....,+:,:::::+*::+:::,::**#####****#:::+:*,,:::::::,,,,,,,,,,:::,,,,,,,,,,,::::::::,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,
,,,,,,:::::::::,,....,,++,.......,:::::::...,*##*+:+::+**:::,,:*+****#*******:::::+::::,+:::,::,::::,,,,,,,,,,::,:::::::::::,,,,::,,,,,,,::,,,:,,,,,:,,,,,,,,,,
,,::,,::::::,,:,,....,,++,.......,:::::::,,.*::+**+*:,:+*++:::*#::*#*#*+:,**#:+*:+++++++++,::++:::+++:::+:,,::,,,,,,,,,,,,,,,,:,,,,,:::,::::,,,,,,::,,:::+:,,,*
:::::::::::::::,,....,,++,,,,,...,::++++::,.:*..,:::,:*#########:+*###*#####*+:+*++:::++:+:,.,:+::+++:++:::,,:,,,,,,,,,,,,,,,,:,,,::,,,,,,,,,,,,:::::::::+::::+
,,,,,,,::::::::,,,,,,,,++:,,,,,,.,++++++::**#*.:,*:*##****####***###########****+***#*++****,*+:,,+++,+:::::,:,,,,,,,,,,,:,,,,:,,,,,,,,,,,,,,,,,::::::,,,,.,,+,
::::::,::::::::,,.,,,,,**+,.,,,,,,+++++++::+*+:#*+::+,::::::+:::::::,..,####*:+++:,,::*+,,,+*+++++++++++:::++:,,,,,,,,,,,:,,,,::,,,,,,::,,:::::::::::,,,:++,::,
::::::::::::::::,,,,,,,+++,,,.,,,,::++++++,:+*,::+::+:::++::::::,,............,.,...,# .....:*******+++, .+++:::,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,::::,::,++++,,:*,
::::,,,:::::+:::,,,,,,,+++,,,,,,::::,,,,,:::+***++::+:::::::::::++*:,*.:####*#+++*+*#*,,...,++.:+***+++++:::::,,::::::::::::::::,,:::::::::::::::::,::,,,,,++**
,,,,,,,,,,,,,,,,,,,,,,::++:::,,,,,::::,,::::::++::+,,,,,,,,:::::++:* :*####**#######++,,,,:::,:+*:.:::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::,:::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+.,,,,,,,,,::::+:+*.,++:+#########*#**++::.,,,,:++++**.:::::::::::::::::::::::::::::::::::::::++++++++++++++****
::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,,,,,,,,.,::,.:::::**####+#######***,,,,,:++++***:..........:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::::::::,,::::::::::::,:::+:::::+++:+:::+:::, *########*****+:,..  ............................*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::,,,,::::::::::::::::::::::::::::,......,:::,.,:,,,..............+,..,,....,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::,,.....,,,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,:::,,,. ..,:,..,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::,,,,,,,,,:::::++++++++::::+,  .. ,::,,.    ...,,,,.,,+:::,,,......,,,,,,,,,,:,,,,,,:,,#*,++:####++**####*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::###############***#*,,,,+,,,,,,..,######*,.:++:,,,::++****####****+++++++++++,+#*#:*##*+#########*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
,,,,,,,,,,,,,,::#########################*****+####*****##*,++++++++++++++************+++++++*##:**::*+,**#####*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:,#####################******############***###+++**************++++++++**++++:+#####+:: *::#:::::::,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,*######################################*+###***+**+::++**##################:::#####*:.+#*++*++:+:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,*###*++++############################*,#########*::,,,,,*########++++****#######*++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,+*###################*++++***::::#####+*++++********########**++:,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:
,,,,,,,,,,,,,,,,,,,:,,::,:######*::::++++***##########*++:::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::,,::,,,,,,,,,
,,,,,,,,,,::::::++********++::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,:::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::,,,,,,,,,,,,,,,,,:::,,::,,,,,,,,,,,
::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::,,,,,,:::
,,,,,,,,,,,:::::,,::::,,::::,,::,,,,,,,,,,,,,,,,,,.,,,,,::,,,,::,,,,,,,,,,::,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,:,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::,,,.::::::::::::::::::::::::::,,:::::::::::::::::,,,:+::,:,,,,,:***+**##:++,,:***#*#,,,,,,,,,...,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,*+.+:,:,,...  :+++::.,,,:,++**#***##::*:,:***###,,,,::,,,,:,,,,,,,,,++++::::,.,,....,,,,,,,,,,,.......,,,,,
:,::::,,:::,.,,:...... .,,,,:,::::,,::::::::++::::,::::::::::::::,::++++::*:,,++*#****##,:*+,.**##**#::++:#*+ ++,,+*****,,:::::+::::,,,+,,,:,,,+.,::::,:...,+++
*+.................:**::::+:::::::::::::::::::::::::::+:::::::::+:::+*++:++:,,::*###**##,,+:,,:***#:,,,,,,,,:::.,:+,::+::+**+:+:+++++********#,+*+*..:*,,,::,.,
:::,:::++++++,+:::++:+++:::+,,::++**:::::::::++::,::::::::,:::::,:,,+**#:,,,:++:*####**#,:**:,:*:+*:,,::::::,,,,:::::+++.+*,::::::,+*****#**+:++:,.:::,+*******
++:+::++++++*++++*++++++:+++++::+:::::::+:::::++::+*:+++***++**********#:,::::::*##****#:#:*:,:::+,,,,::::::::::,,,,,,::::,,,**+++**:::+:,,:,,::::,:,,::******+
+++++:::****++++::::,+**+:++++::::::::+++:+++*++*+:+*++++:::++++++*****#****+:+:*###:**#*++**:::::+:,,,,,,::::::::::::,,,,,,::::,,,,,,,+:,*:,,:,,,,,.,,,,,,,,,,
:::::::::::::+++:::::,:+++::::::::++:::+++,,,,,,:::::::+:::::::::::++****#####**##**:**##+++*+::++++,,:,,,,,,,,,,,,,,,::,,,,,,,,::,,,,::::+*+:::::**::,,::,,:::
:::::::+++:+,,,,.............,........,,,,,,. .......:+:::::+++:++:::***######**##**+*+#::::++,,::+:::::::,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,:,:+:::,:::,,:::::::
,,,,,,,,::::::::::::....,,,,++,,....,,:::::::,..,,,.,:++++*++++++++++++*######*#*#+:,+**.,,.++,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:::::::::.......,++......,.,::::::,....,**,++++++*::+::++:+**######***#:::+:+,::::+::::,:,,,,,,::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,::::::::.......,++,,....,.,:::::::...,*##*+,:::+++,:,,,,*:+*####**++**::,:+++:::,+:,:::+::::::,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,
,:::,,::,,:,::::::::,,,,,,.,*+,.,,,,..,:::::::..,+#*+***:,,:++**::+*#+:*###*:::+**::+:++::++++*::,+,,,:+++::,+:,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,+
,:,,::::::::::::::::,.,,...,++:,,.....,:++:::::,..*..,,,,,::********#++*###***#***+++*++:::++:*:+,,:,::+++:+::+,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:::::::,:
...,,,,,,,,,::::::::,.,,..,,*+:,,,,,,,,:++++++,:*#*++:#:******#######*###########****+******++***:*::,,+++,:++::,,:,,,,,,,,,,,:,,,,,,,,,,,,:,,,,,,,,,,::::,,,:+
,..,::::::::::::::::,,,:,,,,**+,,,,,,,,:+++++::,+*+:**+::+:::::::+++++*+*+,++*###*:**+++++**++++**::+*::+*:+*+::++::,,,,,,,,,,::,,,,,,,,,,::::::::::::::::,,,,:
....::,:::+:::::::::,..:,,,,**+,,,,,,,,:++++++:,:+*:+*::::::::::::::::++::..,,.,,:::::,,:::**,:,.,******+**++:.:++::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,:::
....::::,,,,:::::::::,.:...,++*,..,,,,,:::,,,,,::+*:+,:,,............... ,+**#####,***+::,++* .*****+****+++++::::::::,,::::::::::::,,,,::::::::::::::::,::,,,,
,.,.,,,,,,::::::::,,::,:::::::::,,....,:++:::::::+**+,,,,,,:::::::++: *+######****#**+,.,.,, ..,*.:***++++++:::+::,,::,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,::,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,,,,,,,::::::+,.***#########**##*++....:,,....+*:.::::::::::::::::::::::::::::::::::::::::::::++++++:::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,,,,:::, #*:::##############*+*:,,.,:,,+::::+**....  .....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,
::::::::::::::,,::::::::::::::,,::::::::+:*.,,,,::::,,,,,,,,,:,.****##****##****####*******+::... ................ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::*+......,###**++,,. ........,.,,,.,.....................,,::.:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,,:::::::::::::::::::::::::::::,.. ...,,,:,,:+:,::,,...............,..,:,,,,,,,,,...   ..,::::::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::,,,,,,::::++++++:::::::::,.. ..,,,....,:::::::++::::,,,,,,,,,,,,,,::::,,.. ......, ,,*#####,,:::::*****:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:::++++++++++++::+,  .....,::,.       ..,::+:,,.. ...,,,,::,,,,,,,,,,,,::++*#*#,.+#*:#+*:*###**#######,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:
,,,,,,,,,,,,,:*:*############::#*:::++::*+**++*####**##+,.,,,:+***#*####****++++++++++++++++++:**:*:+:::+**#########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:+##**################*#****++***###****+####,++++++++++++++************++++++++**#*#++*+:.,:+*####*:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,:####################******####*########*#*####+++*********++++**++*********+,,,:*#####.*.+.:.#::::+:::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
,::::,,,,,,,,+######***#############################**###*++::++++**##################**+:,,,:*#####***##***+*++::::::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,
,,:,,,,,,,,,,,:*###++++*###############**##########**+#########*:,::::,,::::########****########**++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,:****################**++++***,::*#####+*:::+++******#########**+:::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,::,,::::,
,,,,,,,,,,,,,,,,::::::::+######+::::+++***##########*+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,:::
::::::::::::++++********++++::,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,:,,,,
,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::::::,,..,:::::::::::::::::::::::::,,::::::::::::::::::,+:,,,,,::,,:+*#+***#:+*:::+****#,,,,,.,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,:,.:+.+:,,., ....,::++:.:,,,:::**#+**##::*:::+*##**,,,,,:,,,,,.,,,,,,,.,,,:,::,,,,,,,,,,,,,,,,,,,,.,,,,.,,,
,,,,,,,,,,,,,,,..,:,....  ,,,,,,:.,,,,,,,::::::+::::,,::::::::::::::::::+++::+:,,++*##****#,,*,,.+*##*##::+++:++.+:,,,::::+:::+::::+::::,::,,,,+,,:.,,:++:::..,
+::++................,.#*+::::::::::::::::::::::+::::::::::::::::::+::,+*+::++:::::+##**#*#,,:+,:+*#*#+::,,,,:::,,.,:*,:++++:*#*::,,::+++++******::+:*,.,*...,,
*+:,,,,,,,,,:::+:+::::+++++::::,,,:+***:::::++:::+::,:::::::::,::::::,,+**#+,,,::+,+####**#::#+::,#,:*::::::::,,,,,,:::++++ :+.++::,:,+*********:++:+:,++:+**:*
::+++++:+:+++++*++++**+++++++++:+:::::+:,:::::::++:+:+++++**++++**+********+::::::::####**#:*:*+::::::,:,:::::::::::,,,,:::::,,,**:::+*+++:+:::::+::::::,,,+#++
:::+**++:+++**+*++++::::***+:++++:::+::::+++:+:+++++::+*++++::++++++********+**+:::**#*+*+#+*:**::,,::::,,,,::::::::::::::,,,,::::,,,,,,,,++,:,,.+.,,,,.,,,,,,,
+++:::::+:::::::+++::+:::+**+:::::::++++::+++::::+++++::+:+++:::::::::++**##########**#:**##+++*++:::++:,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::++:::,,:*:,,,,,,,
,,::::++::+++++,,,....,.......,.. .......+..,,,,........::::::::+++++::+***##*#######**+*+*+:::++:::::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,*,,,,::,,::,,,
,,,,,,,,,,:::::::::::::,,,,,,,:++,,,::,,,,++::::,...,,,,,+++++++::++++++***#########*:::***,,:.:+,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,
::,,,,,,,,,,,,::::,,:::,,,..,,,++,.......,:::::::....,**,*+++++*::+::*+**#+##########::::.+:::::+::::,::,,,,,,::::,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,,:::::::,,,,..,,,++,.......,:::::::,...+##*+::::+*+:++:,::+:*####***+++:::::+:,:,,+:,:,,+:::::::,,::,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::+:,,,,,,,,,:::::::::....,,,*+:.......,:::::::,,,+*#**+,:,,:+++++::+#*:**##*+:,+*#:++:+++,+++:+++:+::,:+++::,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,
,,::+,,:,,:::::::::::+::,.,...,*+:,,,,...,:::+:::: .,*,,:,.,+:::+*++++:++:**##*******++**+*::+++,+::,+,,::++++::+:,,,+,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,::,::::
,,,. .,,,,,,,,,::::::+::,,:.,,,*++,,,,,,.,++++++++,*+*+,.++:****########*###########****++*****+++**++,+::+++:++++:,,:,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,,:::,
,,....,:::::,,,::::::+::,,:,,,,***,,,,,,,,+++++++:,+**,##:++**++************:+****###+***+******+*+*#+,+++:++:++:::++:,,,,,,,,,,::,,,,:,,,,,,,,:,,:::::::::::,:
,,,,...:,::,:::::::::+::,.:,,,,+**,,,,,,,,:++++++:,:+*++*.+:::::++:::::::::::. ,::,,*++:+:,,,:**,,,:,:******+*+*+::++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,
,,.....:::::,,,::::::+::..:...,+++.......,::::,,::,++#.+:,,,...........,.......,:.,*++++++*+..+*:,+**********+++++::::::::::::::::::::::,,,,::::::::::::::,,:::
,,,,...:,,,,::,,::::,,,,::::::::::::,,,,::,::::::::::+,,,,,,,,,,::..+ **######****#+##...,,. ,,*:.:+++********::::::::::::::::::::,,,,::,,,,,,,,,,,,,,::::,:::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+.,,,,,,,,::::::+: **####***###***#+*:... ,,,,,:.+*..++++::::::::::::::::::::::::::::::::::::::::::::::++++:::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::, ##:::+#############++*+++,,,:,++*++**+ .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,
::::::,,,,,,::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,:::.::*#***#####**+#####+#**+,,:++++**++::,......... ...:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::::,,::::::::::::::::::::::::::::::::+:+:::,.*#####**###***++:,.   ............................... ++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::,.. . .,,,,:..,:,..................+,,..,..............,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::::::::::::::::::::::::,.  . .,,,,,:,:::::::::::,,,,,....,,,,,,,,,,,,.,,::::::,.. ..,,....,,:::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::::++++++::+++:,.  .,,,:,..    ...,::,,,,:,::::::::....  ....,,,,,,,,,,,,,,:.,+##::+*####++++*****#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:#############*####:::,+....,,,.   :####:..,:+++++:::,,,,,::++**#####*##****++++++,:##,*:+##***##########+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:,*#####***********#************+*###*****###+,***++++++++++++++**++++******+++++++++###::,,*#*:#*#######*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,****################******##****#######*#**###*:++**************++++********++*****#####,*,:,#+.*:::::::::,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,
::,,::::,,+#########################################*####+++****++**++++++::++**############*,#####+,,, *#+:::+++:::::::::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
::,,::,,,,,,,*###*+::*#############################+:###################**+*#########+::::::::++########****:::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,,,,,:#****+++:###########*+++++**+:,,######*++++::::++++::::::++*****#######**++::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,:
,,,,,,,,,,,,::++**####*########***+::::::::::*######**########**++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,:::::::::::::::++#############**++:,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,::::,,::,,,,,,,,::,,::,
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,::,,,,,,,,,,,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,...,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,
$::::::::::::::::::::::,,::,,::::::::::::::::::::::::,,::::::::::::::::,,,,+,,,,,,,,,:,+,****##,**,::**##*#,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,..,,,,,,,,,
::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,.:,..::.,..,,+:*+:,:.,,,:+**#+**##::*:::**###*,,,,.,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....
,,,,,,,,,,,,,,,,:,.,,:,......,,,,,::....,,,,::::::++::,,::::::::::::,,,,+++++::,+::::+*##***##,.*,:,**##*##:...,.,,.::,,,,..,+****+::++::,:,::,,.:,,,+,,,:++:.:
::::,:++.,......,,....,,,,##*+::::::::::::::::::::::::::::::::::::::::+::,+++::+*::,,:*##***##,,++,,**##*+::::,:,,.,. ,,::++++++*#*+::,::::+++*****#,::++..,: .
:,*#::,,..,,.,,,::,:::::++++:++:,::,,+****:::::++:::::::,::::::::::+::::,,+**#::,,::+:*####**#:,#+:::*,+*:,:::::::,,,,:::+***+++*,*****++*****#***+::::***+*,+*
:::::+++::::++++++*+++++++++++++++:::::::::,:::::::+++++**+++***+++**+*******#::::,:::*##*#**#:*:*:::::::,,:::::::::::,,,,:::::,.,,**:,,**+****+:+::++::++::,:*
+++::+**+++:++***++++++:::+***++++++::::+:::+++:::+++++::+++++::++***********#*+**::::*###:*+#**:*+:,,::::,,,,,,::::::::::::,,,,::::,,,,,,,,,++,:,,.+.,,,,.,,,,
++++:+:::::+:::::::++++:+:::+++++:::+::+++::+++::::+*++++++::+++::::::++:+***#**#######**#:**##+:+*:::::+:::,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::,:,+++::,,:*,,,,,
,,,,::::**++++::++..,,..........,,,,.......,...............+::::::::+++::::***##*#####*#**+*+#+:::*+::,:++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++,*:,,::,,:::
::,,,,,,,,,,::::::::::::::,,..,,,:++,,....,,:::::::,,,,,,,,:::+++++:++++:::*#:######*#*#:,:*+*,,:,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,:::::::::,,.....,++....,,,.::::::::....:*+,*+++*++::+::++**#+##*******#:::+,+:::::+::::,:,,,,,,,:::,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,
,,::::::,,,,,,,,,,::::::::,,.,...,++......,.,:::::::....+***:::::+++:*:::::*+*####******:::+++:::::+,,::,+::::::,,::,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,
*:::,,,+,,,,,,,,,,::::::::,.:,,,.,++,.,,,,..,:::::::..,:#***:::,::+++,:::++*:*###*:,++**::+:++:::+++::+:+:::,*++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#*:::::+:::::::::::::::,::,..,...,++,.,,....,:::::::,,::#,,,:::+::++#*::+++++*###*******::**++***++:+,:,*+.,:+++:::++,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
..,,.... ,,,,,,,,,::::::::,.,,...,*+:,,,,,..,:+++++::,++*,..+:+##***###*****##########*****++*+++*+:+++:+:++:+++:++++:,,+,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,....,::::,,,,::::::::,,.:,,,,**+,,,,,,,,:++++++:,**+:##++**************##*:###*###****+******++**+*::+::::+:++:::++::,,,,,,,,,,:,,,::,,,,,,,,,,,,,,,,:::::
,,,,,.....:::,:::::::::::::,,:,,,,***,,,,,,,,:++++++,,+:*::*:.:+:::::::+:::::::+.,,,::+*:::+,,,::**,,++,*******+++++:+++::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,......::::,,,,:::::::::..:....+++,......,:::::,:,.++#,:,::,,........,............+..  . ,,,::*+,+:+********+++++::::::::,,::,,,,::,,::,,,,,,,,,,,,::::,,,,:
,,,.,,.. .::::,:,:::::::::::++::::::::,,,,:::::::::::+::::::::::+++*,.*#######**##+*#*:,,..,,++..++**+++****++++++:::+::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.:,,,,,,,,::,,:::* :**#############++:..,,,:,,.,+*+.:+++***+:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:,* :##::+*##*#########++*:,,....,,,,:+**,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,,,,,,,::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,:,*.:,###:+######*######*#+*+::,.,,:,,,::++**,.  ........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::::::::::::::::::::::::::**+,,+****:::::::::+ *######**####*+*+*+***+*:... .... .....................::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::+,,... ...+*#:.   ...............***,...............,,.......,,:,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::,,:::::::::::::::::::::,..   .,,,,,,:::::+::::,,,,................,,,,,:,,,,,,,.   . ...........,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,::::::::++++::::::,.  ..,,,,......,::::::::+::::::,,,,,,::::::,,..  .....,,,,,,,..+#######::**##*******,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,,,,:++**++++++++++++:,    ...,,,,.       . .,,:,.. ...,,,,::::::,,,,,,,,::++******###*,:##.*#+**+###**#######*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,*+:############,,#*+***#**##**++*####***##*.,:++**########***+++++++**+++++++++++++,+#*,::+:::+:###########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::**************###*******++*****#####****####*,++******************++++++*++++++++***###,::*+.,,,*+##*+::::,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,,
::,,,,,:####################****#*##############**#####+++**********++++****++++****+++::+***#####,*,* :,**:::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::+:,,,::,*#####***##############################***###+::,:++########################*+,,,,,,#######*#*#*+***++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,:*###++++*##############***############*:##########*::::::::::,:::+#######****#####*#*++::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,:
,,,,,,,,,,:****###############**++****+,:::*#####**:::+++++*+*****#######*::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::,,,,,,::::::,,,,,,,,,
,,,,,,,,,,::::::::::::#######:++++++***#*########*++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::++******++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,:::::::,,,,,,::,,,,,,,,,,,,::,,,,,,::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::,,,,,,::,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,:,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$:::::::::::::::::::::::::::,:::,,:::::::::::::::::::::::::::::::::::::::::,,,:,,::::::::,+:****##:**:::+**#*#,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,,:,,,,,,:,::,:,,::::,,,,,,,,,,,,,,,,,,,,,,,::,.........,,,,,+:*+:::,,,,:+*##:**##,+*:::**##**,,,,,:,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
,,::::,,,,,,,,,,,,:::,,,::,,,,,,,,,,,,,,..,,,,,,::::::::,,,,::::::::::,,:,,::+*++:,::::++*##***##,,*,:+**##***:,  , ,,.:,,,,,,,,******:+:+:,,,,:,,,,+,,,+,,,::+
,,,,,,,,:+:.............,...,##**:,:::+:::::::::::::::::::::::::::::::::+::::+*+::++::,,:*##****#:+*+:,+*#*#::::::::,.,. ,,,,:*+++*+#**+,:::+:++++++++*,+::+.. 
+++:.**+:::,,.....,+::,:::::++++++::,:,::+***:::::::::::::::::,,::::+++:+:,:::***+::,::::**###**#::#+,,,#:**:,::::::,,,,::::********:********##*#******:,,,::+*
,,,,::::+++::::+**++**++++++++++++++:::::::+:,::::::::+*+++**+*+**++++**+*++:****+:::::::*##*#**#,*:+:::::+:,::::::::::::,,,::::::,..,**:,,++:*+++++:::+:::::+:
,,++++::+***+::++***:+++++:::+***+++++::::+::::+++:++++++++:++::++::**********#***+++::::**#*:**#+*+*+::,,::,,,,,,::::::::::::,,,,,,::::,,,,,,,,++,:::,:,,,.,.,
+:++++::++::::+:::::++++++:+:::+*++:++++::++++::++++::+++++++++:++++::::::++++**#*#*####****#:**##+:**:::::+::,,,,,,,,,,,,::::::::,,,,,,,,,,::::::::++:::,::*,,
**::,,,,,:***+++::::++....,,..................::..............::::::::::++::::++*##*########*+*+#*:::*::::+*+:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,:++,+,,,:::,
:::::,,,,,,,,,:::::::+::++:::,,,::,,,++,::::,,,:::::::,,....,,::::::+:::++++::*#+##########+::***::,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
:::,::,,,,,,,,,,,,::,::::::::,....,,,++,......,,::::::,....,+:,+++++:+:::::++****###****##**++*,++:+++*::::,::,,,,,,::::,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,
,,,,,:::::::,,,,,,,,,::::::::,.,...,,++,.......,:::::::...,:::*+::::+**+*:::::*:*####*****#:::+++::+::+:::,,::,,,,,,::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,
:+*#,,,,,,:,,,,,,,,,,::::::::,.,,,,,,*+:,,..,,.,++++:::,,::#***,:::::+::,:::+**:*###*+,+***::+:*+::+++++:::+::+:+++:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*:*#*+::::+::::::::::::::::+:,,.....,*+:.......,:::::::::++*,,,,++,:+++**+:+++::**##++*+***::**+++++++:+,:,*+,,,:++:+:+:,,,+,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,
,,,,,,......,,::,,,,,::::::+:,,.,...,**+,.,,...,:+++::+:,,**.. +::*************###########*****++:++*+:,++:++++:+++::+:::,,+,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,
,,,,,,,,....,:::,,,,,::::::+::.,:,,,,*++,,,,,,.,+++++++::#**:*#*********##*****##*+#######*#**+*****+++***+:::,:,:+,+:,,,,:+,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,
,,,,,,,,,,...::::::::::::::+::,.:,,,,*+*,,,,,,,,+++++++:,::**:*:::+:::::::::::::::+,..,*++*+::+,,,::++,,,#,*******+++:+::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,.....:,:::,,,:::::::::..:,,,,*++,,,,...,:++:::+:.,+*,+,:::::,,.............,:  .,,*+::+,,,::++::,++********+++::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,
..,,::.......:::::::::::::::::::+:::::::::::,:::,::::,,,,:,,,,,,,,,. ,**########+:*#*::: .+:+.,,::++++*++++*****++++::::::::::::::::::::,,,,::,,,,,,::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,+.,,,,,,,,,::,:*.,*+#########**+*:*,....,,,...:+.,:++**++++++++:::::::::::::::::::::::::::::::::::::::::::::::
::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:...,,,,,,,,,,,,.:* +##*#########**####+*:.. ,,,,...,.**+ .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,::::::::,,::,,::::::,,,,:::,,,,,,,,,,,,,,,,,+ ::###::##############*+*+,,:,,,,::++:,+*** ...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::,,,,,,::::::::::::::::::::::.,,.,,,,,,,,,,,,,:: *#**#######*##***+######**#+*+++::..  ..................:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::,,::::::::++::,:::++:,.   :###*****+::..  ...... ...,,..........................:::.:*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::,,,,::::,,::,,::::::::::::::::::,..   ..,,,,,,::::::,,.......................,,,.....,,........,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,:::::::::::::::,..  ..,,,,,,,:::::::::+::::::,,,,,,,,,,,,,,,,,,::+::::,..  .....:***+,.,,::::::::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::++++++++++::+:..  ..,:::,..        ..,,,:::+::,,,...  ..,,,,,,::,,,,,,,,,,,,::+:.:##*,**:*###***######***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,#*################::,,:.,,,,,,...,#######:..++++::,,,::::+****#######***++++++++++++:,*##*#:+*#*,###########*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,::####################**#********####***######,:++++++++++++++++****++++******+++++++++###+#::::#***######*##*,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::,,,
::::::****###############******#####*########*#*#####,++****************++++++**++****+++++*#####,*.+ #+.#*:::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++::########################################**#####+************++::++**#################::#####*.,, *#*::+++++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,:::::::,###++++*#############################*#:*###################*++::,##########+:::::::++########**++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
,,,,,,,,+****+++,##########**:++++**++:::######*++:::::::::::::::::::::+*++**#####**::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,::,,,,,,:
,,,,,,,,:+**################*+:::::::::::*######*****#######**+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,
::::::::::::,,,,::+++*##########**++::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::,,,,::::,,,,,,,,,,,,,,,:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,,,,::::,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,
::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::,,,,+,,,::::::::*:##***#:+*:::+**###:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,:::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,...,....:,:,,:+++::::,,,:+*******#::*:::+**#*#,,,,,:,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,..,,,,,
,,,,,,::,,,,,,,,,,,,,,::,,,:,:::,,::,,::,:,,:,,,,,,,::::::,,,,,,,,,:::::,:,,,,++++*+:,:,+:++*##***##,,+:::+*####***++:,..  ,,,,,,,,:*****++:,+,,,,,,,,.:,,,,,,,
***+,,,,,,,,::................ .****::,,:++:::::::::::::::::::::::::::::::::::::+**:::+::,,:*##*****+***::+*###*:::::,*:,, .,,:.::+***+****+:+++::++:,:+++,::::
 ,...., ,:+++:,,,....,:::,,,::++::++:::::,,:++**::::::::::::,,:::::::::::+:::::++**#+::,,::,+####**#::#*,,,*#**:::::::,,,,::::,*+*++***:+*****+***********,:,,.
.. ...,.::::++::::++**+**++++++++:+++*++::::::++,:::::::++****+*+++**++++*++*+:,****+:::::::+####**#::**:,::,:,:::::::::::::,,,,::::,,:.,***::**,+*:::+*::+:::,
*++,.:++++,+****::++***++:+++++++***++++++:,++++::+++:::++++::+++:+++::*+**********#*+::::::*###:*+#+#:**:,,,:,:,,,,::::::::::::,,,,,,::::,,,,,,,,,:::::,,:,,,,
*::+:++++::+::++++:::::+++++::+:::+**+++:+++::++:::+++:::+++*+++:+:+*+++::::++++***#*#*##*#**#*#+*+#*+:+*+:::::+:,:,,,,,,,,,,,::::::,,,,,,,,,,::::::::+++,:,,,,
+::+*:::,,:::++++++::::::.....,,................ ,+.,,,,,.......,+::::::::++:::::+**##*########***+#*+++++::::*++,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,:+::,
::::::::,,,,,::::::::::::::::::::,,,,,::++::,,,,,,:+::::::,,::,,,,,::::::::+++:::***##########+::++#:::::+:::::+::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
::::::::::,,,,,,,,,,::::::::::::,.,,,,.,++,,,,,,,.,:::::::...,.,.,+++++:++::::+++++*######********+*++*++*::,,,+,,,,:::::::,,,,,,,,:::::::::::::::,,,,,,,,,,,,,
::::,,,:::::::,,,,,,,,,,::::::::,..:...,++,.......,:::::::....,::*++:::+**+*:::::*+*####*****#++::++:::::++::,:+::,,,,::::,,,,,,::::::::::::,,,,,,,,,,,,::,,,,,
+:::*+*+,,,,::,,,,,,,,,,:::::::::..:...,*++,......,:::++::.,,,*#+*:*+:::+++,::::#:**###**+*+*#::+:+++::++++:::::::++++:::::::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*+***##*+::::+:::::::::::::::::::.,:...,*++,......,:::::::,,:+*:*:.++,+:++**+::+:,:*###*++:*+*++++:::::+*:+::,**,,,,++,::+:,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,.. ,::,,,,::::::::+::.,:...,*++,,.....,:++++++:.,*#+..:::+:+##********#*#########***+*++,,+**,,,:+,++..,++:++:+,,,+:,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,....::,,,,,,::::::+::,.:..,,*++,,,....,:++++++:,*#*++*,++*##**####****###*#######*#*+********+***+::,,,::+,:,,....+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,...::::::::::::::+::,,+,,,,***,,,,,,,,:+++++++,++++:*,+::::::::::::::::+::...*#**++,+,,,,:*+:.++++++++*+++:,++:++::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,... ::::,,::::::::+::,,:,,,,+*+,,,,,.,,:+++::::..+*:++,*::::::::::::,:.::+++**+::*:+,+:,,::*+::::++*******+*::+:::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..,,..,,:,..... ::::::::++++++*++:++::::,:::::,,,,:,:,....,,...........,:+**##*.**+*++++**+..*+**+:+++++++*++++*++***++:::::::::::::::::::::,,,,,,,,,,,,::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::*,,,,,,,,,,,::+ ,*+*#####*##**#+**,,..,,, ,.:+,,+******++++++++++::::::::::::::::::::::::::::::,,,,:::::::::::
::::,,::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,,,,,,,.,,+ +##*####**###:+#*#+++. ...,::,...:*+ .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
::::::::::::,,::::::::,,,,,,,,,,,,:::::::,:.,,,,,,,,,,,,,,:,.+:###::*#############+++::::,,.,,+*+++***, ,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::::,,,,::::,,,,::::::::::::::::::,:.,,,,,,,,,,,,,,,*. ::::###+*####**+*#######***,,::+++*++**::,.. ...........::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::,,::::::::::::::::::,,:+::::+:+:::::+::::. ######*##********+:,..   .. ...........................  ..++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::,,::::::::,,,,::::::::::,:::::::,.  ..,,,,,: .::....................:+:.............,.......,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::::::::::::::::,,.   ..,,,,,,:::::::+::::,,,,,,......,,,,,,,,,,,,,,,,,,,,::..  ..........,,,,::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::::::+++++++++::,.. ..,,:,,..    ...,::::::,:,,,,,,::::::::,...  ....,,,,,,,:,,,,,..:##########************,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,:++**************. .........,...    ,,,.... ..,,,++++:::,,,,,,,,::::++**########***+++,:##,#+#+#*+#*###########*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:,,,,:+,****#######*,*####***+++*****#####***####:,*###*##****+++++++++++++++++++++++++++++:*##::,+.,:++:###########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,
::,::+++++++++++++****++************####****######::++++******************++++++++++++******###*,,**.,,:*#++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,
++:*########################################+#*####+******************++*******#*+++***#########+*.+ :,+#+::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::*####****##############################*#:*###+::,:**###########################*,,,,:::#######*###+++***+++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,**##++++###############***############***##########*:::::::::::::::::+#######**#######**++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,
,,,,,,**#################**+++****:::::######+*:::::::::++******######**++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
,,,,::::::::::::::#######+::::++****##*######*++::::++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::++++**+++++:::::,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::,,,,,,,,,,,,,,,
,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:,::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,:,,,:::::::::::::::::::::::::::::::,,+::,,::::::,*,*#**+#++*::::***##+::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::,:::,,,+++::,,,,,,:***++**#+:*::::***##:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::,,::::::,,,,,,::,,,,,,,,,,,,,,, . ,::+::,,,,.:+++*:,.:,::++*##****#:,*:,:+***##****+*:,,,,,,,,,,,,.*****:++:,,,,..,,,,,
,,,,:+******::,,,,,,:,.......... ... . ,::::,,:,,::+::::::::::::+:::::::::::::::::++::::*+:::++::::*##*****+***:++***##*:+++++*++.::,+:++++*+++++++:+++:::::,,,
:++:.,.,+:,,:,,,:+,,*,,,..,,.,,,,,...,,,::::::,:,,:::++:::::::::+:::::::::::::::+::::::++*#*::,,::::*###**#:,++:,:+***::::::,,,,::::,,:+*+*+**:*+***:,*********
******..++++:+.:*+::++:::::+++++:+::::::++:++:::,:::++:::::::::++*+++++++++*++:++++:,,,+**#*:,,:,:::####*+#::#**,::::::+:,::::::::,,,,:::::.,:,.++:+***+*#++*,*
::::::,+::,:,:+++++*+++::+:+**++++++***+++++++:++:::::+++++::+:::++:::*+::++++++**********#*:::::::+##*+*+#*#+**::::,:::,,,:::::::::::,,,,,,::::,:,:,,,,,,:+:,:
::::::**:::+:++++:+:+++++:,:+++++++::::::+*++:+:++::++::++++:::+*++++:+:+++*+::::++++++***###*##+++*###***#**++*+:::,:*+,,,,,,::::::::::::::,,,,,,::::,,,,,::,+
,,,,,,:+::,*:,,,,,::,::::::::::,+:..........,,... ......:++,..........,,::::::::::::::::**#*#########*#**+*#+++*+:+++*++,,,,::,,,,,,,,::,,::,,,,,,,,,,,,,,::,,:
,,::::,:::::::::,,::::::::::++::::::::::::,,,,,,:,,,,,,,::::++++:,::::::,,::::,,,,,,,,,,:*###########*+:*+*+::::+:::::+:::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::,,,,,,,,,,,,::::::::::::,,,,,,,:::,,,,,,,,:::::::...... ,++++*++++:::+++++#*#########++++**++*+**:,,,,+,,,,,::::::,,,,,,,,::::::::::::::::::,,,
,,,,::::::::::::::::,,,,,,,,,,,:::::::::,.,...,++:.......,:::::::.....:::::::::++:*::::::*+#####*****:+::++,,:::+:::::+,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,
,::+,,,++::+:*:,,,,,,,,,,,,,,,,:::::::::.,:.,,,+++,,.....,:::::::,,,::#*#*.:,,:+++,::::*:+**##****+**++::*++:::+:+:::::,::,:::::,,::,:::::::::::::::,,,,,,,,,,,
,,+:,,:++**#*#**:::::,::::::,,,:::::::::,.:...,+++,,.....,:::::::,,.,++*#*+*:::+*+*+::**+:**##**:,***+++::++::+*:+::+++::++++++:::,,,+:,,,,,,,,,,,,,,,,,,,,,,,,
,,.....,..,,..,.......,,::::::::::::::::..:...,+++,,,,..,,:::+:::,,,,+*,,::,:,:*######*****##########*+:*+*:,:++:::,,:++:,:++:+++,:,,::,,,,,,,,,,,,,,,,:,,,,,,,
,,,,,,,,,,,,,,,,,,,,...,,,,,,,,:::::::::,,:,,,,+*+,.,,,,,,:++++++:.:#**,,:**##***********###########*****+**#***:****::+,,+++,:,,,,,.::,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::...,::::::::::::::::,,,,,,.:*+,,,,,,,,,++++++:,:*++**.:::::::::::+:::::::.,.,###*++,*:,,.,*+:.::*:*+::++::::,::++::,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,.......,:::::::::::::+::,,,.,,.:*+:.,,,,,,,++++++:,,+*:+*,*::::::::::+::::::++*:,::,:++,+:,,,:*++,,,:+***+++*:+:..:++:::,,,,,,,,,,,,,,,,,,,,,,,
,,..,,,,,,,,...,...... ,::::::,::::::+++,,:,,,.:++:,,,::,,,,,..................:    . .::+**+:*:**::+*+++:::++++++*+++++++++++::::::::::::::::::::::::::,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::::::::::+++++,.*#####***##*#:+*#+::,..,.++..:::::::::,:::::::::::+++::::::::::::::::::::::::::::::::,,,,,,,,,,,
::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+,,,,,,.,:,,,.,+ *##*########,*#*#+:+....,,,,... *+ .,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,, ::############+**###+++,..,,,,,.,,..,**: .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::,,:::::::::::::::::::,,,,,,,,,,,,,,,,*. +,:,###+#######*#######:**+:,,,,.,,:++::,++*+ .           ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::,,::,,,,::::::::::,.,,,,,,,,,,,,,,,* +##**::##########*:**####*****+++*++:..       ............. .,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::::::::,,:::::::::::::::::+*:..  . *###*****++:..      ......,..,........................... :::.+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,:::::::::::::::,,.    ..,,,,,,:,.,:,...........................,......,,,........,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,:::::::::::::::::::,.   ..,,,,,,,:::::::::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,   ...,,,,...,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,::::::::+::::::..   .,,:,,,..      ..,,,,,,,,:,::::::,,,,..  ....,,,,,,,,,,,,,,,,,,,,.,*##*::*#####***+:++****#+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*###############*++:::....,,,,..  .*####*....:++++*:++,,,,,,,,,::+****########****++++++:,*##,##:#:*+*##############,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
********************************####****####,,####**++++++++++++++++++++++********++++*+:*##*#++.,::+:#*########**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**********************#*******######***+#####+:+++********************++++++++++++**++**####*+*:*,.,:,**++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
######################################**#*####+***********************++******+++*###########*,.+ +:.*#:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
###**#*################################**:####:::+#################################+::::::###########*++****++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
****++++###############***#############**+###########*,,:::::::::::::::::*#######****#####**++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,:
****###############*********:,,,:######*+*::::::::::::+++++***###***::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,+#######::::::++****#*#####**+++::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,,,,,:,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,::::,,,,,,,,,
++*****+++::,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,::,,,,:,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,::::,,,,,,::,,::,,::,,,
,,,,::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,:,,::,,::::::::::::::::::::::::::::::::,,,::::::::+:+#**+#*+*::::**###*::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::+:::::,:::::::::::::::::::::::::,,::::,::::+++,,,,,,:***#+**#*:*:::,**##*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,.,.::::::,... ,:++*:,.:,:::+*##*+**#*:++,,:***##++++++::::::,,,,,,,.+****::+,,,,,...
,,,,,,,,,+++**++::,,,,,,,,,,,,,,,,....,,.. ..,,,,,,,:,::::::::::::::+:::::::::::::::::::::::+*::::+::::*##*****+***+::***##*+++++,#+*.+:,:++**+*+++++++::++::,+
**++,:::+++*##*+++++:+,:*+,,,,..,...,,.....::::::::::::::+++:::::::::::::::::+::::::::+:::,:+***::,,+::,####**#+,,*:,,+#:#++::,,,,,,::::,,,:*++:****+****::****
:::,+***#*..******.,**::::::,,::++*++:+:::::++++::::,::+++++::::::::++*:::*++++*+:::++::,::+**#*,,:::+::####*+#+:#*+::+:,+++,:::::::,,,,,,::::+,,++,:::++++++**
,:::+::::::+::,::,::+++*++++:+:+**+++++++**+++*+++:+++::+:+:::+:++:::+++,,++::++++++***+*******#:::,,,::###***#*+*+*::::,:+:,,::::::::::::,,,,,,::::,::::,,,,,:
++::::::::**+:+++*++++:++++++:::++***++:::,,:+*++:++++:::::::++++++++++++++:+++*++::::+++++***##****++++##******#++*+:::::*+,,,,,,::::::::::::::,,,,,,::::,,,,,
::,,,,,,::,++,,+*,:::,:::::::::::::,+++,    ...:+:........,,,:++..........,:::::::::::::::++***#*###***####****#+++*++:+++*+,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,
::,,,,::::,:::::::::,,:::::::::++++:.,,,,,,,......,,,.......,,,,,,::,.,,,,,,,:::::::::,:,,,,:***##########*:++**::::*::::::,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::::::::,,,,,,,,,,,,::::::::::::,,,,..,:+:..,,::.,::++:::.,,,,, ,+++**+++++++++++*+*#########**::*++++:+*:,,,,:,,,,,::,,,,,,,,,,,,,::::::::::::::::
::::::::::::::::::::::::,,,,,,,,,,,:::::::,:..:...,:++.......,:::::::,....++,+::::++*:+::::::#:*####****#**::*+,,:::++::::,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,
,,,,,,:+:::::,:+:*:,,,,,,:,,,,,,,,,:::::::::,,,....:*+,...,,,.:::::::,..,:###*.::::+**::,,:++:**###+*****++:,++:::,::+::::::::,,::,,,,::::::::::::::::::::,,,,,
::::::++,,,:+:*#*##*::::::::,,::,,,:::::::::,,,...,:++,,....,.:::::::,,..+:+*#+*+,:+**++::+#*:**##**:,+***+:+:++++:*++:,:,+:::++++:+::::,::,,,,,,,,,,,,,,,,,,,,
,,,,,,::,,:,::+++++:,,,,,,.,,,::::::::::::::..,...,:++,,,...,.,::+::+,,,,:*.,::::,,*#########,**########**+,*++:::+*::+,,,:+:::+*++++,:,,::,,,,,,,,,,,,,,,,:,,,
,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,::::::::,,,,,,.:**,,,,,,,.,++++++,,:***,::*+**#*********#*##########*#***+#*****:***+,**,,:++:,:::::,::,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,..,:,..,::::::::::::::::,,,,,,,,**:,,,,,.,::+++++:,,*++:*,+::+:::::::+:::::::..,.*###*+:*:,,,,++:..::+++::++++++::+:++::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,........::::::::::::::::,,,,,,,,**:,,,,,,,::++++:+,,:++::,*::+::::::::::::::+++,,,:,:*:,++,,,:+++,,,,:+***++++*+..,:++::,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,..,,........:::::::::::::+:::,,,,,.,+++,,,,,,,,,:,...........,,.,,,,:++***++++**+:+:*#::+*::+:::::+++:++++*++++++++:::::::::::::::::::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,...:**#########,:*#*,::,.:+*,.,::::::::,,,,,,,:,,::::,,::::::::::::::::::::::::::::::::::::,,,,,,,,,
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:.,,,,,,,,,,,,+. ##*#######*:*###+++,....,,. ..:*,.,::,,,,,,,,::::++++::::::::::::++:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::,,:,:,,,,,,,,,,,,,,,* ,:*#####****##:,:+##++*... .,,,, .  ,*+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::::::::::,,::::::::::::,+..,,,,,,,,,,,,,+. +::,###**##############+++:+::.....,++++++*#:.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::,,,,::,,,,,::::,,,,,,,,,,,,,,,,+.,***:::###*#####**+######*****,,,+:++++++++++:,.     ........,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+:,,,  ####**+*##*******+::     .....,............................. ..++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,::::::::::,::::,,..   ..,,,,.. ,:......................*#*:.....................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,::::::::::::::::::::::,.    ..,,,,,,:::::::::::::,,,,,..............,,,,,,,,,,,,,,,,,,..      ......  ..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,:::::::::+::::,.. ..,,,,,,.........,::::::::::,,,,,,,,::::::::,,....  ....,,,,,,,,,,...,*########+:+**##**++**#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
***********+*+..  ,.....,,.....    .. ....     .,,::+::,::,,,,,,,,,,,,,::++********###*,:*##,*#+*#:*##############*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########,,########********+*####***###*,.+++***#########**++++++++++++++++++++++++++::###,#:,++******###########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**************+++++********#####****#*####+,++++++**************************+++++++++++###*:+:++:,,::**######**:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
##############*****#################*######*++******************++++++++++******++++:*#####*:,:.*..,*#::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,
####################################+*#*###*+*++****++:::+**######*##################,++#####*... *#*:::+++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
++++################################**+*##############****++::,,,,::::##########*::::::::+########**++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,
**++*##########*+::+++++::::::######*++*::::::,,::::::::::::::::::++++**##**::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++*******#########::::::::,,:::#######******####**++::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,
::,,:::::+**########**::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::,,,,,,,,::::::,
,,,,,,,,,,::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::::::::,,,,::::::::::::++++::::::::::,,,,,,:::,,,,,,,::::::::::::::::::::::::::,:+,,:::::::::+:*#*#+#++*,:::**###+::::::::,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::+:*::,,,,,,:*******#::*:,::***#*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,+.:+:+::,....,:+++:,,:,,,:+**#****#+:*+,::***##++::::,,:::::,,,,,,,*****::::,,
,,,,,,,,,,,,,,:::++::,,,,,,,,,,,,,,,,,,,..,,,... ...,,,,,:,:::::::::::::::::::,::::::::::::::,::++*+::++:::+*##*****++**::+*#####+::+*,*++.+:,:*+**+*+::::++::+
.+*****+*:,,,:++*##*++:+:,+::+,,,,,,......,,...,*+::::+:::::::+++:::::::::::::::::+:::::::::::::+****::,,::::###***#::,+,,,+#+*+::::,,,,,,::,,:,:*:+:+*+*+****+
*+++++,,:+*****,.******,,#*+:::,,,,::+:++:+:::::+++:+:::::::++*+::::::::+:++::::++++++::::::::::+****,,,::+::####**#+:**+::*:,*+:,::::::::,,,,::::++.,+*:::::::
**+++,::::::::::*:::::::++++*++++::+++++**++***+++++++++++:::::+::::::+:::++::,++::++*+++***+******#*::::::::###***#**++*,:::::+:,,:::::::::::::,,,,::::::++::,
:::++++++++::::***::+**+++++++*+++:::++*+*++::::::+*++:++++:::+::::+++++++++*++:++++*:+:::++++++****#****++++###**+#+#++*+:::,:*+,,,,,,,::::::::::::,,,,,,,:::,
::::::::,,,,::::++::+*::::::+:::,,::::::::++:,....,:+++:,,....,:+:+:*:..  ....,:::++::++::::+:::+***######**###*****#+++**+++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::,,::,,::::+:::+:::,,,,::::::::++++:.,,,,,,,.......,,........,,,,,,,,........::::::::::::,,,:***#*########*+++**::::*::,:::::::::,,::,,,,,,,,,,,,,,,,,,,,,
::,,,,::::::::::::::::::,,,,,,,,,,,,:::::::::::::......,++:,..,,,,,::+++::,,::,, .+++***++++++++*+*+*#####*###+*::**::,,:*:,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::
,,,,,,,,::,,,,::::::::::::::,,,,,,,,,,,,:::::::::..,..,.+++.......,:::::::..,,,:+,:+::++**:+::::::#:####********::*+,,:::+::::::::,,,,,,:::,,,,,,,,,::::::::::,
::::,,,,,,,::,::,+,,:++,,,,,:,:,,,,,,,,,::,,,,:::,.,,,,.:++,......,,::::::,,,.,###*,::::+++:,,:,+*++*###******:::,++::::::+::::,::::::::,,,,::::::::::::::::::,
::::::::::,::,,,:*:*####+:::::::,,,,,,,,,::::::::,,,,,.,:++,,,.....,::::::,,..*++**++:,,+**++:,+#*:+*###+:,+***+++:*++*+*+*:,::+,,,:+++:::+,,,::,,,,,,,,,,,,,,,
::::,,,,,,,::::::+++*:**+:,,,,,,,,:::::::::::::::,.,...,:++,..,,...,::::::,,.,:*,,,:::,:**########,**#######***+,*++:,::++:*,,.,::::+*+:++::,,,:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,::::::::,.,,,.,:*+,,,,,,,.,++++++,,+***::+**#******###***###########*##**+**##**:****+++:,,++:,::+:::::,,,,,,,,,,,:,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,..,..,::::::::::::::::,,,,,.,,*+:,,,,..,,++++++:,,++++#,+:::,::::::+::::::: ..,**##*++++::::+++,,,:+:++::++:::::::++:,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....::::::::::::::::,,,,,,,,**:,,,,,,.,++++++:,,:+*:+,*::+:::::::::::::::++,,,:,:+,,:+,,,::++,,,,+*++++++:++,..:++::,,,,,,,,,,,,,,
,,,:,,,,,,,,,,,,,,,,,,,,,,.......:::::::,:::::::::,,,,..,**+,,,,,,,,::,,,,,,::++++::::++++++++++**+***:+:**+::*:,++,,,::++,:++++++++++::::::::::::::::,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,............. .,:+*###### :***+++::+*+,.,::::::,,,,,,:::,,,:,:,:,,,::::,,::::::::::::::::::::::::::::::,,::,,,,,
,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,::::,,,::+,,,,,,,,,,,,:+ :##:*######,*##**+*+.,,,,:....:*, ,,,,,,,,,,,,,::::::::++++++++++++++++++++:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::+,,,,,,,,,,,,.,+. +,######***###+:+##*+*,... .,,,,,:,.*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,::::::::::::::,,::::,:,.,,,,,,,,,,,,,,*  +:::###:##############*+*:::,,,,,,,:++++++#: .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,:::,.,,,,,,,,,,,,,,:: ,:::::+##########+*#####*#+**+,,:,.,,:::::++++**,            .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,::::::::,+**++*****+:::+++:*. #####*######*###***++***++,,   .  ............................  ++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,,,,,,,,,::,,::::::::::::+++,,.    ..... ,++     .................,***+..................,,.........,++,.**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::,..    ..,,,,,,::::::::,::,,,......................,,,,:,,,,,,,,...      .,::::::,,....  ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,:::::::+::+::::,.. ...,,,,........::::::::+:::::::,,,,,,,,,,,,,,::::::::,,..  ......,. ..,*#####*,.,::::::::++**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++::+:.... ....,,,....         .,:+:+:,,    ....,,,,,,::::,,,,::,,,,,,,,,,:++*#*,.:##*:*#*:***##++**########*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#######+:*#+::::*:::++****++#####**###,.,:,,,,::+++****#**########**+++++++++++++++++::*##:#::+#*+:**############+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##################*******#####****#*####,:++++++++++++++++++******************++++++++###**:*,,:*#*:#*##########,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
****######*******#**##########***###*####::+**************++++++++++++++++******++***####*:,+, .#+:+#+::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,
#################################*,##*###+************++********:::+**###############*#####+,.**..#*::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+*###############################**#+*############################**############+,:::::+##########*+********+:::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,
++############********###########*#*:#######++::,:,:::::,,,,:::::::::,+########*###***:::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,
##############********+:::,,#######*#:::::::::++++********+:::,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::,
::,,::,:######*:+++*****########*+::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,::,,,,::::::::,,,,,,,,,,:
::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::
,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::::::::::::::,,,,::::::::::::++++::::::::::,,,,,,::::,,,,,,::::::::::::::::::::::::::,::,::::::::::*:+#**+#*:*::::**##**::::::,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:+,::::::::::::::::::::::::::::::::*++,,:,,,:****+**#*:*:,,:**##*+,,,,,,,,,,,,,,,,,,,,,,,,
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,:,,+.,+::::,....,:+:*::.:,,,++***#***#*:++,,:***##*+++++:,:::::,,,,,,,,****
,,,,,,,,,,,,,,,,,,,,::+++:::,,,,,,,,,,,,,,,,,,...,,...... ,,,,,:,,::::::::::::::::::,,::::::::::::::::++*::+:*:::+*#*****#++**+::*###**+:+++,#*+.::,,*+***+*+++
#...::,+*****+*:,:,:++****++::+:*::*:.,,,,..,,........:::,::+:::::::+++:::::::::::::::::++:::::::::::::+***:,:,::::*###**#+::*:,,+*+*++:::,,,,,,::,,,,:+*+:+**+
*:**#**+++++:,::*****,.:*****:.#*+::::,,,::+:+:+:+::::+++++::::,::+++++::::::::++*:::+++++++:::::::::::*#*#,,,,::::###*#*#*:*+*::++,++::,:::::::,,,,:::::::.+*:
++++:***++*,::::::::::::::::::::+:*++++:+++++++*++****+++++++++++::+:+::::::+:::++::,++::++***+***+*****#**:::,,,,:###*****+*+*::::,+::,::::::::::::::,,,,:::::
+:::::::::++++++++:::+#*::+**++++++:++++:::++**+++::::::+**+:++++::::::::+++++++++*++::+++*++:::++++++****#***#++++####****#++*+:::::*::,,,,,,::::::::::::::,,,
,,:::,::::::::,,,,,,:::*:::*:,::::::::::::::::,:++:,  ...,:++:.......,+:+:*:..  .....,,:::::++:::::+::++#**#####**###***+*#*++**+++++++:,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,,,::,,,,,,,,:::+:::+::,,,,::::::::++++:,.,..,,,.......,,........,,,,,,,,,,,,,.,,::::::::::::,,:,***#*########*++***::::+:::::::,::::,,::,,,,,,,,,,,,,,,
,,::,,::,,,,,,::::::::::::::::,,,,,,,,,,,,:::::::::::::,,,..,.,::...,,,,,:::++::,,:::, .++++**++++++++*+:**#########*+::**+:::+*+,,,,,,,,,,,,,::,,,,,,,,,,:::::
::,,,,,,,,,,,,::::,,::::::::::::::,,,,,,,,,,,,,::::::::,,,..,.:++,......,:::::::....,,+,:+::+++*::::::::*+*###******#+::*+:,::::+:::::::,,,,,,,,:,,,,,,,,,:::::
::::::,,::::,,,,,:::::::,,:+++,,,,,,:,,,,,,,,,,::::::::,.,..,,,++,....,,.,::::::,....###*:::::+**::::,:*+***##*******::,++:::,::++::,::::::,:,,,,,:::::::::::::
::::::::::::::::::+:,,:+:+####*:::::::,,,,::,,,::::::::,,,,,,,,++,.......,:::::::,,.*:++***+,,++*++::+#*:+*###*+::***+:+:+++*+++++,:,+,,,:+++:::::,,,:,,,,,,,,,
::::::,,,,,,,,,,,,:,,,,::++:**+:,,,,,,,,::::::::::::::::.,,,,,,++,,,,,...,:::::::,,,,#..,:::,:+#########:**##########:,*+++,,:++:*,,.,::::+++:++::,,,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,:::::::::,,,,,,,*+:,,,,,,,,++++++:,++**,:,*+*******####***##############*+**###*+****:++:,,++:,::::::,:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...:::::::::::::::::..,.,,,+++,,,,...,:+++++:,,+*+,#+:::+:::::::+:::::::,...*###*:*++:::::++,,,:+:+++::::::::::::::,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,:+:::::::::::::,,,.,,,+**,,,,,,,,:+++++:,,:+*::+:::+:::::::::::::::++:,,,,,*:::+,,,,:++,,,,:****++++:+:..::::::,,,,,,,
,,,,,,,,,:,,,,,,,,,,,,,,,,,,.......... ,::::::,::::::+::,,:,,,,+++,,,,,,,,:,,,,,::::+*++::::++**++++++**+***:::+*++:*:::+:,,::++:+*+++++++++:::::::::::::::::::
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,.... .::+**####.+***++**+***,.::::::::::::::::::::::::,,:,:,:,,,::,,,:::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,.:,:,,,,,,,,,,,,,,* *##:######*:##*#*+#*..,,,, .,.,*:..,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::::::++:::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,*. ::######***##****##*++:,..  ,,,,,,::**..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,,,,,:::::::::::::.,,,,,,,,,,,,,,,+ .+::+###+**############*:*++:,.,,,,.,::::+**+ .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,::::::::::::::::::::::,.,,,,,,,,,,,,,,+: ::::::*##########*########++*+:,,:,,,,.,,,,+++***          ..  ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,:::,:**:::+**++:,::::::*. #*###**##########**+*++*****+,,.     ............................::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::,,,,,,:::::::::::::::::++,...   .., +*#+..        ............,+**+.............................,+++,.**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++::::::::::::::::::::,,.     ..,,,,,,::::+:::::,,........................,,,,,,,,,,,,....    ...,,,,,::::::::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::+:::::,,.. ..,,,,,,....,::::::::::+:::::::,,,,,,,,,,,,,,,,,,::::::::,,....    ...,:+**+:...,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++:::+,.  .....:::,,.          .,,,,,:+:::,,..    ....,,,,,,,,,,,,,,,,,,,,,,,,,,,:.,:##*.:::*####*++++****####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
########*+,,,,:.,,::::,.,.,########+..,:+++++:,,,,::::++******##########****++++++++:,:##*:#:*++***##############*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########****#*********####****######,.*****+++++++++++++++++++++++********++++++++:+##*:*:*.::+*:#*###########:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
****####*******#####**######***#:######+,+++++****************++++++++++++++++++++***####,,:**+.,+.##***++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,
###############################*##**####****************++**++++******###+:+**############,,,*..:.*#::::::::::::::,,,,,,,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,
###############################***#:####::++**##################################:,:::,#######**#*#*:++++***++:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,
###############****############**#::############*:,,::,,,,,,,,,,,,:,+#########++++++::+**###++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,
###########**********,::,:######*++*,:::::::::::::::::::++++****+++:,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::,,:
:::::#########:::,,:::::::*#########**::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,::::::::,,,
****##****::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,
,,,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$::::::::::::::::::::::::::::::::::::::::::::::::::+++++++:++::::::,,,,,,,,:::,,,:::::::::::::::::::::::::::::+,,:::::::::+:*#**+#*+*::::***#**::::::,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::+:,,::::::::::::::::::::::::::,::+++,,,,:::****+**#*:*::,,***#*+,,,,,,,,,,,,,,,,,
::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,.,:.::::::,... ,:++*+:.,,,,:+**##***#+:++,,:***##**++++:,::::,,,,,,
::::,,,,,,,,,,,,,,,,,,,,,,,:++++:::,,,,,,,,,,,,,,,,,,...,,......,.,,,,:,:,::::::::::::+:::::::::::::::::::::::+*::+:+:,:+*##*****++***+:**###*+::++,#*+.+:,,++*
,,,:,+##,, :::+*****+++:,,::++*#*+++::,+,:++,,,,,,.,,,,,...,,:::::::::::::+++::::::::::::::::::+::::::::+:::,:+***::,,+:,,####**#+,:*:,,+#:#+:::::,,,,::::,,::+
::+*:***:+**#*++*++:,,+*****..+*****:.#*+::::,,,:++++++:+:::::++++::::,::+++++::::::::+++:::++++++::::+:::::,+**##:,,:::::####**#*:**+::::,++::,::::::::,,,,::,
+***++::::+:***:+*,:::++::::++::::::::::+++++:::::**++*++++**+++++++++++::+::::::::::::++::,++::++**++***+*****###::::,,,:###**+#***+*::::::::,,::::::::::::::,
+++:::::::::,:::++++++++::::+#*+:+++++++:++++++:::++***++:::,,:+*++:++++:::::::+++++++++++++::+++*++::+++++++****#****++++##******#++*+:::,:*:,,,,,,:::::::::::
:,,,,,,,,,::,,::::::,,,,,,,,::*:::*:::::::::::::::::,,+:+:......,:*+:,......,:,::+,.........:,::++++::::::+:+++****###****###*****++++*+++++*+::,,,,,,,,,,,,,,,
,,,,::,,:::::,,,::::,,,,,,::::+:::+::,,,:::::::::+++*+..,,...,.......,,.........,,,,,,,.,,,,..,:::::::::::::,,,**##*########*:+*+#::::+:::,:::::::::,,,,,,,,,,,
,,,,,,,,,,::::::,,,,::::::::::::::::::,,,,,,,,,,,,:::::::::::,,,....,:::..,,,,.,::++:::,,,::,..+++**+++++++++++++*######*##*+::*++::::*+,,,,,:,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,::::::::..,,..,:++.......,:::::::,....:+::++++++*:++:::::*+*####*****#+::*::,,:::+::::,:::,,,,,,,,,,,,,,,
::::::::::::::::::,,,,,,,:,,,:::,,:+*,,,,,,:,,,,,,,,,,::,,::::,,,.,,,:++,,..,,,.:::::::,..,.*##*,:::++++:,,,:+*:+*###*******:,:+::::,::++::,:::::,:,:::::::::::
,,,,:::::::::::::::::::::+,,,,+:**###*::::::,,,,,,,,,,::::::::,,,,,,,:++,.......,::::::,,..+:+***++,::**++::+**:+*##**:,:***+:+:++++:+++:,:,+:,,::++:::::,,,::,
::::::::::::,,,,,,,,,,,,,:,,,,::++:+*+:,,,,,.,::::::::::::::::,..,...,*+,,,,..,,,:::::::,,,:*.,,:::,,+*########:**###*####**::**++:::++,*,,,,:::::++:+::::,,:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. .,,,,,,,,::::::::,.,,,,.,*+:,,,,,,,,:+++++:,:+**::,*+*##*****#####*###########****+******:+***::::,,::+,:::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....:::::::::::::::::.,,,,.,**+,,,,,,,,:+++++:,,:*+,#++::+,:::::::::::::,,..,*****++,:::::,++:,:,+,+++++:+++:::::+::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........:::::::::::::::::,,,,,,,+*+,,,,,,,,:+++++::,:+*:+::::+:::::::::::::::++:,,:,,+:::+,,,,:++:,,,:++**++++:+:,.,++:::
,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,,,..,,......,:::,,,,:::::::::,,,,,,,+++,,,,,:::::::::::::+*+++::++++++++++++****+++:+*:::*:::+,:,::++:++++++:++++++::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............... ...::**+*.+**+*******+,.,,,::::++:::+::::::::::,,,,::::,:,,,,,:,,,:,,::,::::::::++:::::+::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:,,,,,,,,,,,,,* ,##:+#####+:####*+##+.. ,,....,+,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++:::::::::::::::
::::::::::::::::::::::::::::::::::,+,,,,,,,,,,,,,,:,.++#######**########*:+:,,...,,,,.,,+*+...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::,,,,,,,,,,,,,,::::::,.,,,,,,,,,,,,,:*  +::*###*##############*+*+::,..,,.......++*+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,:::::::::::::::,,.,,,,,,,,,,,,::+ ,+::::###########*########*+*++:,,,:,,,:::,,::*+*: .        ....,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,::,,,,,,,,,,,,,+,,.:+++*:,,:::,,:+. **###+::##########***+####********+:,,    ................... ...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,,,,,,,,,,,,::::::::::::::::::*:....   . *##*+++::,.            .......................................::+.,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++*++:::::::::::::::::::,.    ...,,,,,,,,+,,,::,.........................,..,.........................,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,:::::::::::::::,..  ...,,,,,,,:::::::::::+::::::,,,,,,,,,,,,,,,,,,,,..,,,,,,::::::::... ....,,....,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++::+::,..    .,::,:...        ..,,,,,...,,:::::::::,,..    ..,,,,,,,,,,,,,,,:,,,,,, ,,#*##**#####**********++**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#######++::::.......,,... ,*####+.....,:+++*+++:::,,,,,,,,::::+++****#****####*+**+*:,+##*:#+*#*++#*############**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
********++*************####****#####:.+*###*##****++++++++++++++++++++++++++++++++*::*##*#*:+++##*+**#########*#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++*********#*******#####**#**#######,:++++++************************+++++++++++++**###*,:+++.+#*,#*######*+:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##########**################*#***#*###*+**+***************++******++++****++*+::::**####*:::*.#...##::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,
##############################*++*:###******#*++::::****##########################,,:######+....*##:::::++++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
#############################***+*:###############**++::::,,:::::,:###########+::::::::*#########****+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,,,,
########**+::++++++:,,,+######*+:,*:::,,::,,::::::::::::,,:::::::::+++##***+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**###########:,,,,,,::,:#########+:::+++**##****::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,:::::,,,,,,:,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,::,,,,,,:::
,,:::*#####**###**++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$,,,,,,::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::::++::::+:::++++::,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,:,::::::::::+:+#***#*+*::::**##*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::++::,,,,,,:****+**#*:*::,:**##*
,,,,,,,,::::,,,,,,::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,.,:.::::::.... ,:++*:,.,,,:::*##****#+,++,,:**##*
,,,,::,,::,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++,,,,,,,,,,,,,,,,,,,,,. .:,.......,,,:,:,::::::::::::::+:::::::::::::::::::::::+*::+++:::++##*****++***++**###
,,::+*####******,.,,,:::##,. ,,::+**+++*::,,,::+##*++:,:::,+*:,,,,,,,,..,,,,,.,++::::::::::::++::::::::::::::::::+::::::+:+:::,:+***::,,+:,,####**#*::*:,,+*+**
:,::**####******+,::+*****:+**##++++*:,,:+****,.:*****,,#*::,:,,,,::::++:+::::++++++:,+:,::++++:::::::+:++::::+:++++::::+:::::,+****:,,,::::#####***:***:::+,:+
,,:+**###**++*+++++****+++::++**#:**.,::::::::++:,::::::::+*+++::::++++++++++*++++++++++++:::::::::::::::+++,,++::++**++***+********:::,,,::*##*****+*:*:::::::
:::::::::::::::::+++::::++++::::::::++++++::::,**+::+++++++:+++++:::++*+++++:::::+*++:++++:::::::+++++++++++++::+++*++::+++++++****#****++++###*+****++*+:::,:+
:::::+++:::::::::::,,,,,,,,,::::::::::,,,,,,,,::*:::+*::::::::::::,:::,:+++:,,..,,:++::,,,..,,::,::++,  ......::::++++::::::+:++*****###****###****#++++*++++++
::::::::::,,,,,,::,,,,:::::::::,,,::::,,,,,,::,:*:::+:::,,,,:::::::++++:,,,,...,.......,,.........,,,,,,,.......,:::::::::::::,,,***########*#*++*+#::::++:::::
::::::::::::::::::::,,,,,,,,::,,::,,,,::::::::::::::::::,,,,,,,,,,,,:::::::::::,......,:::....,,.,::++:::,,,::,.,:++****+++++++++++*########**+:++**:::,+*,,,,,
,,::::::::::::::::::::::::::,,,,,,,,,,,,::,,::::::::::::::::,,,,,,,,,,,,:::::::,,,,,...:++,,......:::::::,....:+,:++++++*::*:::::++*####*****#:+::++,,::,+:::::
::::::::,,,,,,::::::::::::::::::::::,,,,,,,::,,:::,:+:+.,,,,,:,,,,,,,,,,::,,,,::,,,,,,,,*+,.....,.::::::::,,.,*##*,,::++++:,,,::*+***##*******::::+++:::::+:::,
::::::::::::::,,,,,,,,::::::::::::::::::,,,+,,,,+++*###*:,::::,,,,,,,,,,::::::::,,,,,,.,*+,.,,...,,:::::::...:+*+*+++,,:**++:::*#+:*###*+:,+**+++++++++++++:,,,
,,::::,,::::::::::::::::::::::::::::,,::::::::::+++*:***:,,,,,,,,,::::::::::::::,..,..,,*+,..,,,,,,:::::+:,.,,*..,::::::#########++*########**+::+++::::+:++,,,
...,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,::::::::,.,,,,,,*+:,,,,,,,,:+++++:,,+**:+,++**************##########****++:****+++***+:
........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,...,::::::::::::::::,.,,,.,+*+,,,,,,,,:+++++::,+*++#*,+::,,::::::::::::,,..,:****:+:+:,::::+:,,,:+
,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,::::::::::::::::,,,,,,,+*+,,,,,,,,,:+:::::,:+*::+,+::::::::::::::::::+:,,::,:::,:,,,,::+:,,,,:
.,,:,,,,.,::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,..,....::::,,,:::::::::,,,,..,+*+:,.,,,,,,::,,::,:::*+++::+++++++++++++++*+::::+*:::::,::,,,::+:,:+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................... ,*........,,::::::::,,..,,++::::::::++::::::::::::,,,,,,,,:::::::,,,:,,::::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,:.,+,,,,,,,,,,:,..* ,###**+::+:###*#:*##,,,,, ., *+..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::++::::+++++++
::::::::::::::::::::::::::::::::::::,.,,,,,,,,,,,,,+. *############+:##*#:*+......,,..,. *+..:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::,,,,,,::::::::::::::::::::::,,:.,,,,,,,,,,,,,,,*  +:*############*:++*##:++.....,,,,.... .+*, ,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,::::,,,,,,::::::::,,:,,,,,,,,,,,,,,,:::: ,::::*###*###############*:*+:+::,,..,,:+*+++**** .......,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,,,,,,,,,,,:,::..,,,,,,,,,,,,,,::* ,***#:,:##########:+**#######****,,,::+++++++++++++:    ..........,+:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::,,,,,,:::::::::::::::::::::++,,,, .*####**,, ,**********++:,..  . ....  ...............................,:,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::+,,..   ....,,,,. ,:,.......................:*##*..,..............,,..........,,.+*+.,**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::,,.    ...,,,,,,,,,:::::+::,::,,,......................,,,,,,,,,,,,,,....    ....::::::::,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++++++:::::... ..,,,,,,.........,:::::::::+::::::,,,,,,..,,,,,,::::::::,,..    . ....,.. ..:*####*,...:,,::::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++:+,... .....,,,,,..          . ,::::::,...  ......,,,,,,,,,,,,,,,,,,,,,,,,,,::::+*..,**#,:*+++#####+++++****####,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
##+:#*:,,::+::::::++++:+####***###:..,::,,,:,,::++++****############******+++++++++++:,*##+##+#+*##+#*#############*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#############********####****#+*####*,:+++++++++++++++++++++++++++++********++++++++::#*##*+,+.:::,+*#############,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#####*******######**######*##**#**####::++******************++++++++++++++***********#####,,,**...,:******+:::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,:
############################+*+*##*###++**+***************++****++******#*::+:++**#########.:.+ ::.+#+::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
############################+*+#*::###+,::,+**##################################+:,:,,*######*::+###::::::::++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
############*****###########**+*,,*#############*:,,::,,::::::,,,,::##########*::::::::::*######**++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,
########**++++++++:,,,*######*::,#,,::::::,,,,::,,::::::::,,::+++*#***::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,,::::,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,
:*#########*::,,::,,::::########*+****++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,
++#*##**++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
....................................,....,::::::::,,,,,,.......................................................................................................
..................................,+*+*#,,.,,,:*+********++++++++::,...........................................................................................
...............................,+*:,:#*#,#**#:,,++++:*****+*,.,,,,,,::,,..........................................:............................................
............................,+**,+:,#*###**#####*#*:****+***::,,,,.,...,,,........................................,.........................................,,,
....................::+++++++++++++:++++++++******+,..........,,:::+++::::::+,....................................,.........................................,,,
,.................,,++++++++++++++:+++++++++++++++:,..,,.,,,,..........+++++::::::::::::,,,,......................,...............................,,...........
::,:,,::::::,,.....:+*****,:#*+++++++++++++++++++++,,,,###*, .*:..,,,.,,,,::**###########****+++,................,................................,............
:,,,,,,:,,::**....:+**** .*.#******+***************,,,##  .*. #*,,,,,.+#***:+**:*#*###**####,.*,,*.,............ ,................................,............
::::::,:,,:**+.....***** . ,.+*....:**************:..,*,  ..,,. .::::,*############################.............,,.............................................
::,,,,::::,,::,,::,,,:+*  ...**:....:**************#,.,. .#.   *#+################################*,.........,,,::,,,,,,,,...................................,,
::,,,,,,,,,,,,,,,,,,,,,+:  ,**##*+:+**++++++:::::::,:,**   .##:  *###############################*,,,,..,,,,.,,+++,,,,,,,,,,.,,,,,,,,,..,,,,,,,,.,...........,,
::,,,,,,,,::::,,,,,,,,,,::+++***********#################*#+,:#############################:::,,,,,,,,,,,,,,,,,,..,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,
,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::****####################****++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:
::++::,,,,,,:,,,,,,,.,,,,,..,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++:+++++**+*+,::+++**++******+*+++*+******++::+::,:::,,,,,,:++:+::::,:,,,,,,,,,,,::,,,,,:,..........,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++++++++++++++++++++++++++:::.,*+:+*,,***++++++++*,+**+,:+++***::::++:+++++++::++++*+:+*+::++++++::::::::::+:::,:++::,:,:::,,::::::::::::+::,::,:,,,,,,,,,,,,,
+++++++++++*+++++++++*++++++++++++++++++:+++**+++*+++++::+:++++::++++:::++++:+++++++:++:**++++++::::::::*+::***++++:+***++++++**:+++*++:+++++++++:++**++::+++++
********++++++*******+++**+++++**+++****++++++++++++++++::+**+++++**+::++**+::+++++:::::::++++++++::::+:+++::::::+*+++++*+*+++**+:++:+:++:++++++++*+*:++++::::+
:::::::::::::::::::::::::::::::::::::,::::::::,:::,,:,::,,:::::+,,:,+:,::+++++++++,:++******++:+++*++*++::++++***+::*++++++**+**+++,:**+++:+++++:::::::,::+++++
::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::,:::::,::++:+++::,,,,,:,::::::,,,,::++++++:+++++++++::::++:::::+:+*++++++++++++::::+**+++::**+::::+++++++++++*+++**
::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,:::::+*+::::,,::::,,,,,,,,,,,,,,,,,::,::,,::::::,,,,,,,,,,,,,,,:::::::++:+++++::++**++:+++++++:::+*++++++++:::::++++++*++
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,+,,,,+++:,,,,,,,,,,,,,,,:,,::,,::::::+++++:,,,,::,:,,:::,,,,::::+*++:::::,::+++++::,
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:,,,,,,,,,,,,:,,,:::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,::,:,,,,,,,,,,,,,,,,,::,,,,::+:++::++::
,,,,,,::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,+,,,,,:,:::,,,,,,,,,,,,::,,,,,,,,,,,,,:,,,,,,,,,,,,,:
,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::....,,,,,,:,,,,:++:,,,,,,,::,,,,::::::+:+++++:::,,,...,,.,:,,,,,,,,,,,,,,,,,,
,,,,:::::::,,,,,,,..,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,:+:,,,,,,,,,,,,,,,,,,:++++::+:,:,,:,,,.,,,,,:,,,,,,,,,::,,,,,,,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.........................................:+**#####*+*#*******+:,,..............................................................................................
....................................:+*:,#*:,*#*,,,:**+:****++::::::::,:.......................................................................................
.................................:+*+,,,#**:#####:::,*:#********,,,,,,,,,::,...............................,............................................,,,,,,,
......................,.....,,::**++***################*+#*******:,,,,,,,,,,::+:,..........................,...................................................
......................::++++++++++++++:++++++++++++++++:............,,::::++:::::,,,,,....,,..............,,..............................,,...................
......................++++++++++++++++++#*++++++++++++:,,,,,,,+**:...........+++++++++:::::::::,,.........,,...............................,...................
,,,:::,..............:++***#,:*:**+++++++++++++++++++++:,,,*##*:.,.,:,,,.,,,,.. .,****###########****:....,,...................................................
,,,+**,..............+*****.....:***++++***************:::+#* . +#..*+,,,,,,####*+*#+*##########*::: *,..::....................................................
:++***,,,,,,::,...... +***+ . . :*:....****************....*  +* . .+#:,,,,:###########################*  ,..........................................,.........
,,,,,,,,,,,,,,.,,,,,,,,,,:* .,,:***.............::++***#*..*.     .,**.################################,+++,,,,,,,,,,,,,..,,..............,..........,,,,......
::::::::::::::::::,,,,:::::+++***#*#::,:++**+********++++::#*: .## #.,################################:,:+,...,,,,,,,,,,,,,,,,,,,,,,,,,,,:,.,,......,,......,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++**#############***################**########:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,
++++::::,,,,::++::+::,,,::::,,::+::::+:,,,..,...,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++++:++++*+++++**++++**++++*+++:+++++:+.::+++++::+:+**+***+++++++:::::+:+:+:::++:::::,,:,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,
++**++++++++++:++++:,,,+++**+::,:***+*+++::+::++:+*+++::::::::++:::::*:::+*+*+*+**::+++*++::++::+:+::++::+:::+++:::::::++:++++,:++::::+++:::*+:+++:+**+++++++++
++**++++++++++**++++++++++:+++++++++++++********+*++*++++:++++::++++*+++++*::::++****+++++++:,:,++++::+**+*:+***++++*+:+++:::+++:++++++:,:::+++++++++:++*++++++
:::++++*****++::++++++++++**++++++++++++::::::++*+++++****++::,+*+::++:++*++++++++++++::++++*+:+::++++++++::::++++++*+:+::,::+++::+:++::::::::::**+***++:::::::
::::::::::::::,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::,:,:,,,,,,::::++++++:+:+++++::++++++++:++++:::++++::+++:,:++*+++++++:::**+**++*++:+++++::+++++*++:::+::::::
:,,,,,,,,,,,,,,,,,,,,,,,:::::::::++++:::::++::::::::::,,,,::,,:,::::::::++:+::::,,,,,,:++:::++::::::,+:::+::+++++++++++::+++++++++++++++:+*++++*++**+++*+++++++
::,,,,::,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,:,,,,,,,:,,,,,,,,,,,,:::,,:++::+::,,,,,,,,,,,,,:::::::,,:+#*++++++::::+:,:++:,,:::::+*#**+:::::+**+:,++:,:*+++++:::
,,,,,,,,,,,,,,:::,,,,,,,,,,,..,,,,,,,:,,,,,,,,,,,+,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,::,,,,,,::,,,,,,,,,,,,,,:::,::::*****++**+::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,
,,,,,,,,,,,,::::,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,.,,,,,:,,,,,,,,:,,::,:,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,:,,,,,,,,,,,:,,,,,,,,,,,,,,
+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,..,,..,,,,:,,,,,,,,,,,,,:::+*:,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++*******++:,,,,,,,,,.,,,,,.,,:,,,:,,,,,,,,,,,,,:
::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,..,,....,,,,,,,,,,,,,,,,,.,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,:,,,,::,,,,::,,::,,,,,,,,,,,,,,,,,:::,,,,,,,,,,:,,,,,,:,,,,,,,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.........................................,***##########*********++++*+:,....................................................................................,,,
......................................:+#+,:#*:,####::,,*+******++++:,,,.::,.......................,....................................................,,,,,,,
..................................,::**:,,,#**:#########+#++#******:,,,,,,,,,:::...................,....................................................,,,,,,,
.........................,++++++++++++++++******############:*******#*****+++::,::*:...............,..............................,,...........................
........................,:++++++++++++++::+++++++++++++++++:......,,........::+:::::::,,,,,,......,,...............................,...................,,,.....
........................:+++*+*#*#*:++++++*+*++++++++++++++:,,,,,:#####:...........+::++++++:::::::::,.............................,...................,,,.....
.......................:*****#.,**:***++*++++++++++++++++++:,,,+##* ,,:,::,,,..,    ,:,:+,+*##########****.............................................,,,.....
........,..............,*****,.,.: ,***********************::::#*  ++. +.,:,,,,,,###**:**+**##########+*.:+............................................,.......
,,,,,,::,,,...,,,,,,,,,,.,***.  ..:+**....,***************#,...:+    . . ##:+++++###########################..................................,,,......,.......
,,,,,,,,,,,,,,,,,,,,,...,,,,*#  ,.+**#,,..............,...,+*,.+*  +#  ,  .+##################***##########+,,,,,,,,,,..,,,,,,,,..,,..........,,,......,.......
::::::::::::::::::::,,,,::::::+***####::::+++:::***###**##******##,   ##  **#########*####################*,,,,,,,,,,,,,,,,,,,,,,,,...,,..,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::****##*###****#########################+:::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::++:::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::++++++*++*+++++++++++**+*+:*:,,,,,,,,,,,,:::::,,,,,,,,....,,,,..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++:+++*+:+++:++++:::++++*++++*++++++::+++******++**+*+++:+++++++++++++::++::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,
++*++++++++:++++**+*,,::+***+***++++::++*++:+++:::++++++:+++:+:+++++:+*::::+++++++++::+++,:+++,:++,:+*++:+++++:+,+++:,+::::+::::::++++++++++:::+**+++++++++*++*
+*+++++*++++*+++++++*+*++++++:++++++++***+++*+++++++,:++*++++++:++**++::+***++++++:++++,++++:+++**:,:+:+++++:+++++:::++:::++++++::++,:++++++::++++++:+***+**+*:
++::::::::++++++*+::::::::+++:::::,,,,::++++*++*+**++::,+++++++:+++++*+++++++++++++++*++::++**++*+:::++++++**+**+:+++*++*:::::::::::::::+****+++:::::,::,,:::::
::::::,,,,::::::,,,,,,::::::::::::,:::::::::,,,,,,,,,:::,:,,:::+++:++++++++:::::++++++::++++++++++:::+++++:::++++++++++*+:+++++++++::::+**+++++::::::::::::::::
,,,,,,::::::,,,,::::::::++++*+::::::::::::,,,,,,,,::,,,,,,:,:::::::+++,,,,,,,,,,:,:::::+,::::+++++++::++*+::::+++++:++:::+++++++:,:::+++*+***+++::::::::::::++*
,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,.,.,::.,::,,::,,,,,,,,,,,,::,,,+++++:,,,,,,,:,,,,,:+::,,:::::::+****+:::::+::::::::,::::+++**+,,::::+++::++:::::++++++::::+::::
,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:,,::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::,,,,,:,::,,,,,,,,,,,,,,,,,:,,,,:,::+++++*+++++++,,,::::,::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:,,,,,,,::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
:,,::,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,....,,,,,,,,,,,,:::,,,,,,:::,,,,,,,,:::::::++::,,,,....,,,:,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,....,,,,,,,,,,,,,,,,,,,,+++:,,..,,,,.,,,,,,,,,,,,,,,,,,,::++++****:::,::,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,.,,,,,,,,::,,,,,,,,,,,.,,,,,....,,,,,,,,,,,,,,::,,,,,,,,::++++::::,,,,,,,,,,,,,,,,,,::,,,,,,,:::::,:::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............................................ ...........,..,...................................................................................................
...........................................,:***##*:+*#####+*******+++++++:,..............................................................................,,,,,
........................................:+**,,+#**,####:+:,.*:*****+++::..,,:,,,............,...........................................................,,,,,,,
.....................................:++*+:,,+#*#:##*#########++******,,,,,,,,,,::,,........................................................,,,,........,,,,,,,
..........................,,+++++++++++++++++:++++++++****#####+..,:+***+++++*****+:::+....,..............................,,................................,,,
...........................+++++++++++++++++:++++++++++++++++++,........,........,::::::::::,,,,...........................,...................,,,.............
..........................,+++++*#*#**+++++++++++++++++++++++++,,,,,,*###**#:...........::++++++++:::::::,,....................................,...............
........................,:+*****+.:+::*#**+++++++++++++++++++++:,,:*#*+..,..::,,,,..,.,.,,.,*+,+*#########****.................................,...............
....................,,,.,,****** ..,,.**....,+******##********+::::#*  ,*+  ##+,,,,,,#####**##############+*+*:,...............................,...............
:,,,,,,,,,,,,,,.,,,,:,,,,,,:,+**  . .+**+...,.*****************:,..:* .+.  . .*,################################.....................,,,,......,...............
,,,,,,,,,,,,....,,,,,,,,,,,,,,:*:  +:****::,,,,,.........,,,::,:,..**  + .+  #,+###################**##########:,,,,,,,,..,,..........,,,......,...............
::::::::::::,,,,,,,,,,,,::::::::+*****##*+++++++:+******#############*:  .+,.,###########***################***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++*******####***#########################::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::**+***:::::::
,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
******++++++*****+*,++,::::::,,,,,,:++:::,::,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+++::::+:*+*:,:+*++**:::++::+*++:+++***++++:+*++++++::+++++++:++++::+++++:::::::::::::,,::::::::,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:+++++++++++++:+++******+*++++++++:+*++::++++,:+++++*+++++*+:++:**+:++++::::,:+:*:::+*+:+:+,+***++++++**+:+:+:++:+++++++:++++*+::+:+++**++++**+++:+::+#*+++:++*
*+**++++++****++**+++++:++++++**:++*++**++**:+:+*+++++++++++:+::::++++++++:++++:++::+:::++*+++++++++++*++:+:::++,,::++:::+++:++:++:::++:+++::+:+**+:++:+++,:++*
::::+++++::::,:::::::::::,,,,,,,:+**::++,,::+:,::++++++:++::*+**+++*+:++++++**++::++*****+,++++++++*****++:,+**+:,::++::::::::,:+++++:++::::::,,::++:::+++:::::
,,::::::,,,,,:::::::::::::,:::+:::::,,:,,,,,,:::,,,,::::+++:+++++++++:++:::::::::+::+++++++++*++++:,:::**++++,*+:+::++++:+++++++*+++++::::,::::,::,,:::++::::::
::,,,,,:::,,:::::+++++::,,::::::,,,,,,,,,,,,,,,,::::::::,:::::,,,,,,,,,,,,,,,:::,:::*::+++++::++*+:::++:+++:::+++++++::+++::++:::+:,**+:::::,,::::::::::++::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::,,,,,,,,,,,:+:,,::++::,,,,,,,,,,,,,,,,,,,,::::::++++++::::,,,,:,,,::,,,,::::+*:+::::::::+++++::.:+::::+:::+++::+:::::::,,
,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,:,,,,::::::,,::,,,,,:,,::,:::::::::::::::,
,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,,,,,::,,:::
,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+::,,,,,,,,,::,,.,,,,,,,,,,,,:+::,,,,,,,:,,,,,:::::++++++++:::,,,,,..,,,,,...,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,...,,,,,,,,,,,,,,,.,,,:,,,..,,,,,::,,,,,::,,,,,,,,,,,,::+::,::,,,,,,,,,,,,,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,::,,,,::,,:
::::::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::++++::::,,,,,,::,,::,,,,,:::::,,,,,:::,,:,,,,,,,:::,,,,,,,,,.,,,,,:,,,,,::,,,,,,,,,,,,.,,,,,,,,,,,::,:,,,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
....................................................:::+++++++:::::,,.....,.,..................................................................................
.............................................::*#::#**:.,,,+####+****+++++::::+:........................................................,,,,,,,,,,,,,,,,,,,,,,,
..........................................::*#:,,,###*#**#+::,,###:****++,,,,,.,.:.:....................................................,,,,,,,,,,,,,,,,,,,,,,,
......................................,:++*,.:+*###*,*#*###+*####*#*:***+:,,,,,,,,,,::,,........................................................,,,,,,,,,,,,,,,
.............................+++++++++++++++++++:+++++++++++******++:.......,,::::++:::+::......................................................,,,,,,,,,,,,,,,
............................,+++++++++++++++++++:+++++++++++++++++++:,....,,,,,,,........,+::::::::,,,,,,,..................,,...................,,,,,,,,,,,,,,
..................,,....,,,,:++++++#*.,+#*++++++++++++++++++++++++++:,,,,,*##***##*,......   . ,.*++++++::::::,,........................................,,.....
..........,,....:::::::::::+******#...,+:*#+**++++++++++++++++++++++:,,,+##*.. .##:,#,,,,.+,,.. .,++,:**#######*+++:........,,..........................,,..,,.
..,..,,,,::,+***+**+++..:+::#****#. ....:+*+.....*************######***+##. :#. , .,,#,,,,,,#####*#############+*+*:,......................................,,..
::::,,::,,..,,,,,,,,:::::::,..,:**: ,+ ,.***.....,****************##*:,.,*       .,#++###############################,......,.............................*:,,.
,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,..,++: ..:***#*+::::::::,,,,....,,,,:,:,,.*#+  #, ** ..*##################**##########+,....................................*,:+.
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++*#**######******########################:.. , ,#############*##################*,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,:**:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::****##**##################**#######+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++**:::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++:,,:++:++:::++++*+*+++++:::::::::::+::::,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
*+*+:++++*++++++++:+:::::::+++++++++++***++++++::+*##*++++++::::++++:::+++::::++++++::::::::::::::::::::::::::++::::::::::::+++++++::::::::::::::+++:+++++++++*
++++****++++*+++*+++:+++**+++*+++::**+:::::++***+:++::::,:::::+:::++::+++*****++++++:+:::+++::++++++,+++,:++++++:++++:++++++*+**++:+*******++:::::++::::::::::+
++++++++++++++++++++****+::**++++++*++++::++++++++::+++++++++++++++:+++*:++++++++++++++:,+++,,:::::::::::::+*+**++::::::::::::::::::::::,:::::::,,::::,:::::,,:
:::::::::::::::::::,,,,::+:::+++++++:++:++++++++**++*+++++++++++++::+++:,:++++++****+::****+:+++::++:::::+++++++::::::::,,,,::::::::::::,+,,::,,::::::,,,,:,::,
::::::::+++++*:::,,,::::::::::,,::++++++++::::::::+:++::++::+::+:+::+++:++++++++++:+**+++++*++++::++++++++*++***+++++:++++::::**++++::::,,,,::::::::::::::,,::,
,,:,,,::,,,,+:,,,,,,,,,,,,,,::::::,:+:::::,,,,::,,,,,,,:::+:+:::***+*+**+:::::::::++,,,:::::++**:,,:::++*++,:::,:++++:::::::::::::::*+:+,,::,,,,,,:+::,,::::+:,
,,,,,,,,,,::,,,,::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::,,,,,,,,,,,,,,,,,,,,,,,,,,::::.,::++*++*++*++,::::,,::::::+:::,,,,,,,,,,,,,,,,,,,,,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,:::,,,,,::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,::,,,,,,,,,,,,,,::+::+++****++++::,,,,,,,,.,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:,,,,::,,::,,,,,,,,:,,,,,,,,,,,,,,::,,:,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,::::::::::::+:::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,..,,,:,:,:,,......,,,.,,::,,,,,,....,,,,,,,:::::,,,,::,,,,::::::::::::,::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
....................................................,,:+++****+++:::::,.,...,..................................................................................
...............................................:+**:,#**,,:..:*###*+***+++++:::::,.,............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...........................................,++*#,,,,##*##****::,*###*:****+,,,,,.,,:,:,.....................................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.......................................,:+++#+.:***##*:+#*###*:#######+:***:,,,,,,,,,,,:,,............................................,,,,,,,,,,,,,,,,,,,,,,,,,
..............................:+++++++++++++++++++:+++++++++++*******++:....,,++++::::::+*::....,...............................................,,,,,,,,,,,,,,,
.............................,*+++++++++++++++++++:++*+++++++++++++++++:......,,...........,::::::::,,,,...........,,...........................,,,,,,,,,,,,,,,
........,,::::::::::++::::::,:+++****#+.,:#*+++++++++++++++++++++++++++:,,,,,,###***##,...........++++::::::::::,,.............................................
,,....,::::::::::,. ..+:::,:+********...*.****+++++++++++++++++++++++++:,,,,##*:,,,.,,,#,,,,..,.,.  .,*:,+*########**+.........................................
::++::::++++:,.,::::,:++++++++******  :...:+**.....+*******************+:::*#*  +#, .##+++,,,,.,#####+#+:*########*:,.+,.......................................
,,.,,,,,,,,,,,,,::,,,..,,,,,,..,,:**  ,+.++***....,.+*********#*******#:,...#: ,+ .., .+.######*########################.........................*,,..........,
,,.,,,,,,,,,,,,,,,,,,,.,,,,,,,,,:::++, ..:**##*+::::::,,,,.......,,,::,:+,.+#*  : .. ,#.*###################*##########*........................++,:,.......,,,
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::+*****************####################**##*.. *#: ,*############*#################*,,,,,,,,,,,,,::::,,,,,,:,:***,,,::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+**#*#*###**##############**########+::::,,,,,,,,,,,,,,,,:,,,,,,,,::::++++::::::::::,,,
.,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+::+++++****++*+++++++::++++++++::+++:::::,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,
+++**+++::::::::++++:::++++++++++++*++::++**:+++++::::::++++::::::+:::::,:::::::::::::::::::::::::::+:::++::::::::++++++++:::::::++++++++*+**+++++++**+++++++++
+**+++*+++:::+++:::+++**++++:+:::::+****::++::::,,.:+++:::++++,,***+++*+::++::::*+:+++++++::+::+++:+++::++*+:::+++++*+*+:+*+:++**++:::++++::::::::::+:::::++***
++*+++:+***+++:::**+:::+:+*++++++++++++++:+++++*+++::+++++:+*:,,++++:+++:+++:,::+++:++::::::,,::::++***+::::::::,:,::+,::::::,,:::::,,,,::,:::,,:,,,::::::::::+
:::::::::,,,,:,:::::++**++++++++++++++++++++++++::::++++++:++:,,:+**:+:++:+++:++**++++++++++::,:++++++++:::::::::,,,:::::+:::::+:,,,,,:,::::,,,,,,,,,:::::,,:::
+:++::,,,,::::::::::,,:::+++++:::::,,,:::++:+:++++:::++:+:++::+++++++++:+::+++++++::++:+::+:::+:++*+**+++:+:++::::::++++++::::,,,:::,,,,::::::,,::::,,::,,,,,,:
,,:,,,,,,,,,,,,,,,,:+:::+++:,:::,,,,,::,,,,,,:::::+:::,:*#*+++*+:,::::,::::::,::,::+***::,,,::++::::::,:,:+:,:+:::::+::::,::::,,::,,::,,,,,,::,,::+:,,::,,::,::
::,,,,::::,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,.,,,:::::+++++++:::+,,,,::::::::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,..,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,::::,,,,,,,,,,,,,,,,::::,,:::
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::,,,,,,,,,,,::::,:::,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,:::,::
,,,,,,,,,,,:,,,,,,,,,,,,,::::+,,,,,,.,,,,,::,,,,,,,,,,,,,,:::++++++*#*++::::,,,,,,,,,:,,.,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,:,,::::::+:,,,,::,,,,:,,,,,,,,,,::,,,,,::,,,,:,,:::,,,,,,,,,.,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,::::::::::::::::::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::+*::,,..,....,:..,::::,,,,,,.,,,,,,,,:::::,,,,,,::,,,,::,,::::,:,,::::::,,,,:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
....................................................,+**#**#######*:****::,,................................................................................,,,
...............................................,++**::*#*,+##:,,,+###+***+++++:::::,,,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
............................................:++**::::+#**+####:::######:****:,,,,,.,::,,,....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................................::::::::::+++****######*:#############+##:*++,,,,,,,,,,,,:,,........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,
...............................*++++++++++++++++++++:+++++++++++******++++........::::+++:,:::.............,................................,,,,,,,,,,,,,,,,...
,,....,,,,......,,.............*+++++++:**++++++++++++##++++++++++++++++++..........,..........,::::::,,,,,,...................................................
:::::::::,.::::::::,.........+:+++**+**,,:+:#*++++++++++++++++++++++++++++,,,,,,*###**###,...........+++++::::::::,,...........................................
::::::::... :+::,:,::,.......*********...:.*,*#*****++++++++++++++++++++++,,,,+##* ,.*#::,#,,,., ,..   ,,*::*+#######**+.......................................
+:,. ,:++++:++:::::,,,..,,,,,,,#*****..: ., .**..... *****************##**+++:##,.+.    +#,*+,,,,,,#####+*:,#########,+ +.............,,+,...........,::,,,,...
,,,,,,,,,,,...,,,,,...,,,,,,,,,,,,,+#:  :,.****:....,.++*****************+:,. **  :*   ,  :,######*#####################*#,...........,:+:,.........,,....,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,*.. ****##+****+*+++::,,,,..,,,,,,,::,,,##.  +#. +## ###################**##########,,,,,,,,,,.,,:..,,,,..,,,,.:,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++**********#########################*  ,: ..*##############################*,,,,,,,,,,,,,:##:,,,,::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::*****###**########################:::,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::::,,,
,,,,,,,,,,..,,,,,,,,..,,,:,,,,,,..,,.........,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**++**++++++++++++++++:++++::::+++::::::,,::::::,,,,::,,::,,,,,,,,:::::::,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,::::,,::::::::::++++::::,,,,,,,,,
+++++++++++++*++++*+++++::++++*++:::::+++:::+++:+++:::**+++++++++:++::::::::+:::+::+++::::+:++:+++++++++++*::+**++++++*+++++++++**+:**++****+++++++,+*::::++**+
++++:++*+++++++:***+++:::++++++++++::::+::+:++::++++*++++++*+++++:+::::++:::++:::++++:::++:::++::+++::::**::++::::::::+++:::::::::::,:+:::::::::++:+++++++*+++:
++*+::,:+++++++:+++++****+++++:+++++++*++::++++++++,++++++++*****++:,++++::::++::::::::::++::::+::::::::,:*:::++:+::,:,,,,,,:::,,::,::,,:::::::::::::::::::::::
::::::::::::::++:+++++++++::::::+++++++:::++:++:++:++++++++:::::**++:::+++::::+++:+++:++++++++:::::,:::,,:,:::+++:::,,,,,,,,,,,,,,,,,,,,::,:,,::::::::::::,,,,,
::::::::::::::::::++++:,,,,,,,,::,::::::::::++::++++::+++*+::::::+++::::++++++::+:+::+::::+:***++:,:,,:::::::::+++::::,,,:::,,:+::::::::::::::::::,,,,::,,,,,,:
,,,,,,,,:::,::*++++:,,,,,,,,,,,,,,::::,,::::::::+*+++:::,,:,,,,,::,,,,,,::++::+:,,:,::++++*+:,:::::::::,,,::::,:,,,,,,::,,:,,,,,,,,,,,,,,,,,,:::,,,,::::,,:::+,
,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,,,,.,,,,,,,,,,,,:::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,.,,,,,,,,,,:,,,,.,,,,,,,,,:,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::,,,,,,,,,,:,:,,,::::::,:,,:::
,:,,,,,,,,,,,,,,...,,,,,,,,,,,,,::::,,,,::,::,,,,,:,::::::+++:::,,,,....,,,,....,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:,...,,,,,,,,,:::::::::::::
,,,,,,,,,,::::,,+++:,,.,...,,,,,,,,,,,,,,,,,:,,,,,,,,:++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,::,,::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::::++++::,,,,,,,,,,,,,,,,,,,,,::,,,,,,,::::,,:,,,,,,,,,,,,,,,,,,,::,,,:,,,,,,,,,,,,,,,,,...,,,,::,,,,,,,,,,,,,,,,::,,::,,,,:::,::::,:,,,,,,::::,,:,,,:
::,,,,,,,,,,,,,,,,::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,::,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,::,,,,,,,,::,,::,,,:+:,,,,,,,,:::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
....................................................,.:+**#*######**+:+:::,...,,.........................................................................,,,,,,
..............................................:.,::*#:,+##+,**:,+*####*+**++++::::::,.................................,,....,,,,,,,,,,,,,,,,,,,,........,,,,,,,
.............................................:++*#:,,,,###*#****,:#####*+:***:,,,,,,,,,,,.............................,,,,..,,,,,,,,,,,,,,,,,,,,........,,,,,,,
................................,,::::::::+:++##+:*#*###*:################+:*+,,,,,,,,,,,,,,......................................,,,,,,,,,,........,,..,,,,...
...............................,++++++++++++++++++++::++++++++++++*******+++....,:++++++*****:,...,,....................................,,,,,,,,.......,:,.....
......,,.......................+++++++++:::::++++++++::+++++++++++++++++++++...................,:::+::,,,,.............................................,,,.....
,+:::::::,,..................,+++++++*## :+.*#++++++++++++++++++++++++++++++,,,,,,,*####*#*.........,.,*::::::,,::,....................................,,......
..++::,:,:,..................:+*******+..*,.*,*#++**++++++++++++++++++++++++,,,,,##*+ ,,,:,:#:,,,..:,.,. ,:***#####*++::,,.............................,,......
::+++::::,:,..,,.,,...........,*#****# .:.,, ,**......*+*******************+,,,,##*  *, +*..,**,,,...*###*+**,**####### +:+...+...........,:::::,,....,,,,....,
...,,,,,...,,,,,,,,,,,,,,...,,,,,,,:*#  ..,.#+*#,..... +******************#:... **  ....., ##.**::,,,####################***,*:,..........,,....,,.....,.......
..,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,:++: .,.**###++:::,,,,,,........,,,,:,,:**,,*#, :#*     ::#############################*+,.,,,..,,,,,,,:,,,,,,,,,:*+*+::,,+
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++*************#################********+**###*  , ##+.**#############################,+#*:,,,,:::::::::::::::::,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++***###**######################################*####*,,,,,,,,,,::::::::++:::,,,,,,,,,,,,,:
,,,,,,,,,,,,.,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,::++******************++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++*+++++++++++::++++::::::,,,,::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:,,::::::::+++:::,,,,,,,,,,::::+++++++
:+*+:+**+++**+++++++:+::++++++:::+++:,++:,++*+++::::::::++::::::::::::+:++++++::+::::+++++++++:++:++**++++++*+++++++++**++*+++****++++*+,:+:::++**+++++++++++++
++++:++*+++:::****++++++++++::::++::++**::++::+++++::+++:::+++:::++++++::+::::::::+++::++::::+**:+*+++::::++:::::::::::::::+::::+:::::++++++++++++++::+++++++*+
++++++++++*+++**+++++++++++*+:::++++++++:::+++++++++++++++:++++:::++:::::,:::::+++++++::::::,,,:::::++::::,,,,,,,,,,,,::,,:,,,::::::+::::::::::::::,,:++::::++:
**+++++:++++::::::::++++++++::++++++++++:::+++++::::+++*:++++++++:++++:++:::++++++++::::,,::,,,,,,::::::::::,,,,,,:,,,,,,,,,,,,,::::::::::::::,,,,,,::++::::::+
:::+++++::::,,,,::::++::::+++:::++++++++:::+++++:::::+::::+:::+++:::::,:::+::::++:++::::::::::::::::+++::::,::::,,,:+:::,,::::::::::::,,,,,,,,,,,,,,::::::::,,:
::++:::+::,,,,,,:,,,,,,,+:::,:,::::++++***++:::::::,,,::,,,,::+++*:+:,::,:,:++++::.,::::::::::,:::::::,,,,::,,::,,,,,,,,,,,,,,,,,,,,:,:,,,,:::::::::,,.,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:,,,,,:::::,,,::,,.,:,::,,,,,,,,::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:,,::::::::++::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,::,,::,,,,::::,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,::,:::,:::,,,,,,,,,,,:::::::::,,,,.......,:,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,...,:,,,,:::::::,,::::::::,,,,,,,,,
,,,,::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::+**+*+**::,,,,:,,,.,,,,,,,,,:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,::::,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::
::::::,,,,::,,,,:,,,,,,,,,:::,,,,,::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,....:,,,,,,:,,,,,,,,,,::,,::::,,,,:::,::::,,::,,,,::,:,,::,,::,:::,,,,,,:
,,::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:,,,,,,...,,:.,,,+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::,:::,,,,,,,,::::::,,,,:,,,:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..........................................................,,::::::::,,..,................................................................................,,,,,,
...................................,..............:++#*:*#**,,+*#######:**++++++++::,...........................,,,,..,,,,..,,,,,,,,........,,,,........,,,,...
...................................,..........:+++#+,:::###+####,,*####+#:***+::::,,::,,,,......................,,,,..,,....,,,,,,,,........,,,,........,,,,...
...................................,......,:+++#:,**##*##*,##:#############:+*,,,,,,,,,,,,,,............................,,..,,,,...............................
................................++++++++++++++++++++++:+++++++++***##########:++****##++,,,,:,,,,,.......................................... ,.................
..............................,++++++++++:++++++++++++:++++++++++++++++++++++,................,,::::,,,,....................................,,.................
..............................,:++++++*#**:*##+:++++++++++++++++++++++++++++:,,,,,,,,,*###*,..........,+::::::::,,..........................,,.................
.............................+********#,.+*.#:**+++++++++++++++++++++++++++++,,,,,:###*:.,,.*#+.,,..::++*+,*:*****++::::,,..................,,.................
...,:..,....................,,*******#,.,.,, ,***.::***#********++****++**++*,::,+##*. *# .##:,#,,,,..:#+:., *, **######:,,:...,,,,,,:.....,,,..........,,..,,,
,,,,,,,,,,,,,,, ..,,,,,,,,,,,,,::,:**#,.,. ..***#...,,,:*********************....,## .. .:,. .,+#::::,,###############**++*+,,.,....,,.....,,,......,,,,,,,,.,.
:,,,,,,,,,,,,,,..,,,,,,,,,,,,,:::,,,+##. .*+.**##,,.....,,............,:+****#*, +#* .#* .. ##,*############################*:,,,,,,,,..,,:+++::,,,::++*+,,,,,.
,,,,,,,,,,,,,,,,::::::::::::::::::::++*********#*******##########*******++::::,+,*##* ..*#*.  #*###############*############+:::::::::::,,,,,,,:::::::::,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*********################+..:**####################**********+::::++::,,,,,,,,,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++******####################***+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++:+++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::++++::::,,,,,,,,::++++++++++::::,,:::::
*+++++:+:++::++++++:::+++:::+::++*+++:::+++::++:::,:::::::+::++++++:::::::+++++++++::+:++*++++++*++++++++++*++++++****++++++:,++::::++*+++++++++++++:++++::::++
::****++++++::++:,:+++::::++++,:+:++++++:++:::::+++:::+++++++:+:::::::::+::+++::::+*++++:::::::+*++:::::::::,,::+:::::::::::::++++++++:+++++*+++++*+++++++++++:
++**++++::+++***++::+++++++++:::++++++++++*+++++++:+,::+*+::,,::,,::+++++++:::::::,,:+,::++:::,,,,,,,,,,:,,:,,::,,::::,,::,,::::::::,,::,:++::::::++++*+++**+++
++::++++++++++++++++:+++++++::::++++::::+++*+::+++*+++:+++++++:+++++++++::::,,:::,,,,,::::+:::,,,,,,,,,,,,,,,,,,,,::,,,,::,,::::::,,,,,,::::::::::::++++:::::::
,,,,::,:++::::++++::++:+++++++::++++::::::::::::::+++++:::::::+:::::+:+*++::,:,,:::::::::+++::::,,,:::,,:+::::::,:::::::::,,,,,,::,,,,::,,,,::::::::,,,,,,,,,,,
,,,,,,,,,,,:+:::::::::::+*+***++::::::::,,:::,,,,:::+*+++,,,:,:::++++::,,+:::::::,,,::,:,,,,,,,,::,,:,,,,,,,,,,,::,,,,,,::,,,,::::,,,:::::::::,,,::,,,,,::,,:,,
::,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:,..,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:::::::::::::,:::::,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::,,,::,,,,::,,::,,,,,,,,::,,,,,,,,,,,,,
,,,,,,,,,,::,,::::::,,,,,,,,,,,,::::::::,,,,,,....,,:,....,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,:,,,,,,,,,,:,,,.,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,::,,,,,,,,,,,,,,,,:::+*+++**+:,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,::,,,,,,,,,,,,::,,,:,,,,,,::,,::,,,,,,::::,,,,,,,
,,,,::,,,,,,,,:::,,,,,::,,,,::::::,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,:,,,,,,,,,,,,,,::,,::,,,,::,:,,,,,,,,,,,,,,::,,::,,,:::,,,,,,::,,::::,,,,,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::,::::::::,,,,,,,::::::,,:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.............,,.....................................:++################*:***++*++:..................,,..,,,,...................................................
.............,..................................:+++#*,,:##*,###*,,#######:**+++::::::,,,,..........,,..,,,,...................................................
.............,..............................,++++#+:::::*##*:##########**###:++,,,,,,,,,,,,,........,,,,.......................................................
............,,,,..............,.++++++++++++++++++++##*##############*#####**#,:+,,,.,.,,,,,:,:.......................,,,...........................,,.........
.............,.................,+++++++++++++++++++++++:++++++++++++++++***+++::........,,,,::+::,,,,.................,,............................,..........
............,,................,++++++++++*##**:+++++++++:*#*++++++++++++++++++::,,,,,,,,,,,,..........::::::,,,,......,,............................,..........
.........,,,,,...............:++**++**+#+,,+:,***++++++++++++++++++++++++++++++:,,,,,,*###***###,,........,.,:++:::::::,............................,,.........
.........,..,,,,......,,,,...+*********...+, ****#++***+++++****+++++++++++++++:::::*##* ,.*##+,:#:,..,,*...  .,+::*+#######+:..................,,,,,,,,,,,,,,,
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,.+******# .: .,.:**#......+*********++******##****++++##* .#. . .,*,#+,,,,,,#####**++########,:+,,,,,,........,.,:+++++++++++++++
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::+##, .,+.:,***.......:********************#+,,,.#*  .  . , ##.*###########################****,.,,,,....,,*****************
::,,::::::::::::::::::::::::::::::::::++*...,****#******+++++:::,,.....,:,,:,::::,.+##+ ,##  *:  +*############################,:::,::::,,,,,,,::::+**+:,,,,:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++**********####*###*######################*   .** ,#############################*::::::::::::::::++:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++****#########***########*****#######:::,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:::::,,::::::::+++++:+++::::,,,::::::,,,,,,,,,,,,,,,,,,,,,
++:++:::++++::::::++++++:::::::::::::::+++::::+:::::++++::::+:++++**::::++++++++++++**++++++****+++++:,++,::+++*++++++++++++:::++:++++++::::::++++++++::++++::+
++++++:,++*+:+++*+:++:::+++::++++++++:++::::::::::+::+++:::+++++++::::::++++::::::::,,:::::::::::::::::+++++++++:+++++++****+++++++*++++++++::::::++::::::::++:
++++++::+++++++++++++:,:+*+:+:::::::::,,,,,,++++++++::::::,,,:+:::::::::,,,,,,,,,,,,::,,,,,,::,,,,::::::::::,,,,:,:::::::::::+**++*****+::::::::::::++::::::++:
::++++:::+++++:+*++++++:+*+*++++++++++::::+++++++:::+:,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,:::::,,::+:::::,,,:::::::::::::::::::::::::
++++::++++++++++++::+++++++::+:++:::,,::::::++++++:::::,,:,,,:::::++::::,,,,::,,,,::::,,,,::::::::,,,,,,,:::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
******++,,::::::::::::,,,,::+**++:,,,::::::::::,,:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:::,,,:::::::,,,,,,::,,,,:::,,,,,,,,,,,:::::::,,,,,,,:::
:++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:,,,,,:,,,,:::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::+::,.,,,,,,,,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,:::::
,,,,,,,,:::::::,,,,,,,...,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::++:+++++***+**++::,,,,,,,,:,,,,,,,,,::,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,:::::
::,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::,,::::,,,,,,::::,,,,,.,,,:::,,,,,::
,,::,,,,,,,,,,,,,,,,,,,,,:*:,,.........,..,,:+::,,,,,,.,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:,::::::::,,,,,,,::,::,,,:,,,,,,,,,,,,,..,,,,,,:,,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
......................................................,........................................................................................................
.,,...............................................,.:++################*:**+*++++:...........................,,,...............................................
.,,...........................................,.:+++#*,,,###:###*::#######*+*+++::::,,,,,,...................,,,...............................................
.,..........................................,++++#*,::::+##*:##########***##*:+.,,,,,,,,,,,,...................................................................
.,,,............................++++++++++++++++++++##*###**#########:.#####*##,#.,,,,,,,,,,,,,............,:,..........................,,.....................
,,,,..............,,...........+++++++++++++++++++++++::++++++++++++++++***++++:........,,,,::::::,,.......,,...........................,......................
,,,,...........................*++++++++**##**:+++++++++++**++++++++++++++++++++,,,,,,,,,,,,,,.........,:::::,,,........................,,.....................
,,..........................,++*++**++*#+,:+::***+++++++++++++++++++++++++++++++,,,,,,,*##****###:,,,,........::::::::,,................,,.....................
:,,,,,,,,,,,..,,..,,........ *********#. .., *****++***+++++++**++**+++++++++++*::::,###*..,.,#:.*#+,,,,,+. . . ,*,:*+######++....,,,.,:::::::::::::::::++++:,,
:,,,,,,,,,,,,,,,,,,,,,..,,,,,,,******##  : .,.,+**......:*********++**************++*#*: ,##  *:.::*+:,,,,,#####***+*#####**+*,.,,:*##********########**+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+##, .+:.*.***......,,********************##*,,.:#*  ,  . :.##.*############################:::********************++++++++
::::::::::,,::::::::,,::::::::::::::::+++.  ,***********++++::::,,,,....,,,,::::::,.*##, +*  :  *.**###############*###########+:::::+****:+::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++**********#############*****###############...*#+ **###########################*:,::::::,,::::::::++++++:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++***#########**##########*#*#######:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::++++++++::::,,::::::+++*+++++++++++:,:++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++:++++::::::++:::+::+++++:::++++++++++++++++::+**++++++++++++::::::::++++++++++***+++++++::++++:::+++**++++++++++++::::++:+++++++*+++::::::::+:++++::+++
++*+:+*+++:::::+::::++:::++++:::::::++++:::::::+++::::::,,,,::::::::,,::,,,,,,,,::,,:::::++::::::+:+++++::**********+++*+++++++:::::+::::::::::::::::::::::::::
++++***+++:,+**+::::++:::::::::::+++:::+::::::::,,::,:::++::,:,,,,,,,:::,,,,::,,,,::,,,,,,::::,,,,,,,,,:::::::++++++++++++++++++::::::::::::::,,,::::::::::::::
+:::++**++:::+*+:+:::++::+++++++++++++::::,:::,,,::::::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,::::::::::::,,,:::+:,,,,:::::::
:::::+++::::::++++++::::++::++:::::+**++::::,,,,::::::::++::,,,,,,,,,::::,::::::,,::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::,,:,,:::,::
++::,,::::,,,::::++++:,,,:::::++*+++,:+:,,,,::,,,:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,,,,,,,,,,,,:::::,,,,,,:::,,,,,,:,...,,,::::::::::,,,,,,::,,:,::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:,,,,,,,,,,,,,,,,,,,,::::,,:+,,:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,::,::::::::,,,,::,,,,,,,,:,,
,,,,:::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,:::::::::::::::::::
::::,,,,,,..,,,,:,,,..,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,:,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,:::::::::+:::::::
::,,:::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,..,,,,,,,,::::::,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,:,,,,,,,,:+
,,,,,,,,,,,,:,,,,,,,:,,,,,,,,:,,,,,,,,,....,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,:,,,,,,:::,,,,.,,,,,,,,,:,,,,,,,,,:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:,,,::::,::,,,,,,,,
,,,,,,,,,,,,::+:,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,::,,,,,,,,,,,,,,,,::,,,,::,,,,,:::::::,,::,,,,,,,,:,+:..,,,,,,,,,,,,,,::,,,,:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
................................................................,,,,,..........................................................................................
..................................................,..,++################*:****++:,,,...........................................................................
.................................................:+++#+,:,###,###+:+######*+**+++:::::,,.......................................................................
.............................................,++++#+:,::,+##**#########++*###*++,,,,,,,,,,,,...................................................................
.......................,........:+++++++++++++++++#########*,#########,.#####*##+*,,,,,,,,.,,,,,.,,..........................,,................................
..............................,,++++++++++++++++++++++++:+++++++++++++********+++:....,,::::::+:*:...........................,.................................
...............................:*+++++++++***+::++++++++:+***++++++++++++++++++++:,,....,,,,,,.........,:::::,...............,.................................
,,...........................:++++++*****+,:++,##++++++++++++++++++++++++++++++++:,,,,,,:*####*##*............:*::::,,,,.......................................
,,,,..,,,,....,,..,,,,,,....,+**********..,.:,+**********+++**++++++++++++++++++++::::,####.:,:::.*#*,,,,,:,.,.  .,*+*####*+:,::::::::::::::::+++,......,,.,...
,,,,,,,,,,..,,,,,,,,,,,,.......*******#+ .+ ,,,***#......,**++*******************:::,:##*...*#. :#*.*#,,,,,,.####*+#.**######:++************++++++++,,,,,,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,**#*  +*.:*.**#...,,,,**************##*******.,,,.##: :# ..,.  ,**#*++:::##################*+***********++++++++:,::,,,,...
::::::::::::::::::::::::::::::::::::::+**, ...**###*++::::,,,,,,,.......,,,,.,.,++*+,:##* .:  ,.:*#.############################*:,,,,,,,,,,,,::::::++:,,,,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++**************##################********+++*###*  ###. ,.*###########################*+:::::::++::::::::::::,:,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::******####*###########*#*###################*#######**+:,,,,,,,,,,,,,,,,,,:::,,:,,,::,:
::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,::::::::::::++::++++++:::,,,:,:::+**+++++++++++++++:++++++******+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::
++::::+++:::+:++++++::++++++++::++++++::++***++++++++++++:::,::::+++++*+++++**++++*++:::+++:::+++*++++:+++::++++::++::++:+++**+:+++:::::++++++::++++******+++**
:::+::::++++::**++:+++::++*+::++::,:+++:::::,,:::::::::::::::,,,,,,,::,:::::,:*:,:::::++++*+++:+*********+*+++++++::::::+:::::::::::::::::::::::::++::,,:::::::
+**+::+++++:::::::,,:++:+:::++::::::,,::,:::+++::::,,,,,,,,,,,,,:::,,,::,,,,,,::::::::,,,,,,:::::::++++++++++:++::++::::::::,:::::,,:::::::::::::::::::::::::::
:+*+:+:::+++:+++++++++++++::::::::::,,::+:::++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,::::::::::::::::,,,,::::,,,::::::::::::::::::::
:::++++++:++++:::+::::::***++:,:,,::::,:::::::::::,,,,,,,,::+::::::::,::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,:::,,:,,,::::,,,,::,,::,,,
,::::+*++:,,::::::*+:++:,,::::,,,,:,,,::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,+::::,,,,,,,::::,,,,,,,,:::,,,,,:::,.,::::::,,::::,,,,,,::::::::::::+:,,,,:::::
,,,,,,,,,,,,:::::::,,,:,,,,,,,,,,,,,,,,,,,,,::,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,,::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,:,,,,,,,,,,,,,:
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::
,,,,:,,,..,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::+::::::::::,:::::::,
,,,,:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::,,,::,,,,,,,,,,,,,,,,,,,,:,,,::,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,::,,,,,,::::::::::+:::*
::,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,:,,,,,,,,,,,,,,,::,,::,,,,:,,,,,,,,,,,,,,,,,,,,,,,:,,,::,,,,,,,,,,,,:,,,,,,,,:,,::,,,,,,,,:,:::::::::,,,,,,,,,,,:::::::::
+++:,,,,.,...,.:,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::::,,,,,,:,,,,,,,,,,,,,,,::::,,::,,,,,,::::::,,:,,,,,,,,,,,::..,,,,,,,,,,,,,,::,,,,:,::,,,,:::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
......................................................,.,,::++*********++::,,,,.,,........................................................................,,...
...................................................,:++*#:,:##*,+:**########:*++++:::::,..................................................................,....
...............................................,:+++#*,::::##*#*****#####,+###*:+.,,::,,,,,,..............................................................,....
............,,...................,,,,,,,,,,,+++++**+,+**::+##*+########*.#####*#*:*,,,,,,,.,,,,,...................,.....................................,,,...
............,,...................+++++++++++++++++++++++++:+++++++++++***##########,*********+::,,.,..............,,.....................................,,,...
................................:*++++++++++++++++++++++++++++++++++++++++++++++++::......,,,,...... .,,::,,,,....,,.....................................,,....
..............................,:++++++**+#**,,.***+++++++++++++++++++++++++++++++++:,,,,,,:::*###*:,........,.::::::,,,,.................................,,....
,,,,,,,,,,,,,,,,......,,,,,,,,**********#+.,,:#+:*****+++++++++++++++++++++++++++++::::::###*#,.,,,*##.,,,,,+:::+:.+****+++:,,,,::::::,,..,,,,...........,.....
..,,,,,,...............,,,....,+*******## .+.,:.*,**::++***#********++**++++++****++::::##*+. ,+##.::,#*,,,,,.**+,,, * +**####*+:++++++++:,,..,,.........,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+***##  +:...,**#..,,,,,+***********************.....##+ +#,,,+ ##:+**+:::::###########*****+::+++++++::,,,,,........,,.....
:::::::::::::::::::::::::::::::::::::+**#*  ,.*,***#*......,,...........,,:+*#*****##:,+##: ... ., . ,**########################***::::::+++,,,,........,,.....
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++*********####****############**++**++++::::::++:*###: +#* +##.*############################,,,,::::,::,,,::,,::::::::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+*********###*########**##*#**    +#####################*********:,,,,,,,,:,:,,,,,::::,,,,::+**
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,::::::++::++++::::,,::,,::++++++++++*++++++++++++++***##############**++::,,,,,,,,,,,,,,,,::::+++++**####
++::++++::::++++:+++++**+++:+::+**++*+++++++++:::::+::++++++++++++**++:*++:::+++::++++**++++++:+++++::::+::+++:+***+:+++::::++:+++:::++++*****++++*******######
::++++::+:++++++::+++:,:++++::++::,:::::::::::::::,,,,,,::::::::,,:++::::::::+++++:+++*********+++++::++::::::::::::::::::::,:++:::::::::::::::::::::++++++++*#
::::::,,:++::+++++::::::,,,:::,::+++::::,,,,,,,,,,,,,,::,,,,::,,,,,,::::,,,,,,,,,:::::::++++++++++:+++++++::::::,,::::::,,::::::::::::::::::::::::::::::,,,,:::
::++++++++++++++::::::::,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:::::::::::::,,,::::::,,::::::::::++++:::::::::::::::::
:::::+::++:::*++++,:,,,:::::::::+++:::,,,,,,,,:::+::,,::::,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,:::::,:,,:,:::,,,,:,,,,,,::,,,,,,::::,
::,:::++++++,,,++:::::::,,::,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:::::,,,,,,,,::::,,,,,,,,:,,,,,,::,..,,,,::::::::::,,,,::::::,,,,::::,,,,,,,:::,,::::,::::
::::::::,,::,,,,,,,,,,,,,,,,,,::::::,:+:,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,:,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,:::::::::::::,,,:
,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,::,,,,,,,:::,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,::::::::::::::::::::::::::::,:::::::::,
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,:,,,::,,,,,,,,,,,,,,,,,:::::::::++::+*:+**:::::::
,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,::,,,,,,,,,,.,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::,,+:,,,,:,,,,,::,,::,:::::,,,,,,,,,,,,::++::++++++++++:+*
.,,:.,,,:+::,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,::,,,,,,,,,,,,,,::,,,,,:,,,,,,::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,::::,:::::++:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
........................................,,,,,,,,..,,..,..,:++***########**:::+:,,,.,,,.........................................................,...............
........................................,,,,,,,,,,,.:+++#*::+##+,*++*########+**+++::::,,,.....................................................,...............
................................................::++*#+:::::##**##*######+.#####:*,,,,,,,,,,...................................................,.............. 
,,....................,,.........,,,,,,,,,,,,:++++##*,:**+:*#*+*########,:########::,..,,,,,.,,,,.......,,....................................,,............. .
,,....................,,........,:+++++++++++++++++++++++++:++++++++++:++****#####**,,::++++++++++::....,.....................................,,.............  
,,...............................*++++++++++++++++++++++++++++:+++++++++++++++++++++:.....,,,,,,,,.......,::::,,..............................,,............,  
,,.............................,:+++++++++#*,,:,***:+++++++++++++++++++++++++++++++++:,,,,,,:*######+,......,.,.,+::::,,,,..................,.,,..........,.,  
,,,,........,,,,....,,,,...... **********#..++:*#+********++****+++++++++++++++++++++:::::####*.,,::,*##:,,,,.,. +,.:+*###*#++::,............,,............,,  
,,..........,,,,...............,********#+....::,*+*#,,,++++************++++********:::::*##*  *,.*#*+,*#:,,,,,,+##*+,*,.**#####+:,,,,.......,,............:.  
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+***#* .*...,***#,..,,,,+***********************,,,,.+#*  ,..::: *#.*#++++::*###############**+:,,.......,,,..........,:. .
:::::::::::::::::::::::::::::::::::::::**#+  ,#*,*###:,,.....,....,,...... .,,++****##+,,###  ## ....##.*##########################*:,.......,..........,.,:.  
,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::++**********##******############**++****++++::::::*####  # :### ,###########################*:::::::::::::::++:,:::::,   
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::::::,,,,::++******##*********###*********#,,.+*#####################********:,,:,,,,,,,::+****++:::::,   
::::::::,,,,,,,,:::::,,,,,,,,::::::::+::++::++++++++++++::+++:::::::+:::++++++++++::++++++++++++++**********##**############***+::,:+***################*+:,   
++++++++++++++++++++***+***++++++++::::::::::::++::::+**++++::++:+**:::+++**++++:+++::::::++:::+*+++++++::::::,,,:::++++++++++++++*+:+*******########****+:.   
++++:::::::::::+::+::::::,,,::::,,,,::,,,,,,:,,,,,,,::,,:++:::::++::::::++***+****++++*+++::::::::::::::,,::::::::::::::::::,,::::::::::::::::::::::++******+++
++::::++:::::,,,:,:::::+::,:,,,,,,,,::,,..,,,,,,,,,,,,,,::::::,,,,,,,,,::++++:::++***+::++::++::::::::,,,:::::::::::::++::::::::::::::::::::,,,:,,:::::::::::::
++++++::::+:,:::++::++*::,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,:::::::,,,:++:::::::::::::::::::::::::::::::::::::
****++::::,,::,,::::++::+::,,,,,,,,,:::,,::::+:,,:,,,,,,:::::,::+:,,,,::,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::,,,,::,,,:,,,::,,,::,,,:,,::::,:::,,:::::
:,::::,,,,::::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,:,,,,,::::,:::,,::,,:,:,,,,,,,..,,,,,,,,::::,,,,,,,,,,,,,,,,::,,,,,,::,,,,..,,,::::::::::::::::::
:,,,,,,,,,,,,,,,,,,,::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::,,,,,,::,,,,,:::,,,,::::::,,,::::,,::::::::::
,,,,::,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::,
,,,,,,:::,,,,,,,,,,,::,,:,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,.,,,:,,,,,:::::::::::::::::::::::::++++,::,,,:::::::::,,,,,,,
,,,,::,,,,::,,,,:::,.,,,,,,,,,::,,::,,,,::,:,,,,,,,,,,,:,,::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,:::,,,,,,,,,::,,,,.....:+:+:++:,+**+++++::::+:::::,,,,:::
,,,,..,,,,,,,,::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,..,,,,,,,,,,+:,:::::,,,,,,,,,,::::::::+::,++::::::::++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::,,,,::.,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::,,,,,,,,,,,,,,,::::::::::::::::::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............,,,,....,,,,...................................................................................................,...................................
,,,,,,..,,,,........,,,,....,,,,,,,,....,,,,,,,,..........,,..,,,,::+++++++++::,,,,,,,.....................................,...................................
,,,,....,,,,........,,,,....,,,,,,,,....,,,,,,,,......,,,:++#*:,##*++*###########:++++:::,:,..............................,...........      ...................
................,,,,....,,..........................,:+++**,::,:##**###*#####.,####++:,,::,,,,,,..........................,.............    ...................
.,,,.................................,..,,,,,,,,.:++++*:****:::###:########*,#########,*,:,,,,,,,,,,....................,.,............  .. ...................
,,..................................,+++++++++++++++++++++++++++++++++*****#############::*******+*+:,:..,...............,,..........,.  .  ...................
,,..................................:*++++++++++++++++++++++++:++++++++++++++++++++++++++.,,,,,,,,,,,,......,,::,,,,.....,,............     ...................
,,................................,,+*++****++###*###*+++++++++++++++++++++++++++++++++++:,,,,,,::**####+,,,....,,,. ++::::,,,......,,,     ...................
,,,,..........,,,,,,,,......,,:,,.+++***+*****,,+*::#+*#******+++++++++++++++++++++++++++::::::###*#,.,:,:##:,,,,,+,,,::,+*#####*+::,.,      ..................
............................,:,:,.**********#, :.,+:****#*++++*+**++******++++****++****+:::::###*. ,##*.:*:##::,,,,:*#*++.* ***####,,. ...  ..................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,.:::,+********. +,.,,****#,,,,,,,************************:,,,,:##* ,#,.,+.##*.**+++:::#############*#*:. .. . ..................
::::::::::::::::::,,::::,,::,:+:,,,,,,:::::##*  +#:,+***#,,,,,,,......,,::++******####**##*,,*##* :.. ... .,,#######################+:.      .,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,:::::::::::::::::::::::::::++++***::****##**########**++***+++++::+:::::::::**:*###* :*#,.##* *#######################+,       ,++*:,,:+::::++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,:::,,::::::++++********++:+****++++++++++++***#*##*.    +*###################******:,       .::::,,:::::::::::
,,,,,,,,::++::::++:++:++++++++++++::++++:::::+::+:+++++:++++++::+++:++++++::++::::::++::::::++++*****####*****++****############****+,     ..:++::,:,,,,,,:::::
*+***++++++++:::::::,:::::::::::+++++*+::+*+++++::::+++*+++++:+:::+:::++::::+::++++:::::::::::::::::::,:::++++++++*******########**::,....,,,,::::+++:::+++++++
::::::++::,,,,,,:,,,,,:,,,,,,,::::::::::::,:::::,::+++++++++++****++++::::::::::::::::::::::::::,,,,::::::::::::::::::,,,,::::::::::::::*+++::++::::::::::::+::
:+::,:,,,,,,,,::::,.,,,,,,,,:,,,,,,,::::,,,,,,,,::::::::::++++++::::::::::::::::,,,,::::::::,,,,::::::::::::::::::::::::::::::,,,::::+::::::::::::::::++++++::+
+:::,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,::,,,,,,,,::,,:,,:::,,:::::::::::::::::::::::::::::::::::::
++:::,,,,,,,,,::::,,::+++:,,,,,,,,::::+:,:::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+::,::.,::,,::,:::::::,,,::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:::,:,,,,::::,:+++:,,::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,::,,,,::::::::,:::,,::::::::::::::::::++:,:::::
+:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,:::,,,,,,,,,::::,,::::::::::::,,,,:,:::::::,,,,,:,,,::::::,:,,,,:::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::,,::::,,,,,,:::::::::::::::,,,::,,,,,,,,:*+:::,:+*::::::::::,,:
,::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::,,,,,::::::::::::::+*::*+,,,,::::::::::::,,,,,:,,,,:::::::::::::::
::,,,,,,::::::,,,,::,:,,,,,,,,,,,:,,::,,::,,,,::,,,,,,,,,,::::,,,,,,,,,,,,....,,:::,,,::,,::::,,,,:,,,,,,,::::+::+++:+:+::++++:::+++::,:+*++,,,,,,::::,,:::::::
,,,,:,,,::::::,,::,:,,,,,,::,,,,,,,,,,,,::,::,,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,:,...,,,,,,,,,,,,,:,,,,,,,,,,,,,,::::+,:::::::::::+::::::::::::::::::,::,,,,,,:::
,,,,,,,,,,::::,,,,::,,::,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,::+::::,,,,,,,,,,,,,,,:::::::,:::+::::::::,:++:::,:::::::::::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
......,,,,,,,,,,.................................................................................................,.............................................
,,,,,,,,,,,,,,,,,,,,,,,,......................................,,......,,,,,,,,,.,......,........................,..............................................
,,,,,,,,..,,....,,,,,,,,...................................,+++#**##*#############++++++::::,,..................,............     .............................
........,,,,...........................................,+++*#*,:::##*:###+#####::####:*,,:::,,,,................,...........      .............................
........................................,,....,,,,..+++++#*++,::,*#*+*#######*,########+,+:,,,,,,,:,,..........,,.........,.. ..  .............................
.......................................:+++++++++++++++++++++*****##*########:.*##########+*,.+***+:.,,,,......,,.........,.. ..  .............................
......................................:*+++++++++++++++++++++++++++++++++++++++++++++++++++,........,,......,:::,,,,,,....... ..  .............................
....................................,.+++++++++++*###*++++++++++++++**+++++++++++++++++++++:,,,,,,,,,,:::,,,,,,,,....,+:,,:,      .............................
............,,,,,,.,:,............,,+++*++*****#*,,*:+,#**++++++++++++++++++++++++++++++++++::::::###**#:.+###,::+++:#*+,,.,  .   ,,,,.........................
................,,,:.:,.........,,,.++********#+.,++,:******++++************++++++++++++++*+::::*###:....###::##++++*:*:,,,,  .,  :###*+,......................
,,,,,,,,,,,,,,,,,,,:..,,::::,,,,,,:,,:*********. *:,,,+****,,,,,,,**++****++**++++********#+***+##*,.*#+,:,.,#:*#****++:##:,    , .***+::,,....................
::::::,,::::,,::,,:+::,,,,,,,,,,,,,,,,,,,::+***+ .,*+,*,**#,,,,,,,,+****************#######*+:,+###  . .,.,:##+:##########:,      ,*#####*+,,,,,,,,,,,,,.......
::,,,,,,,,::::::,,::::::::::::::::::::::::::::+**,...,********++++++::::::::,,,,,,,,::++++++:,,*###*.:##.:#*:.,##########*:.      ,######*++::::++++:::.:++++++
,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,:::::::::::+++********++++++++********+:::++++******###########* ,.::,,############*:.      ,*###**:::,,::::::::, ,::::::
::,:::+::::::+++++++++++::++++::::::::::++++++++++::,:++::++++++++::::::::::::++++++:::::::+*******++*****##############*+,.     .:++:::,:,,,,,,:::::::::::::::
++:::::::::::+++++::::***+*++::+++++++::+:++**+++:+++:::+::::::::++::+++::::::::::::::::::::::::++++++++*******########*+:,.......,:::++::::::::+++++::+++****+
::,,:::,,,,,,,,,,,,,::::::*::::::++:+:::++++++++++++++++::++::::::::::::::::::,:::::::,,,:::::::::::,,,,::,,,,,,::::::::::::::+:::::::+:::::::+:::::::+++::::::
,,:::::,,,::,,::::,,,,,,:::::,,,,,,,,,,,::++++,:++++++::::::::::::::::,,,,::::::::,,,:::::::::::,,::::::::::::::::,,,,,:::::::::::::::::::::++++::::::::,,:::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:,,,::::,,,,,,,,::::,,::::,,,,,::::::::::::::::::::::::::::::::::::::::::::
,,::+++:,:::::,,,,,,,,,,::::::,,::,,,,::,,,,,,,,,,.,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,.::,,::,,:::::,,,,:::::::::::::::::::::::::::::::::::::::::,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,:::::::,:,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::+:::::::::::::++:::
,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:::::::::::::::::,:,,,,,::::::,,,,,,,,,,::::::::,,::,,:::::::::::,::::::,,,,,:::+
,,,,,,,,,,,,,,,,.,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:,,,,::::,,,:::::::,,,:::::,,,,,,::,,,,,,,:**:,,,,++:::::::::,,,,:,,,,:::,::
,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,.,,,:,,,,,,,,::::,,,,,::::::::::::,:*+:+*:,,,,::,:::::::,,,,,:,,,,,,::::::::::::::::::::,,,,,
,,,,::::::,,,,,,:,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::,,,...,,,,::,,,,:::::+:,,,,,,,,,,,,:::+::++::++++::++++::+*+::::+*+::,,,,,,::::::,,::::::,,,,,,:,,
::::,,:::,:::,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::,,:,,,,,,,,,,,,:....,,,,,,,,,,,,::,,,,,,,,,,,,,,,:::::,,::++:::::+::::::::::::::::::,:::::::::++::::::,,,::
,,,,,,::::,,,,,,:,,,:,,,,,,,,,,,::,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,::::::,,::::::,,::::,++:++,,::::::::::::+::::::::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
,,,,...........................................................................................................................................................
,,,,,,,,,,,,....,,,,,,,,............................................,,................................,........................................................
,,,,,,,,,,,,,,..,,,,,,,,......................................,::*#################***++::::,.........,............   .........................................
,,,,,,,,..................................................::++#*,:,:##*+###:##########++++::,,:,,,....,............ .  ........................................
,,,,...............................,,,...............,,+*+:**:,,:::##*,########+,#*######,#,,,,,,,,,,,,........... .  .........................................
,,,,,,,,,,.........................,,,...:::::::::::+++++**##########**#######,,,#######**#:+:,,,,,,.,,,,,........    .........................................
....................................,...++++++++++++++++++++++++++:+++++++++++++++*******++++...,,........,,:::,..     ........................................
...................................,,..,*+++++++++++++++++++++++++++****+++++++++++++++++++++,,,,,,,,,,,,,,,,,.,..     ,::::,,.................................
........,:,,,,,,,,.....,,,..,,.....,.:++++++***+*##,:::,****++++++++++++++++++++++++++++++++++::::,:####**#####+,      ...,. ,:+:::::,,,.......................
.......,,,:,,,,,......,,....,,.....,,+**********#,,++,*+,+*#++++++++**++++++++++++++++++++++*+++++*###+..+:,#*::,  ..  ,+..,..,:+:+:####*:.....................
,,,,,,,::.,,,,,,,,,,,,,,,,,,,,,,,,::::*********#*..,,:::*:**,...,,.:++++++**********##**#####****+##*,.*##..,#+:,  ... .,:######********++:....................
,,,,,,::++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::*****. +:,:,+****,,,,,,,******************######++::,*##* ,#:...,.*+.      ,####################,,,,....,,:::,....,
::::::::::::::::::::::::::::::,,,,,,::::::::::****  .:,.+****+::::::::,,,,,,,,,,,,,,::::++++++#+,*###+.#+  + .*:.      :########+*#########+.:++++++++****+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++**++::++++++++****************######*****############ .,##* ,:.      +######**#######****: ,::::::::+++++++++
:::::+++++++++++::::::,,::++****++++++++:::+++:+++++++++::::::::::::::::::::::,:::+++++*+++*******######**###*+,      .+####*:,,::::::::::::::::::::,,,,:::::::
**++**++++****++++*+++++++::::++:+*+++:++++:::::++:::+++++++++::::::::,:::::++:::::::++++++++++*****########*+,.......,:::::+++:::++++:+++::++:+++++++:::::::::
::::::::::,,:++:::::::+:++:+:+++**+++***+++**+:+:::::::::::::,::::::::::::::::::::::,,::::,,::::::,,::::::::::::::::::::::::::::::::::+:::++::::++::::::::++:::
:,,,,:,,,,,,::::::,,,,,,,,,,:::+::+:++++***+::++::::::::::::,,::::::::+:,,::::::::::::::::::::::::::::::,,,,::::::::::::::::::::++::+:::++::::::::::::::::::::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::,,,,:::,,,::::::,,::,,::,,::,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::
,:::::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,.,,,,,,,,,,,,::::::::+::::,,::,,::,,:::::,,,,,::,,::::::::::::::,,::::::::::::::::::::::::::::++++:
::::,,,::,,,,,+::::,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,:::,,,::,,::::,,:::::::::::,::::::,:::::,,::::::::::++::::::::::::+::
,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,::::::::::::::,,::,,,,,,:::::::,,,,,,,,,::::::,:::,,,,::::::::::::,,,,,,,,,,,:::::::::::++++,
,,,,::+:,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,:,,::::,,,,::::::,,,,:::::::,,,,,,,,,,,,:+*:,,,::::::::::::::,,,:::,,::,,::::::++:++++
.,,,,,,,,,,,,,,,,,,,::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,:,,,:::,,,,,:::::::::::::::*::*+,,,,::,,:::::::,,,,,,,,,,,:::,,:::+:::::::::,,,,,,::,:::::::::,
,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,..,,:::,,,,:::::++,,,,:,,,,,,,::::+::+++::+:++::::::::+:::::++::::,,,,::::::,,:::::,,,,,,,,,:,,,,,,,:::::
,,,,,,::::,,::,,,,,,,,,,,,,,.,,,,,,,::::,,,,,,,,:,,,.,.,,...,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,::::,:::::::::::::::::::,::::::::,::::::::,:::::,,,,,,,,::,,,,,,,,,::
,,:,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::::,,::,:::,:::::,:+::+:::::::+++:::::+:::::::::::::::::::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
,,,,...........................................................................................................................................................
,,,,,,,,,,,,..............................................................................,....................................................................
,,,,,,,,,,,,,,.................................................,:+**##############*:**++::,.,.........    .....................................................
,,,,,,,,,,..............,,.................................:++*#+:,:###:##*###########:*++::,,,,......  .......................................................
,,,,,,..,,,,,..........,:,..........................,,.:++++#+::::,##*,#########,,*##**#+:,,,,,,,,,,. ..  .....................................................
,,,,,,..,,.............,,,......................,,,:++++*###:,#****##*+#######,,+#######*#*:*,,,,,,,,  .. .....................................................
,,,,,,.................,,.............,,++++++++++++++++++++++++++:+++++++++++++++*******+*+:.......,     .,,,.................................................
,,,,...................,,..............:*+++++++++++++++++++++++++::++*++++++++++++++++++++++,,,,,,,,     ..,,....,.,,::::,,...................................
,,,,,,,,,,,,,,,,,,....,,,,..,,......,.::++++***++#*+,:,*##:++++++++++++++++++++++++++++++++++::::::,,  .  .**##:,,,,,,,,.,..,+::,::,,,........................,
,,,,,,,,,,,,..,,,,.....,,.,....,:,,,,*+***++****#,::*#,++***++++++++++++++++++++++++++++++***++++++:.  ..  *:::+#*,,,,::, ..  ,:+:::####*:....................,
,,,,,,,,,,,,,,,,,,,,.,::::::::+::::::+*********#:.++::::#:*#,,,,::+**************************+++++*:. ,.:,. .*#*,##+::::::######:***####++,...............,,..,
,,,,::::::::,,::::,,,,,,,,,,,,,,,,,,,,:,++******, ,..:,*****:,,,:::,************############*::::++,.       +. ,,:#########################*......,,....,,,,..,
::::::::::::::::::::::,,,,,,,,::::::::,,::::,:***, ,*:,,*****,,,,,,,,,,,,,,,,,::,,:::::::::+*##+:*+,         ###,################*#########*+++++++:,,:,:::::::
,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+++++++****++****##******####********************:.      ,:.+.:*#################**######*:++++::: .:+++++++++
++::,,::::,,::++**+++++++++++:::::++++++++::::::::::::::::::::,,::::::::++++++********************:.      :***##**##*##########*:+++++++::::,,,,,,:,:::::::::::
++:+*++::::+++:::+++**++++++++++:::::::::+++++++++::::::,,::::::::+::::+++++++++********######**+:,     ..,,,:++++++******************+++::::::::::::::::::::::
,::+++++++++++++:+++********++++++++++::::::::::,,,,::::::::::::::::::::::::::::::,,::::::::::::::::::+:::::::::::::::::::::++++:::::::::::::+::::::::++++:::::
::::::::,,,,,,::+:::::++++++**++++++::++::::::::,,::::::::+:::::::::::::::::::::::::::,,::,,,,,:::::::::::::::::::::++++::::::::,,::::::,:::::::++++:+++++++**+
::::::::,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,::,,::,,:,,,,,,:::::::,,::::,,:::::,::::,,::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::,,:++::::+
,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,:::::,,,::::,::,.,:,,,,,::::::,,,,,,,,::::::::::::::::::::::::::::::::::::,,::::::*+::::::::::::::,,,
::::::,,,,::::,,:,,,,,,,,,:::,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:++:::::::,,::::::::::,,::::::++:,::::,,:::::+::::::::::::::::::::,:++::+++
,,:,,,::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,::,,,,,,,,:::::,,,,,,,,,::::::::::,,,,,:::,:::::::,,,,:::,,,,,:::+::::::+:++::,,::::::::+++
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::,,,,::,,,:::::+:,,,,::,,:,,,::::,,,,,,::*:::,,++::::::::::,,,:::,,,,,,:::::+++:+++++++++++::::,,:
,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,::::::+:::::::::::::::::,+*+:+,,,,::::::,:::::,,,,,,,,,,,:::::::::::::::::::,,.,,,:::::::::,,:::::++++::::+
,,,,,,,,,,,,,,::,,,,,,,,:,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,::,,,,,,,,,::::::::,::::++++:+*+::::*+::::+*::::,,,,,,::::,,::::,,,,,,,,,,,,,,,,,,,::::::::::::::::::
::,,,,,,,,,,::,,,,,,,,,,,,,,,,,:,,,::,...,,.,,.,,,,,,,,,:,,,,,:,::,,,,,,,,,,:::::,::::::::::::::::::::::::::::,,::::,,::::::::,,,,,,::,,,,::,,,:::::::::::,::::
:,,,::::::::::,,,,,,,::::,::,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,:::,,,,::::::::::::,:++::::::::::++::::::::::::::::::::::::::::::::::,,:::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
,,............................................................................,................................................................................
,,,,........,,......................................................,,::::++++:::,,,,..........................................................................
,,,,.......................................................,:++**::*##*#############+++:..    .................................................................
,,,,......,,,...........................,,............,.++++#*::,,:#############,,#####,. .. .,,,,,............................................................
,,,,......,,............................,,,,,,..,,..:++++#+*++:::,###+########,,#*#####+  .. ..,,,,,,..........................................................
..........,,...........................,++++++++++++++++++++++++++:+++++******#*#######+     .+*++**:+::.......................................................
..........,,...........................*+++++++++++++++++++++++++++++++++++++++++++++++,  .. .,,,,,,,,,,,,,,,,..,,::,,............................,............
::,,,,..,,,,..........,,,,......,,..,,:+++++***++#*#####,+++++++++++++++++++++++++++++:.     .:::::::+#######:,,,,,,.....,*,:,:,,..............................
,,,,,,,,.,,,,,.....,,,,,,,..,,...,,:++++*+++***#*,::+##,***+++++++++++++++++++++++++++,.  ,. .::+++###*#.,:::,##*,,,:,,,,.,.,,***###+:,,.......................
,,,,,,,,,:::::::::::::::,,,,,,,,,,:++*++++++****.,**::.::***++++++******++++++******++,.   ...:++*###+,:..##+,+,##::::,,,+##*+.# ***###*:,.......,.............
::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::********** ,:,::,#:***,,,,,,,******************+,.      .,,*##* *#*,:+,*##,##*++++:###########*****+:,,,...,,............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+***  +,+*+:****,,,,,,::::,,::++++*****#*+,      .:,+*##*.... ,:...,.##########################:::,:::::::::::::,,,
,,,,,,,,::::,,::::::::::::::::::::::::::::::::::++,..:********************+++++++++++:.      .++*####+.:#*.:##:.*#########################+++++++++++++++++++++
:++++++++++++:::::::::++::::::::::::::::::::::::::::::::::::++********###***********+:.      ,**########,. .,#####################**##**++++++++++++++**+++++++
++++++++++++:+++::::+++:::++:+::++++++::::::,,::::++:::::+++++**+++*******######****+:.      .:+++**############################****::,,:::::::::::::::::::::::
*+++++:+***+**+++**+++++++::::+::::,,,::::::::::::::::::,,::::::::::::::::::::::::++++**+++*+::,:::::,::::::::+:::::::++++++::::::::::::++++::::::::::::::+++++
::::::++++::++++++++++++++::::::::,,::,,,,,,:,::::++::::::::::::::::::,,,,,,,,,,,::::::::::::::::::::::+++++::::::::::::::::::+:::::::++::::::++**:::::::::::::
::::::,,,,,,:,:::,,,,,,,,,::,,::,:::::,,,:::::,,,,,,::::::::,,::::::::::::::::::,,::::::::::::::::::::::++::::::::,,,:::::::::::::::::::++:::::::::::::::::::::
,,::::,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,:,,,:,,,,,,,,,,,,,,:,,,,::::,,,,,,,,::,,,:::::::::::::::::::::::::::::::,,,,::::+:::::::::::::::::,,,,::++::::+++++
,,,,,,:::,,,,,,,,,,,,,:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,.,,,:::::,,:,,,:::,,,::::,,:::::::::,,,,,:::::,::::::::::::,,::::::::,:::++++++::,::+:::::::
:::::,::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::,:::,,::,,,,,,::::::::::::,,,,,,,,::::::::::::,,,,::::::::::::::::::,,::::+++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,:::::::,,,,,,,,,,,,:+*:,,,:::::::::::,,,,,,,,,::,,:::+++++:+**++::::::::::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::,:::::,,::::::++:::,,,,:::::++::::::,,:,:,,,,,::::::::::::::::::,,.,,,,,,:,,::::,:**+++++:,,,:::::::+:::::++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,....,:::::++,,++::++++::::::::+::::::+*+,,,,,,,,,,,,,,,,::::,,,,,,:,,,,,::::,:::::::::::::::++:::::::::::::::
,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::,,,..,,,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::,,,,,
,,,,,,,,,:::,,,,:,,,,,,,,,:,:,..,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,:,,::::,,,:::,,::,,:::::::,::::::::::::+:::::::::::::::::::::::::::,,:::::::::::,::::,,,,:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
......................................................................................................................................................,........
.....................................................................................................................................................,,........
..........................................................,:,. .  :############*+++:+::,.............................................................,,........
.............,.....................................,..++++*#,  ,,.:,###*##########*:*+::,,:,,........................................................,.........
............,,....................................,:++**#:::,  .  ,########::,*######+:,,,,,,,,,.....................................................,.........
............,,......................,:::::++++:++++++****#**,   . .#######,,+##########*:*,,.,,,,,,,................................................,,.........
............,,....................,:+++++++++++++++++++++++:.  .  ,:++++++++++++****+++++:,,,,.,.,,,.,,,,,,,..........,,............................,,.........
,,,,,,,,...,,,,,,,,,,,::::,,,,::,..*++++++++++++::+:++++++::      ,*++++++++++++++++++++:+::::::,,,,:,:::,.,,,....,,+,:,,...........................,,.........
,,..,,,:++++++++++++++++++::::::::++++++++*+*#*,+:+,##*+++:,  .,. ,+++++++++++++++++++++++++::+::####*######+,,,,,::,.....,+:::,,,................,.,,.........
,,,,,,:+****+++++++++++++++:::::+*+*++*******.:::#::***#+++,    . ,+******++++++++++++++*++++++###*:,,*#,*+:+#+,::::++:,...,+:::#####:............,.,,.........
++*++:::::,,::,,,,,,,,,,,,,,::::::+++++++***..+*::+,*:*#,,,,      ,:::++*********++++*********#### ..:+,,*##*,#*+++:::######*********+.............,,,.........
,,:::::::,,,,,:::::::::::::::::::::::::+****,.:++,+******,,.      ,:::++++++++++++*******+::::###* ##+..,:.+#:########################**........,,,,,.....:::,.
,,::::::::,,,,,,,,,,::::::::::::::::::::::**+:.,+:++*****::.      ,+++::::::::,,::::::::::+::+####  :..+,.+#,:##############**#########*::++::::::++++++++++:::
::,,,,,,,,,,::::::::::::,,,,::::::::::++++**+***********+:,.     .,++++++********************######*  +#*,.,#*#############***#*###*##*+++++++::::::::++++++++:
::::+++++:++::::::++:+++::++::++****+++*******######****+:,      .,:++++::++++++++++++**+++*****##*##########*+++########:::+:::::::::::::::::::+++++++++++++++
::::::::::::::,,::::+:::::::::::::::::::::::::::::::******#*++:+*+::::::::::::,,::::::::::::::++::::::::::::++++::::::::++::::::++++++++::++::::::++:::::::::::
::::,,::::,,::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::++++:::::::::::::::::::::::::::+::::::++::::::::::::::::::::::::::::::::::++++++:::
::::::::::,,::::::,,::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::,,,:::::::::::,,:::::+++:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,::::,,::,,:,:::,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::,,,,,,::::++::::::::::::::,,,,,,,::+::::++++++:+++::::::::::::,,,,,,,,,,,
,,,:::,,,,,,,,,,,,::,,,,,,::..,,,,,,,,..,,,,:,,,:::,::::::,,::::,,::::::,,:,,,,,:::::::::::::::::,,:::::::::::::+++++:,,::++++:::::::::::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::,:::,,,,,,,,::::::::::::,,,,,,,,,,::::::::::::,,,,::::::::::::::::,,::::::++:+::::+++:::::::::::::::::+++
,,::,,::::::::::::::::::::,,,,,,::,,,,::::+:::,,.,,,,,,,,,::*+:,,,::::::::,,,:,,,,,,,,::,,:::+++::+++*++::::::::::::::::::::::::::::::::,:::::,:+:,,,,,,:::::::
,,,,,,,,,,::::,,:+::::::::::::,,,:+:+:,,,,,,:::::++::,,,,,::,,,,,,::::,,::::::::::,::,,,,,,,,,::,,::,,:+++:+++::,:::::::::::::::::::::::::::::::::::::::,,::::,
,,::,,,,,,,,,,,,,,,,,,::::+:::::+::+**++:++:,:::::++::,,,::++:,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::::,:::::::,,::::::::::::::::,,::,,,,,,,,,:::::::::::++++:::::
,,::,,::::,:::,,::,,,,,,,,,,,,::::,:::::::::::::::::::::::::::::,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,::::::::::,:::::::::,,,,,,,,,,,,::::::::::::::::::::::::::+
,,.,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,:::,::::,:::,,,,::,,::::::,,::::,:::::::::::::::::::::::::::::::::,,::::::::::+:::::,,,,,,::++::::::::+++++:::::::::::+
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.......................................................................................................................................,,......................
.......................................................................................................................................,.......................
...............................................     ....:++*#################*++:::::,.................................................,.......................
....................................,,.........  .. ::++**::,:##*+##*###########*:*+::,,,,,............................................,.......................
....................................,,.........  .  :#+,:::::##*:########.,,#######++,,,,,,,,,........................................,,.......................
................................,.++++::::++::      :*##*######*#######,,,#########*#*:*,,.,..,,,,....................................,,.......................
.................................+++++++++++::      ,:++++++:+++++++++++++++++*****++++:,,,,.,.,.,,,,,,,,,............................,,.......................
:::::::::::::::::::,,,,,,,....,,,*++++++++*:+,      :++++++++++*#*++++++++++++++++++++:+::::::,:::::,,,,.,,,....,,,::,.,.............,,,.......................
************++:::::::,,,,,,,,,:+++++++++****:,  .,  ::++++++++++++++++++++++++++++++++++++++::*####*######:,,,,,,,,......:::,,.......,,........................
**********++++::::::::,,,,,,,.++++********:,:. .... :*++++++:::+++++++++++++++++++++++*++++++####:,,###:::+#::::::+:.,..,:+:::####:,.,,........................
,,,,,,,,,,,,,,,,,:::,,:,,,,,,,,:++++++****.,,.      ,+,,,,,,,::+++++++++++++++++************#### .+...,,##+,#+++::::######+*******+:,,,........................
::::::::::,,,,::::,,:,:::::::::::::::+**+*..,       ,+++::::::++******++********++++**+++:,+###* ##.,.,:,,,,########################*+,,,,::::,,,,,,::::,,.....
::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+**+:,      .:+++++++:+::::::::::::,,,,:::::::::++::*####  ,**, :##:+##############+##########++++++++++++++++++++++++++
::::::::,,,,:::::::::::+******************+:.      .:::::::++**************+::++++++*******#####*#  ::,..,#*############*+********##++::::+:++++++++++++:::::::
::::::::::::::++++++++:++*******#######***+:.      .,,::::::::::++++:+++++++++::::::::+++++++++*######*###****########:::::+::::::::::::::::++++++++++++++++++:
::::::::::::::,,::::::::::,,::::::::::::::::++++::::::::::::::::::::+:::::,,::::::::::::::::::++::::::::::::::::::::::::::::::::::::::++*+++++::++::::::::++:::
,:::::::::::::::::::::::::::,,,,::,,,,,,::::::::::::::::::::++++::::::::::,:::::,,::::::::::++++::+++++:++::::::::::::::::::::::::::::::::::::::::::++++::::::+
::::,,,,::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,:,,,,,,,,:,,,,::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::,,,::,:::+++:::::::::::::,,,,::::::::::::,,::::::::::::::,,::::,,,,:::::::::::::::::
,,,,,,,,,,,,::,,,,,,,,:,..,,:+:::,,,::,,::::::::::,,:::::::::,,,,,,,,,::::::::::::::::::::,,::,:::,,::::::++++::::::++::::++++++::++++::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:,,,::,,::::,,,,,,,::::::::::,,,,,,,,,,,,,::::::::::++::,,,:::::,,::::,::::::::::::::::,,,++*+::::+++:::::::::::::::,:::+++::::
::::::::::::::::::::,,,,::::,,,,,,::,,,,,,,,++:::,::+:::,,::::,,,,:::,,,,,,,,,:::::::::::++++::,,:::::::::,,::::::,,,,,,::,,::,,::,,,,,,,,,,,,::::::,,,,::++++:
::::::::::::::::::::++:::,,,,,::::::::,,::,,,,,,,,,,,,,,::::::,,::,,::,,,,,,::,,,,:::,,,::::,:::::::,:::::::::,,::::::::::::::,,,,::::++::::::::::::::::++++++:
,,,,,,,,,::++:::::,,:+::++**::+++:::++:::,,+++:::,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,:++::::,:::,:::::,,::::::::::,,,,,,,,:::+::::,,::,,::::::::::::::::::::::+
::::,,,,,,,,,,,,::::,,::::::,,::::::::::,,,,::::,,::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,::,,,,,,::,,::::::::::::::,::::::::,,::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,::::,,,,::::::::::::::,:++::::::++::::::::::::::::::,,::::::,,,,::::::::::::::::::,,,,::::::::++::::::::::::::++++::,:*+++:::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.........................................................................................................................,.....................................
................................    ....................................................................................,,.....................................
......................,,........   .. ..............:++*#**################*+++:::,,....................................,,.....................................
......................,,........     .......,..,++++*#::,,:##*+###############*:+:,,,,,,................................,,.....................................
......................,,........  .  .......,:+++*#,::::,,###+#######*,***####*##:*,,,,,,,,.............................,......................................
......................,,.....,..     .:+++++++++++++++********#######*+*###########*,+,,++*+,,,........................,,......................................
.....................,,,.....,:.     .++++++++++++++++++++++++++++++++++++++*++++++++,,,,,,,,,,,,,,,....,,.............,,......................................
++++::,,,,,,,,,,,,,,.,,,..,,,.:      .:++*****#+::::+:::+++++++++++++++++++++++++++++::::::::+:*###*,,:,,,,,,,..,,,,,,.,,......................................
++++++:,,,,,,,,,,,,,.,,,,,.::,,  ..  .:**,::::,:::::::::+++++++++++++++++++++++++++++++++++*####:.::::+#:::::,+,:+**:::+::::...................................
++++++::,,,,,,,,,,,,,,,,,,,:+:,      .+:::::::::+**+++++++++++++++++++++++++++++*****+++++####  #,,##*,::#+:::::**+:,,,*,*+###*+...............................
,,,,::,,,,,,,,,,,,,,,,,,,,,,,:.      .:,::::::+*:+*:,,,,::+*++++**++++++++++++******::::+###*, ##.:::,##:,#**++++#########****+:,.....,,.......................
,,,,,,::,,,,,,,,,,::::::::::,,       ,:+++:::::,***+::::::::++++++++++++**++******##**+:+####: +:,.,:..+,:#####################*#*::::::::++::::::::,,,,,,..,,,
,,,,,,::::,,,,:::::::+++++:::,       ,:++:,,,:+++*****##****++++++++::::::::::::++++++*+*#####:.*# ,###.*##############*#########*+++++++++++++++*************+
+++++++++*********####******:,      .:+++:::::++++++++++++++++++++++++++++++++++++********######**,,,*#*#################********+:::::::::::::::::::::::::::::
++++++++++++******########*+:,..,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++***********++++++:++***##:+::::::::::++::::::::::::+++++++++++++++++++
,,::::::::::,:,,,,::::::::::::::::::::::::,,:::::::::,::::::::++::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::++++++::+++++++:++++++++++******+++++
::::::::::::::::::::,,,,::::::::::::::::::::::::,:::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::,,::::,,::::::::::::::::::::++::::::::::::,,:
::::::::::,,::::::,,::,,,,::::::::::::::::::::::,,::::::::::::::::::::::::::::,,,,::,,::::::++::++++::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,:+:,,,,:::
,,,:::,,::,,:::::,,,,,::,,::::::::::::::,,,,,,,,::::::::::::::::,,:,,,::::::::::::::::,,::+:,,,,::::::,,,,:::::::::::::::::::::::::::,::::::::::::::++++++::,,:
,,,,,,,,..,:::::::::::::::::,,::,,,,,,::::::::,,,,,,::::::::::::::::::::::::,,,,::::,,::::+++:::::::::::::::::+:::+++++:::::::++::++++:::::::::::+++++++++++++*
,,,,,,:::::,,,,,,,,,,,::,::::::,,,,,,:,,::::::::,,,,,,,,,,::::::::::::::::::::::::::,,,,,,:::::::::::::::,,:::::::::::::,,,,::::::,,,,::++++:::::::::::+:::+++:
::::,,,,::::,,:,,,,,,,,,,,,,:+*:,,,,,:::::::::::::,,:::,,,,,,,::::::::::+::+++::,,,:::::::::::::::::::::,,::::,,,,,,,::::,,,,,,,,,::::::::::+::::::::,,,,,:::++
::::+++:+:,,,,::::::,:::,,,,,,,,,,,,::::::,,::::,,::::,,,,,,,,,,,,,:::::,:::++::::::::::::+:::,,,,::::,,,,,,,,,,:::::++++::::::::::::::::::::::::++::::::::::::
::::::::++**::+*++::::+:::,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::,,::::::::,,::,,,,,,,,::,,,,:::::::::::::::::::::+::++::+:::::::+:,,:::::::::::::
::::::::::+::::::::::::::::,,:::,,,:,,,:::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,::,::::::::::::+++::::::::::++::,:::,,,::::::::::::::::::::::
,,,,,,,,,:::,,::,,::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::,:++:::::::::::::::::::::::::::::::::::::::::
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...........................................................................................................,...................................................
...................    ...................................,,,,:::::::::,..,................................,...................................................
........,,........ ..............................,++*#+::#################++:::,,,........................,,...................................................
........,,........     ...................,..,*++*#:,,,:*###*################+++::,,,,....................,,...................................................
........,,......,.  .  ...........,,....,.:+++**#:::::,:##+,#######::#**#####*#*:*,,,,,,,.................,,...................................................
......,,,,.......      .....:+++++++::++++::++++++::+++++++++++++++++******###**++......,,::,,,,..........,,...................................................
.......,,,.......      ....,*+++::::::::::::::::::::+++:++++++++++++++++++++++++++:,,,,,,,::::,,,,,,,,...,,,,,.................................................
,,,,,,,,,,,,.,..,  ..  .,..:+:::::::::+***+***:+::++++++++++++++++++++++++++++++++++++++:+####*######,::,,:,,,,, .:+:,..,,.....................................
,,,,,,,,,,,,,,...     ...::::::::+++**::+*,*:***+:++++++++++++++++++++++++++++++++++++++####*..*,*#*::#+::::+*:... ,+:::*##*...................................
,,,,,,,,,,,,,,,,.       .+++:::+++***,::::,:*:***+++++****************************++++*####: ##*,:::,::#+++++::######+****##+:.................................
,,,,,,,,,,,,,,:,       .::++++++++***,:*,:::*****,,,:::::***++**************##****::::+#### ,+,.,.::##,+#####################**:...............................
::::,,::::,:,,:,      .,+++++:::::+++,,,:*+::***+:::::::::::,,,,,,,,,,,,,:::::::::**+:*####* **..*,.::,##############*#########+::::::::++++++++::++++::::::+++
:::++******++::,      .,::::::,,:::::+++::+*****++++**********++++:::+++++::::::+*****#######*  ,,...##############******#####+:::::::++++++::+++++++++++++++++
**######*****+:.      ,:++++:::::::::+::++++++++::::::::::::::::::::::::+:::::::++++****########***#**#############*+:#####***++::::::::::++++::++::::::::::+++
*+++**######*##*++++++++++::::::,,,,::::::::::::::::::++::::::::::::::::::::::::::::::::::::++::::::::++++++::+:+:::+:::::::::::::::::::::::::::+++++++++++++++
::,,::::::::::::::::::::::::::::::::::::::::::::+:::::++::::::::++::::::+++:::::::::::::::::::::::::::::::++::::::::::::::::::::++::++::::::::::,:::::++++::+++
::::::,,,,::::::::::::::::::::::::::::::::,,::::::::::::,,,,::,:++::::::::::::::::::::::::::::::::::,,::::::::::::::::::,,,,::::::::::::::::::,::::::::::::::::
,,,,,,,,::,,::::::::::::::::::::::::::::::::,,,,::::+++:::::::,,::::,,,,,,,:::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,:::::::::::::
::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::,,,:::::::,,::::::+++::::++++::::::::::::::::::++::::::::::::::::::::::::::::::::::++**++++++::::::::::+++
:::,,,::::,,::,:::,,,,::,,::::::::,,,,,,::,,::::::::::::,,,,::::::,,::::,,:::::::::::::::::::+++,,::++++::::,,::::,,::::::*++:::::::::::::::::::::::::++:::::::
,,,,,,,,,,::::,:+:,,,,::::::::::,,::,,,,,,::,,::++++:::+++++::++::,,:,,,::::+:::::::::::::::,,::,,,,,,,,,,,,,,,,::::::,,::::++::::::::,,::+++::::::::::::::::::
::::,,,,,,,,,,,:::,,,,::,,,,::::::::::::::,,,,,,,,,,,,::,,,:::,::+::::::,,::::::,,::::::::::::,,::,,::::::+++::::::::::::::::::::+++::::::::::,::+++::::::::+++
::::,,,,,,,,,,,,,,,,,,::::::::::::::,,,,::::,,,,,,,,,,::::::::::::::,,::::::::::::::::,,,,,,::::+:::::,,::::::::::::::::::::::::::::::::::::::::::::::****:::::
::::::::::::::+:::,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::,,::,,::,,,,,,::::::,,::,,,,,,::,,:,::::::::::::,:::::,,:::,,:::+:::::::::::::::+:::::::::::::::::::::++:::
:,::::::::::,,::::::,,::::::::,::::::,::::::,,::::::,:::,,,,,,,,,,::::::::::::::::::::::,,::::::::::::::::::::::::::::,:++++::::::::::::::::::::::::::::,,::::,
:::::::::::::::::::::::::+::::+:,:::::,,::::::,,,,,,,,,,,,,,::::::::,,::++::::::::::::::::::::::::::,,,,::::,,,:+:::,,,,,,,,,,,,::,,,,,,::::::::,,::::::::,,,,,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..      ....................................................................................,..................................................................
..  .  ........................................::+##*#################:*:,,,,,..............,..................................................................
 .     ....................................:++*#::::,##**###############*:+:,,,,............,..................................................................
..  .. ...............................,,+++*#:,,::,:##*+########,,.*#######*.+...,,,.......,,..................................................................
..     ..................,,,,,::::::::::::+++++++*************##############**,,.:,:+:+:,,.,,..................................................................
.      ...........,,,,,,:::::+++::::::::::::::+++++:+++++++++++++++++++++++++++:,,,,,,::::,,,,,,,,,,....,,,....................................................
.      .......,,.,,,,,.,*:++++++++:+****+:::::++++++++++++++++++++++++++++++++++++++:+*###**####*:,,,,,,:,,,..,,:,.............................................
.   .  ..,,,,,,,,,,,.::++++++++++**:::+::+**++++++++++++++++++++++++++++++++++++++++####*.:+#,*+,:#::::::+:.,.,.:,::*##*.,.....................................
.   .  ...,,,,,,,,,,,+++*********+:,:+,,*+***+++++++++++++++++++++++++++++****+++++####:..:*,,:###:#+++++::######***+*##::.....................................
        ,,,::::::,,,,:++*********,:*:::,:,***:,,,,:::*****++****************#*,,:::#### ,##,,.:,*#,*#####################**:...................................
       ,:::::::::::::::::::+*****,,:::,:*:***:::::::,:::::::,,,,::,,::::+++++**#+:+####+ +..+,.:#+,##############*#########+++++:::::::::::::::::::::::::::::::
      .,::::::::,,::::::::::::++++:,::,:++********++++++++++++::,,,,::::+++*******#######+..:+..,###############******####::::++++++++++++++++++++::::::++++++:
      .:++++,,:::::::::::::+++++::::::::::::::::::::::++++****++:,,,::::+++***######**#########################*+:######**++::::::::::::::::++++::::::::::::::+
..,,,,::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::+++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::++++++::::::::::::::::::,,::++++++++::+++++++++++++++++++
::::::::::::::::::::::,,::::++::::::::::::,,:::::++:,,::,,::::::::::,,::::,,::::::::,,::::::::::::::::,,,,,,::,,::::::+:::::::::+:::::::::::::::::::::::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,::+::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,::::::::::::+++++++++::::::++
::::::::::,,::::::::::::::::::::::::::,,:::::::,,:::::++++::,:++::::::::::::::::::::::++::::::::::::::::::::::::::::::::++*++++++++:::::::::+++:++++++++:::::::
::,:::::::::::::,,,,::::::::::::::::::::,,,,::::::,,::::,::::,,,:::::::::::::++:,:::++++::::::::::::,,::::++::::::::+:::::::::::::::::::::::::::::::::::::::+++
::,,:::,::::::::,,,,:,,,::::::::::++:::+++::::,::::::,,,::::::::::::::::::,,,,::,,,,,,,,::,,,,,,::,,,,::::::++::::::::,,::+++:::::::::::::::::::,,::,,::,,,,++*
,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,::::::++++:::,,:::,,::::::,:::::::::::,,,,,,,,,,::++::::::::::::::::::::::::::::::::::::::++*+::::::::++++::::::::::::::+
,,,,,,::::,,::::::,,::::,,,,,,,,,,::::::::::,:::,,::::::::,::,::::::::,,,,,,,,::::,,::,,,,::::::::::::::::::::::::::::::::,,,,:::::::+***+:::::::::::::::::::::
,,,,,,,,,,,,,,,,::,,,,,,,,,,::::,,,,,,,,:,::::::,,,,::::::::,,,,,,::,,,,::::::::::::::::::::::,,::::::::,:::::::::::::::::::::,,::::::::++::::::++:::::::::::::
::::,,,,::::::::::,:::,,::,,::,,::::,:::,,,,,,,,,,::,,::,,::::::::::::,,::::::::::::::::::::,,,,,,::,,,:+++++:::::::::::::::::,,,,::,,,,,,::::::,,:::::::::::++
::::::::::::+:::::::::::::::::,,::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,:::,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::,,,,,,,,:::::::::::::
::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++*+++::::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::,,::++::::::+++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..................................................................,............................................................................................
.................................................................,,............................................................................................
..........................................:++*##################:+:::,,,.......................................................................................
.....................................,:+++#+:,:+##**###############+++,,,,.....................................................................................
,,,,,,,,,.......................,,::::+#::,,,,,##+:#######,.,+*#######,*..,,,,,................................................................................
,,,,,,,,...........,,,,,:::::::::::::+++********#***#####***##**########*:*++**#:,.............................................................................
,,,,,,............,+::++::::::::::::++++++++++:+++++++++++++++++++++++++++::,,,,::::,,,,,,,,,,.................................................................
,,,,........,,....+*++++++::::+++++:+++++++++++++++++++++++++++++++++++++++++++++*#########+,,,,,,,,,,.,,,,,...................................................
,,,,,,,,,,,,,,,.:::::++++++++*::::,+***+++++++++++++++++++++++++++++++++++++++*####*.:,+::::##:::::++.,.  ,+:::##:,,...........................................
,,,,,,,,,,,,,,,,+++++++++++*+,:+*+,*:**:,,:::++::::++:::::++++++********++++++####,.#+.:+,,#::#+++++:+#####*+**###+:...........................................
,,,,,,,,,,,,,,:,++++**+++***,:*:::::+:::,,,,,,,::::++++++++++************:::,,#### *#,:,,++##:####################**+:.............,,,,,,,,,,,,,:*,,..,,,,,,,,,
,,,,,,::::::::::::::++++****,,,:::+++:::,,,,,,,,,,::++++++**++***********##*::####  ##*,,**:,:#######################*++++++::::::::::+*##**+,..       .::::::+
,,,,::::::::::::::::,,,,,:+++:::+:+++++++++++::::::+********++++++**++++++++:*####**. :.*#.,##############+++**######::::::::+++::::++::::++++::++::+++++++++++
++++:::::,,,::::,,,,,,,,::::::::++++::::::::::::::++++++++++**********#####################################*######**+::::::::+::::++++**++++++++***************
::::::::::++::::::::::::+:::::::::::::::::::::::::::::::::::++++::::::::::::::::++::::::::::::::++++++:+++::++::++++++::::+++++++++++++++++++++++++++++++++++++
++++++::::::::::,::::::::::::+::::::::::::,,::::::::::::::::::::::::::::::::::+:::::::+::::::::::,,,,:::::++++++++++++++::::::::++++++++++++++**************++*
::,,::,:::::::::::::+++:,,::::,,::::::::::::::,,,,::::::::,,::::::::::::::,,,,,,::::::::::::+:::,,:::::+:::::::+++::::::::::::::::::::++++::::::::::++++::::,,,
::::::::++::::::::::::,,,,,,,,,,:+::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::::::::::::::++::::,,,,,,:::+++::++++:+++++++::::::++::::::::::::::::::++++::+++++
:::::::::,,:::::::::::::::++*+::,:++++::::::::::::::::::++++::::::::::::::::::::::::::::::::+++++++**++::::::::::+::++++++::::++::::::::++++++::::::::::::::::+
::::::::::::,,::::::::::::::::::::,:::::::::::::::++:::::+++::::,,:::::::::::+++::::::::::::::::::::::::::::::,,:::,,,::::::++++::::::::++++++++++++::++++++::+
::::++::::++:::::::::::::,::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,::+**+*+::::::::::::::::::::+
,,::::::::::::++++:+++,,:::::,::::::,:::::::::::::,,,,,,,,:::::::::::::::::::::::::::+++::::::::::::+**+:::::::::::::::::::::::::::+***+++:,,,,:::,,::++***++++
::,,::::::::::::,,::::::::::::,::,::::::::,,,,,,::::::::::,,,,::::::::::::::,,::::::::::::::::::,,,,,::::*+:++::::::::::,,,,::::++:::::::::::::::+:::::::::::::
::,,,,,,,,:::::::::::,::::::::,,,,,,,,::,,,,::+:::::::,,,,::::,,::,,,,::::::,,::::::::::,,,,::::,,::::::::::::::::,,::::::::::::::::::,:::::::::,:++*+:::::::::
,,::::,,::::::::::,,,,,,::,,,,::::::::::::::,,::::::::::::::::::::,,,,::,,::::::::::::,,,,::,,::,,,,,,,,,,,,,,,,::,:::,,::,,::::,:::::::+++:::*+::::++:++:++++:
::::::::::::,,::::::::::::::::::::::::::::::::::::::::::,,::::::,,:+::,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::::+:,,,,::::::::::+:::::++++++++++::::::+++**+++*++
,,,,,,,,::::::::::::::::::::++::::::::::::::::::+:::::+:::+++++++:::::,,,,,,,,,,,,,,,,::,,:::::::::::::::++::::::::,::::::::::+:::++::::::::::::::::::+*+++++*:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.....................................................,,........................................................................................................
.....................................................,.........................................................................................................
.........................................,:+*################*+*::,,...........................................................................................
.....................................:+:+*:,,,##*:##############*:+:,,,,.......................................................................................
................................,::::+*:,,,,,+##**#######:,+####**##,:,.,,,,...................................................................................
..,,............,...,,,,,,,,,::::::+*********##*+######,,:##*#######*#:+,,.,,,,................................................................................
,,,,.............+++++:::::::::::::::++++++++:+++++++++++++++++****+++*+,,,,,,,,,,,,,,,,.......................................................................
,,,,............,*++++++::::::::::::::::::++++:+**++++++++++++++++++++++++::::::::+++++:,,,,,,,,,,,,,,.........................................................
,,,,,,,,,,,,,.:::+::+++++++*+:::,:::+:::::::::::::++++++++++++++++++++++++++++*#####:,,,*##*:::::++++*+.++::,,,,,..............................................
,,,,,,,,,,,,.,+++++++++++**:,,:::,::++:::::::++++++++++++++++++++++++++++++++####*:+*,###*:*#+++++:***:,,*,++*##*,.............................................
,,,,,,,,,,,,,,:+++++++++++:::::::,:,+++,,,,,,:++++++++++++++++******###*++***###*.##::++,:#:*#++++*+#########**++:,....,,,..,,,,,+*:..,,,,,,..,,,,.....,:+:,,,.
,,:::::::,,,::::::++++++++::::::::::+++,,,,,:::******************#******#*::*###+ #*,:::,*#:*####################***:::+**#*++..        .:::::::::,,,::::::::::
,,,,::::,,,,:::::::::::+++::,:+:::++::::::::+++++++:::::::::::::::+++++++++:*####,.#:.#*#:,*#######################+::::::++++++++++++::+++++++++++++++++++++++
,,,,,,,,,,,,::::::::::::::::::::::::::::++++++++**++++++*********#################*#....:####################****++:::++++**++++++++++****++**+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::++++*****++++***#####*++++::+++++++++++++++++++++++++++++++++++++++++++++++++++
::::::::::::::::++::::::::::,,,,::::::++:::::::::::::::::::::::::::::::::+++::::::::,,,,::::::::::::++++++++::::::::::++++++++++**************++++++++++++++++*
:::::::+++::,,::,,::::::::::,,::::,,::::::::,,::::::::::::+:::,,,,,,,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::++::::::::::++++:::,,,,,,,,,,,::+++++
::::::::::,,,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,::::,,::::::::::::::,,,,,:::+++:::+::+++++:++::::::+++::::::::::::::::::++++::::+++++++++++++++
:::::::::::::+*+::,:::+:::::::::::::::::::::++++::::::::::::::::::::::::::+:::::++++++**++::::::::::++:+++++::::++::::::::++::++::::::::::::::::++++++++++:::::
::::::,,::,,::::::::,,::::::::::::::+++:,:::++++::,,,,::,,:::::::+++::::::,:::::::::::::::::::::,,,,,:,,,,::::++++::::::::++++++++++++::++++++::::++++::::::::+
,,:::::::::,,,::::::,,::::,,,:::::,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,,,::,:::::::::::,:::::::::::,,:,,,,,,,,,:+**+++:::::::::::::::::::++++++++++:::::
:::++:++,,,::::::::::::,::::::::::::,,,,,,,,,:::++::::::::::::::::::::::++::::::::::::::**:,::::::::::::::::::::::::::++++++::,,,,::::::+++***++++++::++++:::+:
::::::::::::::::::::,,::::::,,,,,,,,::::,,,,::,,,,:::::::::::::,::::::::::::::::::,,,,,,::::+*++::::::::::,,,,::::++::::::::::::::::+:::,,::::,,:::+++*+:::::::
:::::::,::::::,:::,,,,,,,,::,,::::::::::,:,,::::,,,,,,,,:::::,,,::::::::::::,,::,,,,::,,::::::::,,::::::::::::::::::::::::::::::::,,::++::::::::::::::,,,:,,,,:
::::::::::::::::::,,::::::::::::::::::::::+:::::::,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,::::,,,,,,::,:::::::++*++:++:::::::+++::++++++::+++++++++
::::::++++:::::::::::::::::::::::::::::::::,::::::::,:+:,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,:::+:,,,,,:++:::::::::::::+++++++++::::::+++**+++++*++*+++++:::+++
::::::::::::::::::++::::::::::::::::::::::::::++++*+++::,,,,,,,,,,,,,,,,,,,,::::::::::::::::++::::,:::,:::::::::++:::++:::::::::::::::::+++++++*+*++++++++++::+
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...........................................,...................................................................................................................
...........................................,.............................................................................................................,.....
...........................................,........,,,,................................................................................................,,.....
.......................................,+++**+*#*##############++::,,,..................................................................................,,.....
...................................:+:++*,,::,##*#################,+:,,,,,..............................................................................,,.....
............,,.................,::::++::::::::#*:*######,,#***######*:*,,,,,,...........................................................................:......
............,,...,++++::::::::::::::::::::::++++++*****################+++++***:,,......................................................................:......
,,,,........,,...*++++::::::::::::::::::::::+:++++++++++++++++++++++++++::,,,,,,::,,,,,,,,..............................................................,......
,,,,,,,,,,,,,,.,,+++++::::::++++*+++,:::::::::+++++++++++++++++++++++++++++++++++*######*::,,,,,,,:,,,,,..,............................................,,......
,,,,,,,,,,,,,,::::++:::::+++:,::++::+:::::++++++++++++++++++++++++++++++*+++++*####,,:::::*#+++++:*,.,,,,:+**+,.,......................................,,......
,,,,,,,,,,,,,,:+::::::::+++::::,:,::++*+++++++++++++++++++++++**********+++++###*:,###,,###:##+++++:*###++:*####*:...........................,::,.....,:,......
,,,,,:::::::::::++:::++++++:::::,,+++**:,,:::::***********************#*,,:::#### +:.::,:,**,#*******#########*+*+:,       .,,,,,,:,,.,,,,::,:+:::::,::*,::,...
,,:::::::::::::::::::::++++:,:,:::,+***:::::::::::::::::::::++++**#*##**##*,*###* ,#+.,.,+#:*#####################**++++++++****+++++:++++++::++++::++:++++++++
::::::::::::::::::::::::::::::,,:++++*+*******++**++++**************++++*+++*#####* .####..################***#####+++++++++*+++++++++++++++++++++::++++:+::++:
::::::::,,::::::::::::::::::::::::::::::::::::::::::++::++++++++++++******########################################++++++++++++++++********+++++++++++++++++++++
::::::::::::::::::,,::::::,,,,::::::::::::++::::::::::::::::::::++::++++++++++++++++++++++++:+++**++*+++++++****++++++++*+++++++++++++++++++++++++++++:::::::::
++::::::::::::::::::::::::::::::::::::::,,,,::,:::::,,,,,,,,,,,,,,,,,:::,,,,::::::::::,,,,,,,,::::::::::::::++++::::::::++++:::,,,,,,,::++::::++++::+++++++++**
::::::::++++::++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::,,,,,,::::::::::::::::::::::::::++::::::::::::::::::::+:++++++++::,,,,:::+++**+::::::::
::::::,:+:,,,,::::::::,,,:::::::::::::::::::::::::,,,,::::,,::::::::::+**+++::::::::,,:++:::++++*+::::::::::::::::++::::::::::::::::::::++++::::::::++++:+++++:
::,,::::++:+::++::::::::::::::::,::::::::::::::::::::+++::::::::++::::::::::::::+:::::::,,,,:::::::::::::::::::::+++::::::::::::::++::++::::::::::::::+++++++++
,,:::::::::::::::::::::,,,::,,,:::,,,,,,,,,,,,,,,,,,,,:::++:::::,,,,,,+++:::::::::::::,,::::,,,,::,,,,::++***+*+::::::::::::::::++::++++::::::++:::::::::::::::
::::::::::::::++::::::::::,,,,,,,,,:+:,,,::::,,,,,::::+:::::::::::::::::::,:+++:::::::::++++,:::+::::::::::::+*+,,,,,,:++::::::++++:::++::::++::++++:::::::::::
::::::::::,,,,::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,:::::::+**+:::::::::::::::::::::::::::::::::::::,,,,,,::,,::+++*++::::::::::::::::++:
::::::::::::,,,,,,,,,,,,,,,:::::::::::,,,,::,,:::::,,:::::,,::::::::,,:::,,,,:::,:::++:::::+++:::::::::::::::::::::::::::++++:::::::::::,:,,,,::::++++++++:+***
::::::+::,,,,,::,,,:,:::::::+:::::::::::::::::++::::+++:::::::::,,,,::,:::::::::,,,,,,::::::::::::,,,:::+++++:+:,::::::::++++++:::::::::++++::+++:+::::::::::::
::::::::::::::::::::::::::::,,::++::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:::::,,:,,,,,,,,,::,,::::::,:,:++::+++*++++::::++::++::+++++:::+:++::::++::++++:++
::::++::,:::::::::,,::::::::::::::::::::+++::,,,,,,,,,,,::,,,,,,,,,,:::::::::::::,,,,,,,::,,::::::::+:+:,:::,,::::+:++:+++:::++::::+::+++:+::+++::+++**+**++++:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..................................,,...........................................................................................................................
..................................,............................................................................................................,...............
................................,.,............................................................................................................,...............
..................................,......,::**#################*+::::,.........................................................................,...............
.................................,,..,::++*:,,::#*#*###############:+:,,,......................................................................,...............
...,.............................,::::++,,,,,,:*#*,######*,,,######*#*,:,,,,,.................................................................,,...............
..,,...............,::::::::::::::::::::::::+******#####*::#***#########::,,,,,,,.............................................................,,...............
..,,,,............:+::::::::::::::::::::::::+++:+++++++++++++++++***++++++::,,,,,,,,,,,,,,....................................................,,...............
,,,,,,,,,,,,,,,,.,++:::::::::+++++:+::::::::+++++++++++++++++++++++++++++++++++++*:*#####+,,,,,,,,,,,,,.......................................:................
,,,,,,,,,,,,,,,,::::+:::++++*+::::::+**+++++++++++++++++++++++++++++++++++++++++#####,:::::##+:::::+,,+++,++:,,...............................:................
,,,,,,,,,,,,,,,,::::++++++**:,::+,:+++**++++++++++++++++++**++++++++++****++++*#### ,###,+##:**++++++*##+,,++**###..................,,,,......:................
::::::,,::::::::,:+++++++**+,:++::::+:**+,,,::::*************************:,,::####.,#:,::*,,:,#***+++*########**+::,,,,,,,,,.,,,,,,,++:,::,,:+:,,,.............
::::::::::::::::::::::::+++++,:,++,*:****:::::::::::::::++******#######*####::####*.#:,,,,###,####################**+:+:++++::::::::::++++:::+++++++++++:::::++
::::::::::::::::::::::::::::+:::,,:+*************+++++++************++++++++*+###### ,###+:,+#######################++++++++++++++++++**++****+++++++++++++++++
,,,,::::::::,:::::::::::::::::::::::::::++++++++++++++********########################*##*####################****++++********++++++++++****++++**++++::::::::+
::::::::::::::::::::::::::::::::++++++::++::::::::::::++++++++++**++++++++****++****++*****+********+++++++:::++::+:::++++++++::::::::++:+++++:::::::::::::::::
++::::::::::::::::::::::::::::,,,,::,::,::::,,,,::::::,,,,::,:,,,,::::::::::,,::,,,,::::::::::::++++++::::++::+++++::,,,,,,,:++::::::+++++++++++++********##***
++::::::++::+:::::::::::::::::,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,::+:::::::::::::::::::::::::::::::::::::::::::::::::++++++::,,,,::,:::::::::::::::::++++:::
,,::::::::::,,,,::::::::::::::::::::::::,,,,::::::::::::::::::+++++:::::::::::*++:++++**::+:::::::::::::::::::::::++::::++::::::::::::::::++:::+:+++++++::+++++
++::++::::::::::::::::::++++:::::::::::::::+++::::::::+:::::::::+:::::++:::::::,::::::::::::::::::::::::++::++::::++::::::::::::::::::::::++++++++++::+++++++++
+:::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,:::+++::::,,:::::++:::::::::::::::::,,,,,,,,,,,,+++****+++::+:::::::::++::++++++::::++++++++++::::::::::::::::::++*
::::::::::,:::::,,,,,:,,,:::::,,:::,,,,,::::::::::::+:::::::::::,:++::::::::::::++::::+:::::::++::+++:,:::::++::::::::::::::::::::++::::+:::::::++::::++++++:++
::::::::::,,,,,,::::,,::::+:::::::::::::::::::::::+:::::,:::::::::,,:::::++:::::,,::::::::::::::::::::::+:::::::,,,,,,,,,::+++++::::::::::::::::::::::::::+::::
:::::,,,,,,,,,,,::::::::::,,::,,,::::++:::::::::,,:::::::::::::,,,,,:::,,::+:::::::::::::::::::::::::::::::::::+:::::::::::::::,,,,:::++++++++:::+***+++++++++:
,,,:::::,::::::::::::++:::::::::::,:++:,,:+*+:+:::::,,::,,,,,:::::::::,,,,,:::,,:,,,::,:::,::+:+::++:,,::::::++*++++::::::::++++++++++::+:::::::::::,,,:::::+++
::::::::::::::::::,,::++::::::::::::::,,,,,,,,,,,,,,,,,:::,,,,,,,,,:+::::,.,,,,,,,::::::::::::,:,::+::+++*++:::::::+::++::+:::+:++::::++++++++++++++****+:+++++
::::::::::::::::::::::::::::::++*:::,,,,,,,,,,::,,,,,,,,,:::::::::::::::,::::,::,,::::::::+:*+,::::::::+++++:+*+:::++::::+:++++:+::+++::+++*++**++++++++::+++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
..........................,....................................................................................................................................
..........................,............................................................................................................,.......................
..........................,............................................................................................................,.......................
.........................,..................,,:**################*+::,.................................................................,.......................
.........................,..............::+:**,,,,##**##############*:::,,,...........................................................,........................
....,,...................,..........,::::++:,,,,,+##+#######:,:######*#*++:,,,........................................................,........................
....,,...............,::::::::,,,:::::::::+++*****##*#####*,:##***########+:,.,,.,,...................................................:........................
,,,,,,,,.............:::::::::::::::::::::::::+++:+++++++++++++++++***++++++::,,,,,,::,,,,,,,,,,......................................:........................
,,,,,,,,,,,,,,......,+::++:::::::+++*+::::::++++++++++++++++++++++++++++++++++++++:*+*#####*:,,:,,,,,..,,..,.,........................:........................
,,,,,,,,,,,,,,,,,,::::++++++:++*+:::::++**++++++++++++++++++++++++++++++++++++++++#####,:::::+#*++++:+,.::: **+:,.....................:........................
,,,,,,,,,,,,,,,,,,:+:+++++++++*::+,::,::**++++++++++++******++++++++++******+++++####,,:##+,*#:,#+++++++###+,+**+###........,,,.......:........................
,,::::::,,,,,,,,,,::++**+++***+,:+::,:*+***,,,,,:,************************#+,,::*###*,##,:,+,:*,+#####**########**+::,,,,,,,:+:,,,,,:+,.,,.....................
:::::::::::::::::::::::::++++**,:+*:+*++***+::::::::::::++++*******######**###:,*#### :,,,,,###,#####################**+++++:::::::::+::++::::::::::::+++++++++
::::::::::::::::::::::::::::++++:::::+**********++++**+***************++++++++++######,.*##,#,,##############*########**++**+*********++++++++++++::++::::++++:
::::::::::::::::::,,::::::::::::+++++++++++++++++++++*********####################################################**++++++++++++**++++++*++++:::::::::::::+++++
::::::::,,:::::::::::::::+++++::++::::::::::::++++++++++****++++++++++++**++******++******++++++:+::::::::++:+++::::::::::::::++::++++::::::+::::::::::::::::::
::::::::::::::::::::::,,,,::,:::::::,,::::::::::,,::,:,,,,::::::::::,,::,,::::::::::::::++::++::::++::++++::,,,,,,,,:++::::::+++++++++++********####*******###*
++:::::::::::::::::::::,,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,,,,,,:+::::::::::::::::::::::::::::::::::::::::::::::::::++++++::,,,,,,,:::::::::::::::::++::::::+++++++
::::,,::::::::::::::::::::::::::,,::::::,,::::::::::::++++::::::::,,::*++:++++**::::::::::::::::+:::::::::++::::::::::::::::::::++::::++++++::++::++++++:::::::
::::::::::::::::+++:::::::::::::::+++:::::::,:++::::::::+::+:+++:::::::,,,::::::::::::::::::::::::::++::::++::::::::::::::::::::::::::++::::::++::+++++++++++++
:::,:,::::::::::,,,,,,,,,,,,,,,,,,::::++++::::,,::::+++:::::::::::,,::::,,,,,,,,,,,:+++***++++,:+:::::::+++:::++++::::++++++::++::::::::::::::::::++++::+++++++
::::::,,,,,,::,,:::::,,::::,,,,,::::+:::::::+:::::::::::,:++::::::::::::+:::::+:::::::++::++::::::::++::::::::::::::::::::::+:::::::::::++::++++++++++++:::++::
::,,::,,::::::::+++:::::::::::::::::::::::+:::::::::::::::,,:::::+::::::::::::::::::::::::::::::+:::::::,,,,::,,:::+*+++::::::::::::::::::::::::++::::::++::::+
,,::,,:::::::::::::,,,,,::,:::+:::::::::,,:::::::::::::,,,,::,,:,:++::::::::::::::::::::::::::::::::::++::::::::::::::,,,,,:::++++++++:::+**++::::++::::+++++++
,:::::::::::++:::::::::::::+*:::,:**::::::::,,,,,,,,,:::::::+:,,,,,::,,::,,:::::::::,+:+:+++,,::::::::+*++*+::+:::::++++++::+::::,::::::::::::::,:++++*+::::::+
::::::::::,,::++::::++::::::,,,,,,,,,,,,,,,,,,::::,,,,,,,,,:+::::,.,,,,,,,,,::::::+:::::::++::++**++::::::+::+*::::::+::::::++++++::++++::++***+::++::++:+*++++
::::::::::,,::::::::::+*::::,,,,,,,,:::::,,,,,,,,:::::,:::::::::,:,,:,::,,::::::::+++:,::,,:::::::++:+*+:::++::::+:+++:+::+*:::::+**++++::::+++++++++++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............,,.................................................................................................................................................
............:..................................................................................................................................................
..........,.,............................................................................................................,.....................................
............,............................................................................................................:.....................................
............,......................................,:+**###############*:::::,...........................................,.....................................
...........,................................,..,::+*::,,*#*:###############:+,,,,,.......................................,.....................................
..,,,,,,,,,,...............................,::::*+,,,,,,*#,*######.,,######*##,+,.,,....................................,,.....................................
..........,,..............,...,,,,,,,,,,:::::::+******#*########*,,+#***########*::,:+**,,..............................,..................................,...
,,,,,,,,,,.,..............,,:+::::::::::::::::::++++++++++++++++++++++++++*+++++++::::::::::::,,,,,,,,..................,.................................,,...
,,,,,,,,,,,,.,,,.........,,,:::::::::::::++::::+++++++++++++++++++++++++++++++++++++++++++#########+::::::,,,,,:,,......+..................................,...
,,,,,,,,,,,,,,,,,,......,,,:::::++++++++:::::***++++++++++++++++++++++++++++++++++++++++#####,::++::*#++++++:.,...,:,:#*,,.................................,...
,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++++**:::++:+*+***++**++++++++++++++**************++***###*:,#:.+::+*:#*++++++#####*++*##*:................................,...
::::::::::,,,,::::::::::::+++++++++**+:+*:,:,::***::::::+*********************##**::::+####,#*,+,:+*#*:###################**,,..,,......,,..............,,,,:::
::::::::::::::::::::::::::::::::+++*+*:,:*:,******::::::::::::::++++++++*+*******###+,*####*.#*#.:##*,######################*:::::::::++::::::++++++++++++++::+
:::::::::::::::::::::::::::::::::::+++++::::++********************##**####************#######:.:,*+,+#############******####::::::::::::::::::++++:::::::::::::
::::::++::::::::::::::::::::::::::::++::::::::::::++++++**********************###################################*++#####**+++++::++++::::++::++++++++++:::::::
::::::::::::::::::::::++::::::++::::::::::,,,,::+:::::++++++++++++::::::::::++++++++******+*****+++++++++++++*+++++*+*++*****+++++::++::++:::::::::::::::::::::
::::::::++::::::::::::,,,,:::::::::::+::,,,,::::::::::::::::::::::::::::::,:::::::::::::::::++:::,,,,,,,,,,,::++:+++++++++++++****##****##**********++**++****+
::,,,,,,,,,,,,,,,,,,::::::,,::::::::::+::::,,,,:::+++:::++++++++::::::++++++::::::::::::::::++++::::++++++++++::++++*+::::::::::::::,::::::+**++++*++++++++++++
::::::::::::::++::::::::::::::+::::::+*+::+***+:::::::,::+::+++:+:::::::::::::::::::::::::::::::::::++::++++++::++++:::::::::::::::::::::::::::::::::::::::::::
::+:::::::::::::,,:,::++::::::::::::::::::::,::::::+::,,,,:,,,,,::::+++:::::::::++::::++++::::::++::::::::::::::::::::++::++++++++++::+++++++++++++++++++++++++
::::,,::::,,::,,::::::::::::,::::,,,:::::::::::::::::::::::::::,:,,,,,,,,,,:**+++:,:::::,:,:::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::+++++++
,:++++:::::::::::::::::::::::::::::::::::::::+*+::::::::::::,::::::::::::::++++++:,,,,,,:::::::+**++++++::::::::::::::::+:::::::::::++++::::::::::++::::::::+++
::::::::,:::::::::::::::::::::::+:,,::::,,,,,::::++:+:::::::::::::,,:::::::::::::::::::++:++:,,,,,,,:,::++**++:::::::::::+++::::::++::::::++++++++++++*++++++++
::::::::,,,:::::::,,::::::,,::::::::::::,,::::,,:::::,,,,,,,::::,:::::++::::::,,::::,:::::,:::,:::::+++:,,,,,,::,::,::::::++++******++++++++++:+***++++****+++:
::::::::::::::::,:+**+++::::::::::::,,,,,,,,,,,,:::,,,,::,::,,,,,,,,::::+::::,++**:,*+:++::::+:+:::+:+::::::::::::+++:::,,,::,:++:::::++*++::+::::+::::::::::::
::::::::::::::,,,,,,,,,,,,,,,,,,::,,,:::,,,,,:.,:::::+,,,,,,++::::::::+::,::++::+::++++:::::+*++:++:*:+**++::::+++::++++++++::::::::++++++++++++:::+++::::::::+
::+:++++::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::*::,::,+:::::::::::::::,++:::,:::::::::::::++:+::*+*++++::::++:++++++++:::+::++*+:::::+++++**++::++********::+
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
....,,.........................................................................................................................................................
....,..........................................................................................................................................................
....,,............................................................................................................,............................................
...,:..........................................................................................................................................................
..,.,....................................................,:++***########*+:::,...................................,.............................................
...,,,............................................,:+:**,,,***###############:+:,,,,.............................,.............................................
...,,..............,..........................,::::++:,,,,+*+*#######..#####**#*:+,,,,...........................:.............................................
...,...............,.......................,::::+**+:+++++###*#####,,,##**########*::.,..,.......................:.............................................
..,,...........................:::::::::::::::::::++++++++++++++++++++++++++*****+++::::,,::,,,,,,,,,,,,.........:.................................,...........
,,.,,,..,,,,......,...........,+:::::::::::::::::+++++++++++*#**++++++++++++++++++++++++++++++####**+:::::::,,..+:.,...............................,...........
,,.,,,,,,,,,,,....,,........,,::::++++++++++,,:***++++++++++++++++++++++++++++++++++++++++*#####,:++::##++++++:.,,. .::*#+,........................,...........
,,,:,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++**::+,**::***++++++++++****++++++++++++++*****+++**####,+#:,##+::**++++++####*#:**###+,.....................,...........
::,,,,,,,,::::::::,,,,,,:::::+++++++++**::+++::+*+**::::::,+************************,,:::*###*,#:,::++##:#******##########***+:,,,,,............,,,:,::::,,,,,.
::::::::::::::::::::::::::::::::::++****+,+*::::,****:::::::**********####*#######***##::#####,###.,,,,+,######################:::::::++++::::::::+++::::+++:::
::::::::::::::::::::::::::::::::::::::++++,::++:******************************++++++++*+*######:.*,###::#############*****####++::::::::::::::+:::::::::::::++:
::::::::::::::::::::::::::::::::::::::::::::::++++++++**++****##**************######################################*+#####**+::::::::++++::::::::+::::::::::::
:::::::::::::::+:::::::++::::::::::,,,::::::++:+++++++++++::::::,:::::++++++++**++++**++**++++++++++++++++++****+*****+*****++++++++++++:::::::::::::::::::::::
++::::::::,,::,,,,:::::::::::++:,,,,::::+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,:::++::::+++++++++++******************++++**++++*+++++++*
,,,,,,,,,,,,::::::,,::::::::::::::,,,,,:::+++:+::+++++++::::::::+:++:::::::::::::::::+::::::::::+:::::::::::+:::::+++++:::,,,,,,::::::::::::::::++++++++++++::+
::::::::::::::::::::::::::::::*+::++**++::::::::::+::+::::::::+:::::::::++::::::::::::::::::::::::+:::::::++++::::::::::::::++:::::::::::::::::::::::::::::::::
::::::::,,::,:++::::::::::::::::::::::::::::::,,,,,,,,,,::::++*+::::::::::::::::++++::::::+:::++::::::::::::::++++++::::++++++++++++++++++++++++++++++:::::::::
::,,::,,::::::::::::,::::::,::::::::::::::::,:::::::::::,,,,,,,,,,,,:*++*+::,,:,,,::::::::::::,:::::::::::,,::::::::::::::::::::::::++::::++**++::+++++++++++++
::::::::::::::::::::::::::::::::::,::+*+,:::::::::::::+:::::::::::::++++++::,,,,::,,::::++*+++++::::::::::::::::++::::::+++:::+:::,,::+:::::::::::::++::::++:::
,:::::::::::::::::::::::::,,::::,,,,,::::+*:++::::::::::::,,:::::::::::::::::+++++:++:,,,,,,::,,,:++++++++::::::::++++::::++::::++++++++++++**+++++++++++*+++++
,,::::::::,,::::,:::::::::::::::,,::::::::::,,::,,,,::::::+++:+++:::::::::::::*+::::::,:,::::+*+++::,,,,:::::::::,::::++++***+:::::::::+:++++++*++++++++*++++++
::::::::,:+**+++::::::::::::,,::,,,,,,:,,,::,,,,::,,,,,,,,,,++,::++::::++**:++++++:+:+++::::+:+:::::::++:::+:+:::::+++++::++++*++**+++::::*+::,,::::::::,+*++++
::::::,,,,,,,,,,,,,,,,,,::,,,:::,,,,,:,:,,:::+:,::,,:::::::::+:::,:::++:++::*+++:::::+++:+::+:,+::+:+:+:++++++::::++::++++::++++::++++++***+*++::::::::::::+**+
::::::,,,,,,,,,,,,,,,,,,::::::::::::,,,,::::::::+:,:,,::::::::::::::::,,::::::::::::+++++:**+++:::++++:+:::+::++:+,+++++**::::::::++*******#**#**+**##**+:::::,
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...........................................................................................................,...................................................
...........................................................................................................,...................................................
...........................................................................................................,...................................................
.........................................................,,:+***############*:++,,........................,,...................................................
....................................................,:+:**,,,,##+*##############:+,,,,....................,....................................................
...........,.....................................,:::+*:,,,,,+*::######,,.*#####**#:+.,,,,................:....................................................
..,,...............................,,,,,,,,,,,:::::+*****#############..,#**#########*:+.,,::,............:.................................,..................
,,...............................,::::::::::::::::++++++++++++++++++++++++++++****++++++::::::::::,,,,,,,.,....................................................
,,,,,,,,,,,,.....................,+:::::::+::::+*+++:+++++++++++**++++++++++++++++++++++++++++++**#####+:::::::,:,.::,,....................,,..................
,,,,,,,,,,,,,,..............,,,,::++++++++++*+:::::***+++++++++++++++++++++++++++++++++++++++*#####,+:+::*#+++++++.,,, ,,:*#+,..............,..................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++++++++*+,:**,+************++**********++++**********++++*####,*#*,*##+:*+++++++####**:**##*:..........,.,.,,...........,...
::::::::::::::::,,,,::::::::::::+++++++++**+,+:::::*:**+,,::::+*********************##*:::,:####+,,,::,+:##,#*****+##########***+:::::,,,::+::+:+:,::::,,,,,,::
::::::::::::::::::::::::::::::::::::::++**+*::,+*:++****::::::::::::::++++******######*###+:#####,##::,,,*:,#####################*::::::::++::::::::::::::::::+
:::::::::::::::::::::::::::::::::::::::::+++*+:,,:******####************##**************++**######:.,###:,*#############+++***##*:++::::::::::::::::::::::::+++
+:::++++::::++++++++++++++++**++++++++++++++++++++++++:++++++::::::::::::++++++++++*********##########################+:#####*++::::::::::::::::::,,::::,,:::::
:::::::::::::::+::::::::::::,,::::::::::::::::::::::::::::::++::++::::++++++++:,,,,,,,,:++::++:+++:+++++++****************####*********************************
::,,::,,,,,,,,,,,,,,::::,,,,,,:+:+:+::::::::::::::::++::::::::::,:,::::::::::::+::++::++::,,,,,,,:,:::::::::::::+:::::::::::::++++++++++++::::::+++++:::::+++++
::,,:::::::::::::::::::++:::+:::::::,,:::+*+:++++++:::::::::::::++::,,::::::::::::::::::::::::::::++::::::::++::::::++++:::::++::::::::::::::::::::::::::::::::
::+++:::::::::::++::::::++::::++++::::::::,,:+::::::::::::::::::::::::++::::++::::::::::::::::::::::::++++::++++++++:::+++++++++++++++++++++++++++::::++++:::::
:::::::+++::::::::::::++::::::::::::::,:::,,,,,,:,,,::++++++++:+::::::::::::+:::::::+++:::++::::::::::::::::::::::::::++:::+::::::::::::++::++::::+++++++++++++
::::,:::+:+:::::::+:::,,::::++::++::::+:::++::,::+:::::::::::+::,:::::++::,,::,:::+:::::::::++:::++:::::+::::::::::+::::::::++++++::::::::::++++++++:+++++::+++
::::::::::::::,,::::::::::::::::::,,::::::::::::::::::::::::::::::++::,,,,,,,,,,,,:::+++++:::::::::::::::::+::::::::::::::+:::::+:::::++++:::++++++++++++++++++
::::::::::::,,::::::::,,:,,,,,,:::,:,:::::::::::::::,:::::::::::::::::::++::+,::+:::,,::,,,,,,,,:::+++++++******+:++++:::+++++++**+++++*++*+++++*+++**++*******
::,,,,,::::::::::,,,,,,,:::::,,,,,,,::,,,,,,::::,:,::::++:::::::::::::::+++::+::::::::::++*+++++::+:::::::::::::::,,,:,,++:::::::::+::++++++++++++**++++++*****
,,,,::::::,,,,::::,,,,,,,,,,,:+::,:,,:,,,,,,::::,,,:::::,,,::+::++**++::::::*+::+:+:+:*+:::++:::+++:++::::::::::::::::::::+++++++++++::,::::+++:::,:++:++++++++
,,,,,,:,,:,,:,,,::::::,,,,::,,:::::+::,::::,:::::::+:+*::::,,,,:::::++:++:::++:++:+:+++::*:+++::::::++:++**+++++::++++::++++++++***+:+**+::++++:,,::::::++:+++:
::,,,,,,,,,,::,:,,,:::::::::,,:,,,,+,,,,,:::,,,,:::::::::::::::,*:+:,,,,,::::+:::++:+++++++++:++++:***++*+:+:::+++::::::++++::++**+**+***+::+++++**+::::::::,,:
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...................................................................................................,...........................................................
...................................................................................................,...........................................................
...................................................................................................,...........................................................
...........................................................,:+**##############*+++:,,,.............:...........................................................
.......................................................::+**,,,,**+:##############*:+,,,...........,...........................................................
..,,...............................................,:::+*+,,,,,:#*+######,,,***###**#+:,.,,,.......,...........................................................
..,,.................................,::::::::::::::++++******##########:,.#*#**######*#++,.,:,,...,................................,,.........................
,,,,................................:+:::::::::::+++++++++++++++++++++++++++++++++***+**++::::::::,:::,,,,,,........................,..........................
..,,,,,,............................++::::+++::+**#**+++++++++++++++++++++++++++++++++++++++++++*++*#####*:,::::,,:,,,,,..,.........,..........................
,,,,,,,,,,......................,,:::++++++++**+::++++***+++++++++++++++++++++++++++++++++++++++#####,:::+:+#*+++++:,,,,.,:+**:.,,..,,.........................
,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,++++++++++**::*,:::*:*#*****++++**++++++++**************++++*####:+##+,###:+*++++++###*+*:**##*,..,,,,...........,,,.........
:::::::::::::::::::::::::::::::::::+++++******,:::::,:+***:::::::*******************####*+::,:*####,+:,:,:,+#:#*****+##########**+::+:+::+++++:::++:+*++*+:::::
:::::::::::::::::::::::::::::::::::::::::++***:,**:+*+****::::::::::::::::::::++++****##*###::#####,*#:,,:,#*,####################*+::::::::::::::::::++++++++*
::::::::::::::::::::::::::::::::::::::::::+++++*:+:+************####**##**********##**********#######,,###:,*#############****####*:::::::::::::::::::::::::::+
::::::::::::++++++++++++++++++::+++++++++++++++++++++*++++++++++++++:+::::::::::::::::::++++::++++++****##**############**#####**+::::::,,,,::::::,,::,,:::::::
::::::::::::::::::,,,,::::::::::::::::,,::::::::::::++::++::::::++++::::,,,,,,,,:+::+:::++:+++++++++**********#**###**#****************************************
,:::,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+::::::::::::::::::::::+++++:,,,,::::+***::::::::::+:::+++::+:+++::::++:::::::::++++++++:++++::::::+++++++
::,,:::::::::::+++++++::::::::::+++:::+++++:::::::::::::::::::::::::::::::::::::::++::::::::::++::::::::::::::::::::::::::::::*+:::::::::::::::::::::::::::::::
::::::,:++::::::::::::++++::::::::,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::++++++++++*+++++++++++::::::::::::::::++++::+
++::::::::::++++::::::::::::::::::,,,,,,,,,,,,::++**+++++:::::::::::::::::::+++:::::::::::::::::::::::::::::::::,,:::::::::::::+++::++++++++*+++****++++*++++++
+::::+::::::::::::,::+:::::::::::::+:::::+::::,,::::::++,,,,,,,:++::::++*++:::++::::++::::::::::+:+:::::::::::::++::::::::++::::::::++++++::+:::::++++::+++:++:
::::::::::::++::::::::,,:::+:,::::::::::::::::::::,::::::::::::::+:,,,,,,,,,,:::+**+::::::::::::::::::::::::::::::::::::++++++*+++++:++++::+:+++:::+++::++++**+
::,,,,:::::::::::,,,,::,,,,:+:::::,:::::::::::::::::::,::::::::::+++*:::::::,:::,,,,,,,,,,::::++++********++++::++:::::+***++++*+**++::+:+:+++**+*++++++**+*++*
::::::::::,,,,:::::::,,,,,,,,:,,,,,,::::::,::::++:::+:+::::::::::::::+::::::::*+::++:::+::++::::,,::::::::,,::::::::::::::++::::::::::::+++++++++***+*+********
,,,,,,:::::,,,,,,,,,+:::::,,,,,,:,,,::::::,::+:,,:,:*+:+*+**::::::++++*:+++:+:+*****,:+++++:::++::::::::::::::++++++::::::++::::::,,,,:+++++::++++++++++**+++++
::,,:,,,::::::,,::::::++,,::::,:::,,::::::::::::::::,,,:::,,:::::::::+++++*+**+:++++:::+::++++:+:+:+:::+++::::++::++**:+::+********+**#++:::,,,,::+++++:::+++++
,,,:::::,:::::::::::,,:,,,:+:,,,,,,,,,,,:::::,,,::::::::+++:,,:::+,:+:++++:+:++*++++++++:+++::++++:+++:+++++::::++++++++++*******+++::::::::++++++::::,,::::+++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............................................................................................,..................................................................
............................................................................................,..................................................................
............................................................................................:..................................................................
..................................................................,,::::++++++::,,..........:..................................................................
........................................................,..:*:+*,,,#*###############,:,,,,,.,..................................................................
.......................................................,:::**:,,,:+#.##*####**######+*#:+:,,...................................................................
..................................................,,::+++#*+::::::########*,,*#***#####*#*::,,,,.............................,.................................
,,.....................................:::::::::::::+++++++++++++++++++++++++++++++***#**++*,,,,,,,,,,,,,,..................,,.................................
......................................,+:+::++++++::::++++++++++++++*#*+++++++++++++++++++++++++++++++++::::::,,,,,,,,...,,,.,................................,
,,,,..............................,,,,::++++++++***+:::*#**++++++++++++++++++++++++++++++++++++++++######*:+*#*++++++*+++, ,,:,,,,............................,
,,,,,,,,,,,,,,..,,,,,,..,,,,,,,,....++++++++++***:+*+,**:*#*+++++++++++++++++++++++++++++++++++++*####,:##+:#*:**++++++*+:,,*,::###,...........................
::::,,,,:::::::::::::::::::::::::::::++++***+***::+,::::*+*#::::::,***********++************++++*####,+:,:++,::,+*******#######*+:::,,,,...,,,,,,,..,,,,,,,,,,,
::::::::::,,::::,,::::::::::::::::::::::::++****+:++:::*+***+:::::++**##########***#########*#::*####+:#+,::,##:+##################***::::::::::::::+:++:::::::
:::::::::::::::::::::::::::::::::::::::::::::+****,:++:+**##******************++++++++++++++++**######*.*###,+.:#####################:::::::++::::::::::++:::+:
++++++++++++**++++++++++++++++++++::::::::::::::::++++++++++**********##******############################**####################**+++,:::::::::::::::::::::::::
::::::::::::::,:::::::::::::++::::::++::::::+++:++::::++++:+++::,,::,,::++++++::++++++++++**********####**#####*************+*************************+++++++++
,,,,,::,,,,,,,+::+:+::::::::++::::::::::::::::::::+:::::::::::::::::::::::,,,,,,,,::+:::::::::::::::++::::::++++++++++++:+++::::+++++:::+++++++++++++++*+++++++
::::++:++:,,::::::,:++:::+++:+:::+::::::::::::++::::::,::::::::::::::::::::::::::::::::,::::::::::::::++::::,:::,,::::::::,,::::::::::++::::::::++:::::::::::::
+::::::+++++++++++:::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++::++++++::::::++++::::::::::::::+++++++
::::::::::::::::::::::::,,,,,,,,,,,::::+++::::::::::::::::::++::::::::::::++::::::::,,::::::::::::::::++::::::::++::::++++::+:::::++++:::+++++:++++++++++++++++
::,,,,,,,,:++:::::::::+:::::,:::,:+:,,,,,,,,,::::::+++++::,,,,::::::::+,:::::::::::::::::,+:::::::++::::++::++++++:::::::::::::::::::::+::::++:::::::+++:::::::
::::::::::::::+++:::::::::+:::::::::::::::::::::::+:::,,.,,,,,,,,,:::+++++::::::::::::::::,:::::::::::::::+:::::+:::::++::::::+++++++:++++::++++++++++++++*++**
:::::::::,,,,:+::::+::::,,::,,::::::::,,::::::::::::::::::+:::::::,,::::,,,,,,::::++++++::+***+++::::::::+::++++*+++++**++++:++*++:++++***++**++***************
,,::::,,::::::,:::::,,,,,,,:::,,::::++::,:++::::::::::+++++::*:::::::,::++++::::::::::::,,::::::::::::::++:::::::::+++++:++++++++**+++++++*****+**************+
,:::,,::,,,,,,:,,,,,,,::,,,,::,,::::,,,,,:++:+:::**+::::::::+::++:+:+::+::++:::::::+::::::::::::::::::::::++++++++++::::::::::++::++:::+++++++++:+**++*+::+::::
::::,:::::::,:,,,,,:,,::,:,,,,:::::::+:+*+::::::+*++:::++::,++:::,::+++::+:++++::::++++++*++::++++++++::::++++:+**++++++::++++:::,:::::+++++++++++++:+++++++**+
::::::::::::,,,,::::,:::+:,,,,:::::::::::::::::::,:::::::::::+::+++:+++++++++:++*++*++++*+++::+++:::::::++++:+****+*****+:::++*+**+::::::::,::::::::+++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
............................................................................,..................................................................................
...........................................................................,...................................................................................
...........................................................................,...................................................................................
...............................................................,++*#################++::,,,....................................................................
...........................................................:++:#+::,,##*###############*+:,,...................................................................
.......................................................:++++#*,,,,,,+##:#####:,:,***######*:,.,,...............................................................
.........................................,::::::::++++++++++++++++**********####*############++::+**,.......,..................................................
.........................................+::++++++++++++++++++++++++++****++++++++++++++++++++::::::+++++:::,,,,,,,,........................,..................
............,,,.......................,..+++++++++++#***#**+++++++++++++++++++++++++++++++++++++++++++#########+++:::::,,,,:,,..............,..................
,,,,,,:,....,.         .........,,,,,,:::++++++++***:+*:#*:##*+++++++++++++++++++++++++++++++++++++*#####,:+*:::##+++++*......,,,*+,........,..................
::::::::::,:::::::,,::::::::::::::::,,++++++++++**+,:+:+:::+*#********************************++***####,++,::,*#*:#++++++######:**##*......,..........,,.......
:::::::::::::::::::::::::::::::::::::::::+*********:**+::**+##*::::::+**####******##########*#:::,*####,#*,+,,,,,:###################*+,,,,..  ,:::::+****++++:
::::::::::::::::::::::::::::::::::::::::::+++++****+::**#,**##*+++++::::::::::::::::::::::+++++**:*####*.*##:,*#+,####################*+**++*+,,,:::,,:::::::::
++++::++++++::::::::::::::::::::::::::++::++++++++++**********####****###################################*.,,,,:##############****####::::::::::::::::::::::++:
::::::++++++:+::++++::::::++++::::::+++++++++::::::::+++++++++++++++++********##************************************++++++++++++++**+*++++++::::++:::::::::::::
+:,::::+::+:::::::::::::::+::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::++++++++++++++++++++++++++++++::::+++++++++++++++++*++**++++++++++++++++++++++:
:++++:++*+++++++::::::::::::::::+:::::::::::::::::::::::::::::::::::::::+:::::+:::::::::::,,,,,,,,,,::::::::++++::++++::::::::::::,,:+::::::+++++++++++++++++++
::::::::++:+::::::::++::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::+++++++:::::::::+++++++:::::::++::::::::::::::::++++++*******+++**+++++++
:+::::,,:::,::::::::**::::::::::::::::::++++:::::::::::::+::::::::::,:::::::::::::+++:::++++++++::::++::::::::::++++::++::::++++++++++::++++::++++++++::::::::+
:::::::::::::::::,,,,,.,,,,,,+:+++::,::,,,::::,,:::::::::::::::,,:::::+++:::::::::::++++::+:::++::::::::::::::::::::++:::::::++:::*+::::::::::::++++::++++++::+
::::::::::::::::::::::::::::::+++:+,,,,,,,,,,,,:++++++::::::::::::::::::::::::::+:::::++++:::::::::+:::::::::::::+:::+++::++::++++++++**++***+++++++++++++**++*
::+:::::::::::::::,,:::::::::::::::+*+++:+:+:::,,,,,,,,,,,,:++++++::::::++*+++::::::::::+++++++:++++*+++++++++:++*++**+*++++****++***************+++**+++++++++
::::::,,:,,,::::+++::+++::::::::::++*+:::::+::::::::++++++::::::,,,,,,:::::::::::::::+++::::+::::+::++:+++++++**++++++******+**+**********+++***++++***********
,,,,,::::,,,,,,,:::::::++:+:::+++:::::::::++*+:+:::,::++:::::::,++::::::::::::::::::::::+++++++++:::,,::::::++,:+:::++++++++++******+:++,::,,:,,,,,,:,:::::::,:
:+::::,,,:+::::+::*::+::::++::*+++::+:::::**:::+::::::::,+++::::+*++++++::::++++++::+++++++++*++++++++:++++:,,,,,,::+++++:+:++++:+++++++**++**++++*************
:::,::,,::::::::,:::::::::::::::::::::::::+:++:+*+++:+:+++++:++++**+**+++:::++:+:::::+::++++*+++*+***+::++++++++:::::::,::,,::::++++++++*+++++++::++++*********
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...................................................................,...........................................................................................
...................................................................,...........................................................................................
...................................................................,...........................................................................................
...................................................................,,,::++++****++++:,,........................................................................
.............................................................,:++**+:,################*++,,,...................................................................
.........................................................,:+:+**,,,+::##*######,,######*:#++,,,,...............................................................
............................................,,,,,,,,:::+++++*##****#**#######,,,##***#####**#:+,.,.............................................................
........................................,.:+::++++++++++++++++++++++++++++++++++++++++******+++:::::::::::,,,,.................................................
..,.......................................*+++++++++++****+++++++++++++*##++++++++++++++++++++++++++++++:+++++::::::,,,,,,.....................................
,...,..... .............,,,,,,,,,,,,,,,,::+++++++++***+++::**#+++++++++++++++++++++++++++++++++++++++*#####*:::*##+++++**+**+.,:.,,,...........................
::::::::::::::,,::::::::,,,,,,,,,,,,,,::++++++++****::*,+,:*+##***++++++++++++++++++++++++++**++++**####*:,:##*,*:#*++++++##*:,**+*##:.........................
:::::::::::::::::::::::::::::::::::::::::+**********:*+:,::::*#*::::::+*####*******************:::,+####,#*++:++##:#******#########+:+,,,,::::++::+++:,,,,,,.,,
::::::::::::::::::::::::::::::::::::::::::++++******::**:+*+###*::::::::::++++++******#######*###+:*####,,,::,:++:,##################***:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::++++++++++++**+::+##****########**********##********+++++++*#####*,*#,##.,#############***#####+::++++::::++++++++++:::
++++++++::::::::::::++::++++++++++++++++++++++++++++++++++**************************++++++++++::++::::::+++:***+**********###########*+::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::,:,,,,,,,,,,,,,,:::+::::::::::++::++++++**+*****++++++::++++++::++++::+++++++++++++++*******++++::++++::++++++++******++*
++++++::::::::+:++::::::::::::::::::++::::::::::::::::::::::::::::++::::::,,,,,:::::,,::::::::::++++++++::::::::::++::::::++::::::::+++++++++++++++++++++++++++
::+++++:::::::::::::::++::::::::::::,,::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::,:::::++++******++**++++++++++::+++++
,,,,::::::+++:::::::::::::::::++++::::::::::++::::::::::::::::::::::::::++::++++++++::::::::::::::::::::::::::++:::+++++++++::++++++++++++++::::::,:+++++++++++
++::,,::,,,,,,,,,:**++*+::::,::::::::::::::,,:::::,:,,::,,,,::::::::++::::++::::::::::+:::::::::::::::::::::::::::++++::::++::::::::::::::::++++++++:++++++++++
::::,:::::::::::+++++++::,,,,,,,,,::::++*++++:::::::::::::::::+:::::::::::::::::::::::::::,:::::++:::+::++++++::++::::++::::++++****++++::+++++++++*++++++++*++
::,,,,,,::::::::::::::::::::+++:::::,,,,,,::,,::++++++++:::::::++++:::::::::::::+++++:::+++++:++++++*+++++++*+++++++**++++++++**++++**++++++*+**+++++*+++++++++
++::::::::::::::::::,,::::,:++::,:::,:::::++++::::,,::::::::::,,:::::,,:::++:::::::::+::+++::+++*+**+*++++++++***+++*++++***#***++++**++++*********************
::::::,,,::::+::::::**++:*+++*::+:+++:::::::::::::::::::++++++::++**+:::::++++::::::+++::::::::::::+::+:++++++++++++++****+:::+:,,,,::,,,,,,,,,:::,,,,,,,,::,:+
::,,,,::,::::,:::++:++:::+++::,,:++++::::::::::+++:::++:*++++++::::+++++::++++++++++++:+*+++++:++:,,,,,,::++:+++:+::++:::+++++++++****+++***********+*********+
:,,:::::++:::++:::,:::::::::::::+*:++++*+:+++:++*++++:::++++:++::::+++++::::+++++++++++*+*#**+::++++**+:::::::,,::::::::::::::+*++++++::+:+++**********++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...........................................................,...................................................................................................
...........................................................,..............................................................................................,,...
...........................................................,..............................................................................................,....
...........................................................,....,.....,,,:++++++++::,,....................................................................,....
..........................................................,,...,+++*+,,***##############:+,,.............................................................,.....
..........................................................,:++*+#:,,,,:#########:.######*,#+::,,.........................................................,.....
................................................,,,,,,,:+++++*##++**++*#######,,,##**#######*#:+,,,,.....................................................,.....
...........................................,+:::++++++++++++++++++++++++++++++++++++++******++++::::::::::::,,,,.........................................,.....
..........................................,:++++++++++++***+++++++++++++**#*+++++++++++++++++++++++++++++++++++:::::::,,,,,,.............................,.....
..............,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++**#+:++:*##++++++++++++++++++++++++++++++++++++++++#####::::+#**++++::++++,::,.......................,.....
::::::::::::::::::::::::::,,,,,,,,,,,,,,,+++*********+:**+:*#:##****++++++++++++++++++++++++****+++++#####:*,:##:::***++++:*#*+:+***##,,................,,....,
::::::::::::::::::::::::::::::::::::::::::++*********:+*:+::#*###,::::+:**##********************:::::####,##:+::,##,#***+++#########++*::*+*+++:::++++***+:::::
::::::::::::::::::::::::::::::::::::::::::++++++*****+:::*::***##:::::::::::::::++++****######*###*:*####::#*:,,:,,,##################**+:::::::,,::,,,,,,,,,,,
,,::::::::::::::::::::::::::::::::::::::+++++++++++++***,:+***############**************##*********+*######.+*:##,:##############**#####:::::::::::::::::::::::
::::::::++::++++::::++++++++::::::::++*+++++::++:+++****************************************************************************++++**++++++++++++:::::::::::::
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,::++:::::::::::++++++++++:+++++**++::+++:::::::+++:::::::::++++::++++++++++::++++++++++++++::++++++++++++++**+*+
::::::::::::::+:,:::::::::::::,,::,,::::::::::::::::,:+:::::::::::::::::::::,,,,,,::::::::::::::::::::::,,::::::::::::::::::++++++++++++::::::+++:::::++**+++++
::::::::::::++::::::::::::::::,,,,::::::::::::::::::::::::::::::::::++++++++::+++++++:::++++::::::::::::::::::::::++++++++**++****++++++++++++++++++++++++::++:
++++::::::::::++::::::++++::::::::::::::::::::::::::::::::::::::::++::::::::::::::++++::::::::++++::++++++++:::+++++::+++++++++++++++++:::,:::++++::++++++:::::
,,,,,,,,,:+***:::::::::::::::::,::::::::::::,,,::::::+::::::++++::::::::++::++::::::::::::::++:::::::::::::::::++:++::::++*++++++:++****+++++++++++++++++++++++
::::::::++++++:::,,,,,:,,,::,:+++*++::,:::::::::::,:::::::::::::::::::+:::::::::::++::::::++::+:++::::::::::+++++++++*********+*++++++++**++**+++++++++++++++**
::::::::::::::::::++*+::::+:,,,,::,,,,,,,:++++++:::::::+**++:::::::::+::++++*++:+++*++*+::++++++++++++++*++*+++++++**######***++++++**+++***++****++**+++++++++
:+++::::::,,,,::::**::::::::::::::++++++::::::::,,::::::::::::,,,:::::::::::::::::++::::::::::++++*+***+++***+**************++++++**++**:::+++++::::::::,,:::::
:,:++:::::++**::*++++::+++++:++++,:+:+:::::::::+::::::::::::::::::::::::++++++++::::,,::::++:++:::++++:+++++++::+++****++++*++**+****++***********+*++:+***+:+:
:::::::+++:+++:++++:::::**+:::::::::::,+++::::+*+:++*+::::++:::::::++++++++++++***++**:++*::,,,,,,,,::+::::::::+++++++++++++::+++++*********++*+*++*+++++++++++
:::+++:::,:::::::::::::++:++:+*+++:+::++++:++++++++*++++::++::+:::::::::++++++++***+++::::,,,,::::::::::,,:,::::::::::++++:::+++++++:++*******+++++++++********
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...................................................,...........................................................................................................
..................................................,,.............................................................................................,.............
...................................................,.............................................................................................,.............
..................................................,,............,.......,,,:::::::::,..,.........................................................,.............
..................................................,.............,::*#+,,#################::,,....................................................,.............
..................................................,.........:+++*#:,,,:+####*####**######,*#:+,,................................................,..............
..................................................,...,,,::+++#**++++++*#######,,:##**######*#*:,,,,............................................,..............
............................................,+::+++++++++++++++++++++++++++++++++++++++++*****+++:::::::::::,,,,................................,..............
............................................++++++++++++++**:++++++++++++*##++++++++++++++++++++++++++++++++++++::::::,,,,......................,..............
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++**#*:+:+:###+++++++++++++++++++++++++++++++++++++++#####+::::*#*+++++++:**:,::.............,,..............
::::::::::,,::::::::::::::::::,,,,,,,,,,::++++*******#:+#::*,+*##*++++++++++++++++++++++++++++**++++++####,:#,:##+,:#*++++++*#*:*,*:##*,.......,,...,,,::,.....
:::::::::::::::::::::::::::::::::::::::::::+**********:::::::#:##*::::::+*##*********************,,::+###*:#:++:+##+:#****+*########*:*+,+**+***::::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::++++******::**:*#:####::::::::::::++++++******#########+:*####.##*:,:,:,*##################**,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::++++++++++++**:,::################************##********++*######+.::##:,###############+*####:,,,,,,,::,,::::::,,:::
++++::::::++:::+++::::,,,,::++++++::++::++++++******************####************+*********************************++++**************+****+++++++++++++::::::::+
::::::::::::::::::::::+::::::,,,,,,,,,::::::::::::::::::::::::::::::++::++::++::::+::::::::::::::::::::::::+::::++::++::::++::::++++++++++::::++++++**++++++*++
::::::::::::::::::+:::::::::::::::::::::,,:,::::::::::::::::::::::::,,::,:::::::::::,,,,,,,,,,::::::::::::::::::::++++**++:::+++++::++**::::++++++++++++++:++++
::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::++++++++++++++:::::+++++++::::::::::::::::::::++++++:+++++++**++++::::++++:+++::++++::::::::::::::+++
:::::+::::++++++::::::::::::::++::::::::::::::::::::,,::::::::::::::,,,,++++::::::::++++++++*+++:+++::++*+++++++++**++++++++:::::::::::::::+++++:::::+++++++***
+++++++:,::,:,::,:,:::::::::::::,:::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::++++:+++:+++++++++++++++++:++++++++***++++++++++++++++:
+++++::,,,,,,,,,,,::::++*+::::::::::::::::::::::::::::::::::::::::::::::+*++:::::+::::::++::::++++:+++++++++++**###*++++++**++++++****++++++++++++++****+++++++
::::::::**+++:+++:,,,,,,::,,,,,,::::++++++++:+**++*++:++::::::::::***+:::+++*+::::::::::+++++***:++++++++*+*******+++++*++++++****++************+++++++++++++**
::,,::::**+::::+::::,::::++++++:::::::,,::::::::::::::,::,::::::::::::::::::::::::::+:::++++++:::+++++++++++++++++::::::::::::::::::::::,,,,:::::::::::::::::::
+++*::*++++++:++*+:+++::,::+::::::::::::::::::::::::++::::::::::::::+++:::::::,:++::++:::+++++++++++++++*+::+*++++**++*****+***+++***+++++:+:::+**++::+++++::::
:+++:+*++:::::+*:+::::::::::,:*+::::+*+++++*++++++::::::++++++++::+:+************::::,,,,,,:::::::::::++++++++++++::+++++********+++++++++++++++++++++**++++**+
::::::::::::::++++:+*+++:+:++++++*++:*++++++::::++++::::::::::::++++*+*+**++++::::::::::::::::::,,,,,::::::::+++:::+++:+*+:+++****++********++**++++++++++::+++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...........................................,...................................................................................................................
..........................................,....................................................................................................................
..........................................,.............................................................................................,......................
..........................................,.............................................................................................,......................
..........................................,.............................,,::::+++++++:,,................................................,......................
..........................................,......................:++**,,:###############*#:,,,.................................................................
..........................................,.................,:++:**,,,::+########*+*#####*:*#::,,......................................,.......................
.........................................,........,,,,,,,:+++++*#***##**#######*..*#***######*#*+:,,...................................,.......................
........................................,,..,:::++++++++++++++++++++++++++++++++++++++++++**++++++::::::::::::,,,,,,...................,.......................
................................,,.......,...++++++++++++*****++++++++++++***++++++++++++++++++++++++++++++*####*+:::::::,,,,,.........,.......................
,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::++++++**##*:+*+:*##+++++++*+++++++++++++++++++++++++++++**#####,+:+++#*++++++,::,.,+**,..,.......................
::::::::::::::::::::::::::::::::,,,,,,:::::+++++*****##:+::::*#+##****++**++++++++++++++++++****++++++#####,##:.##*::#++++++####++**##*,....,,:::,.............
:::::::::::::::::::::::::::::::::::::::::::::*+********:**+:::+:##*::::::+##**##########**######*+::::####:,,,:,:+##:*################**+:+:::::::::::::,,,,:,,
:::::::::::::::::::::::::::::::::::::::::::::::::+*****+:+**,#+###*:::::::::::,,,,::,,,,,:::::++**##:+#####.#*:,*:,*,####################+::,,,,,,,,,,,,,,,,:+,
++++++::++::::::::::::++++::::::::::::::::::::::::::+++*****########################**********###############.,++,,*############*****###*:,,:::::::::::::::::::
++++++::+::,,,,,,,,:++::+:::++:+:::::::++***************************++************++**++++++**********++*+::++*****************************************++++++++
::::::+:++::::::++::::,:::::++++**:::::::::::::::::::::+++++++++++++++++++++::::++::::::::++::++*+::++:::+++::++++++++++++*+++++++++++++::++++++++++++++:::::::
::::::::::::::::::::::+:::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::++**+++++++++++++++++++++++++++++++++++++++++++:+++++
++::::::::::::::::::::::::::::::::::::++++++++::::++::::++++++::::::::::::::::::::::+++++++++:::::::++::::::++++::::::::++++++++++++**++++++++**+**+::::++++++:
::::::::::::::++++++::::::::::::::::::::::::,,::,,::,,,:::::++:+::::::++::++++++:::::::+::::::::::::::++:+:::::::::::+::::::::::::++++++++++++++++++++++***+*+*
++++::+++++++:::++:::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::+::::+:::::::::::+::++++*++++**+:++++++**++**++++++++**++++++++++++++::+++++++++++
::+:,,,,,,,,,,::::++*+::::::::::::::::::::::++::::::::::::++++++++++++++::++++***+++++**++*+++++++++++++*++*++++*+**+++++*++++++++++++::++++::++*+++++****+++++
::++++::::::::::::,,,,,,,,,,::,,::::::::+++*****+::::::::::::+:::+::**+++*++:+++++++*+*+**+++++***+++**+++++::++****************+*****++++++++::+++:::,,,,,,,,,
:+++::+::::::+:+*+::::::::::++::::,,,:+::+::++++*++**+:+::::++:::::::::::,:::::++++,++::::++++++::::,,,,,,,,,,,,,,::+:,,,,::::::::::++::::::::::::::::::::::::+
+::::+*++++:++::****+:::+++:,:::::+::::::+::::::::+:++++++:+++++++*+:,,,,,,,,:++++++++++++::::++++++*+++++++++******++**+**+*+*+***+++::++++::++*+::++:::::++::
+:::+*+++:****+:+++::::::::::+++:::,+:++++*+:::::+++++************+++++++++:::::,,:,,,,::::::::::::+++::++::::++++++*++*++++++::::+:++++++++****++*********++++
+::::+++++++:+*+++::+**+:+*+++::+::++++*******+:,:::::++++++++++++++:::::::::+*:::,,::::::::,,,,::,:++++++***+++++****++**++++:::++++++++++++++++++++++++++++++
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.........................,.....................................................................................................................................
.........................,.....................................................................................................................................
.........................,.............................................................................................,.......................................
.........................,.............................................................................................,.......................................
........................,,.............................................................................................,.......................................
........................,............................................:++*###############:+:,,.........................,........................................
........................,,................................,.....,:++*#:,,:##*##############*::........................,........................................
........................,,...............................,,..:+++*#,,,,,,+##+####*,..****###*#*:,,,,..................,........................................
......................,.,......................,++++++++++++++*+++++++********###***#*###########+:::+++..............,........................................
..............,,,,.....,,.....................,*+++++++++++++++++++++++++++***+++++++++++++++++++++:::::+++++++::,,,,,,........................................
,,,,,,,,,,,,,,::,,,,,,,,,.,..................,++++++**+***###*##*+++++++++++++++++++++++++++++++++++++++*+#########++++++:+:..:,...............................
::::::::::::::::::::::::::::::::,,,,,,,,,,,,++++*******##:+*#+*+##*++++++++++++++++++++++++++++++++++++*#####::*:*::*#+++++*,,..,,,,+#:........................
::++::::::::::::::::::::::::::::::::::::::::**********#*::*:+:+*:##*::++++*****************************####+,++:::##::*+++++*#####*::*#*..,,...................
::++::::::::::::::::::::::::::::::::::::::::::++*****#*#:+::+:*#####::::::+*######################**+,*####:##*+,+:##,################****::,,,,,,,,,,,,,,+*,,,
++++::++::++::::::::::::::::::::::::::::::::::::++++:*###+,+#:,#####******++++++++::::::::::::++++*+++*#####,::*#*,*,*###################*++:::::::::::::::*+:+
::+::::::::::::::::::+********##*********************************************+******++*+**++**********#*********::++++++++++++******+::++::::::::::::::::::::::
++::::::::++***+:::::::::::::::::::::+++::::+:::::::::+++++++:::::,,::::::::::++++++++::::++::::::::::::::++++++:+++++****++++++++++++++++:+++++++++++++++***+:
++++::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::++***++::+++++++++++::::++++++::+++++++++++++++*++:::+::::++::,,,,,,:::
::::::::::::::::::++++++++++++++::::::++++++++++::::::::::::::::::::::+++++:::::++++++::++:::::::::::+++++++::::++::::::::::::+++++++++**+++++:++++++++++++++++
::::::::::::::::::::::::::,,::,,,,,,,,,,:::::+++::++++++++**++++++++*****+::::::::++::++++++::::::::::::::::::::::++::++++++++++++++++++++++++**++******+++++++
::::++::++::::::::::::::::::::++::::,::::::::::::::::::::::::::::::::::::::+::++::+++++++++++++++++++++++++++++***++++++++++++++++++++++++++++++++++++**+++++++
++::::++::::::::+:::+:::::::::::::::::+++::::::::+:+::++*++++:+++*++*+++:+++++++++*****+*+++++++++++++++++**++++++++::++++*+++++++++++++++**++++++++:+****+++++
,,,,,,,,,,::++++++++********++:::::::::+++++++*+:+*+++++:+++++*++++:*+**++++****+***++*+++++++++++******++++++******++********++++++++::::,,,,::,,,,::,,,,,,,,,
++++++*+++::::::::::,,+:::,,:+***++:::::::::,,,,,,:::::++++++++:,:::::::::,,:,,,,,,,,,,,,,,,,,:::::,,,,,,,::::::,,::::::::,,,,,,::::::::::::::::+:::::++:::::::
+:::++++:::+::++::::++::::::::++::++++++++++::,,:::,::::::+*++++::::::+++:++++**+*+++++++++*#****+*++*****+++*:++::+++++:::+++::::::::++::::++*+++++++*****++**
++::::++++:++:+::+::++++::::::+++++*+*****+*****++***+:::,,,,,,,,,,::+::++::+:++*++++++:++::++****++*+****::::+++++*++++++++++++**#*****++++***++++*++++++*++++
++++++*+::::++::++++*****++:,:::++:+++++**++****++::::::::++::::::::::,,,,,,,:::::++++++**+:++++++++++++++++::+:++++::+++++++++++++++++++++:::::++:+++:++++++++
:+++++*+++:++:+***++++::::::++:++::::+::::++:++****++++++:++****+,,,::++*+++::::::++++::++++++::::+++++:::::::::+++:::::::,:+***++++++++********++*+++**+:::::+
$...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
.................,.............................................................................................................................................
................,..............................................................................................................................................
................,.............................................................................................,................................................
................,.............................................................................................,................................................
................,.............................................................................................,................................................
...............,,...................................................:++****###############::,.,...............,................................................
...............,.................................,.............,:+++#+,,,,###################:+................................................................
...............,.................................,.........,:++++*::,:,,,,#######*.,##****####+#+:,,,........,.................................................
...............,...............................,++++++++++++++++++++++++++++++++++++++++++**##**++:,,,,,,:,,.,.................................................
..,,,,::......,:...............................+*+++++++*+++++++++++++++++:+***+++++++++++++++++++++++++++++++++++::::::,,,....................................
,,::::::::,,,,::,,,,,,..,,......,,...........::+++++*****##:++:+##*++++++++++++++++++++++++++++++++++++++*######++*#*+++++***+:,,.:. ..........................
::::::::::::::::::::::::::::::::::::::::::::+*+********##++#,*+,**##****++**++++++++++++++++++++++++++**####*:###,##++*++++++*++,:,:,##*.......................
::::::::::::::::::::::::::::::::::::::::::::::********##*:+,+,:+#+##::,,:::************************,,,+*####,#:,+:::+,+*****+########*::,,,,,,,,,,*:,,,,,,,,,:+
::::::::::::::::::::::::::::::::::::::::::::::::::,*#####,:*+:##+###+:::::::::++++++*******#####**###+:*####,#,,,,,##:#################***,,,,,,,,*:,,,,,,,,,,,
++:+++++++***********************************+**++++**++++*+**++**++++++++++++++++*********************######*,###,:,#############***####*++::::::+::::::::::::
::::::::::::::::::::::::::::++++++++++::::::::::++::::::::::++++::::++++++++::::+:::::+++:++++:++++++++++*++++++++++++::++++++++++*++++++++++:++*+::++++::++:::
::::::::++++++::+::::::::::,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::::::::++::::,::::::+++++++::::::::::++::::::++++::::::::,,:
::::::::::::::::::::++++++++++++++::++++::::++++::::::::::::::,:::::::++++++****++++++++++++++::+++:++++++++++:+++++++::+::+++++++++++++++++++::::+++++++++++++
::::::::::::::::::::++::::::::::::::++::::::::::::::::::++++::::::::++::::::++++++++++::::::::::::++:+**++++:+::::::::++++++++++**++++++++******++++++****++***
::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::++::++::+++++++::+::++++++++++++++++++++++++++:+++++++++++++++++++*+++++++++::+++++
::::::::::::::::::::::::+:::::::::::+++:::::::::::++:::::::::::+++++:+++********++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++**+++++***+++++++*+
++::::::****++::::++::++:::::+**+:::++++*+::::::::++++++++++++*+++++++**##****+*++++++++*+**++*+**++*+**++++++::++::::+*++**+++++:++++**++++::,,,,,,,,,,,,,,,,,
::::::,,,:::,,::::::,:::::,:::::++::::::::::::::::++++++++::+++++++*++++++++++++::::::+++:::::::::::,,,,::::::::,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::++++++:
+:::::::::::::::::::::::::::::++++::::,,,,:::::++:::::++:+++++++++++++++++:++++++*****++**++******++:::::+**++::::++::::::::+:::::++++++++++******++++++:::::::
++++++++++++::::::::+++++++++::+****++******::,,,,,,,,::,:+::::::+++++++:+++::::+++++******+++++++++++++::++++++**++++++****+++:++++++++++****+********+++::++:
++++*+::+:+++++::+:,+:::::++++++++++*++++:::::::::::::::::,,:,,,,:::,:::++++::+:::+*+:++++++++****++**++++++::::::+:::+++++++++++:::::,:::+++++++++++++++++::++
:++++::+:+:+::::****+++::::::::::::+++++++++:::::+****+,,,::++::::+:::::::::++++++++++**++::++::::,,::,,::::::++::++****++++++++*****+***+++++::::::+***+******
++:++******+++*+::++++:::::::::::::::+++*+***+++++:*:+*++++++:+++++:++++++++++++*+******+++***++++++++****++***+::++**:+***+++**+++++++:+++++++++++++++++******
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:......................................  ............................,,,,::::,,::::++++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::::::::::::::::++***:+++++++
++++++++++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++++++++++:+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++*************++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::+++++++++++::::::::::::::::::::++++++++:++++++++++++++++++++++++++****:::+++++
++++++++++++++****++++++++++++++++++++::++++++++++++::::::::::++++++++::::::::++++++::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****::++++++
**++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++******++**+++++
************++++****++++++++**++++++++*+++++++********++++++++++++++++++++++++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++++++++***++++++::+
++++::::::::::::::::+++++++++++++++++++*++++**++**++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++:::++++
++++++++++++++++++++::++++++++++++++:+++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++:::::++++++++++::+:++++::::++++++++::++++++++:***+++++++++
::++++++:::::::+::::::::::::::::::::::::::::::::::::::::::::::::,+::::::::::::::::::::::::::::::::::++::++++++++::::::::++++::+++++++++++++++++++++***++::::::+
::::::++++:::::+::::::::::::::::::::::::::++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::+::::::::::::::::++++++++++++++++++++++++++++++++++++++++::::++++:++++++++++++++++***+:+++++++
,,,,.,::************++********++********++++++++++++++++++++++++++++++++++++::++++::::::::++::++::::++++::++::::::::++::::::::++::+*+++++:::++::++:***+::+::++:
***#++++:::+***********+:+::************************************************+++*********++************++++++++++++*+++++***+++++::+++++++++++++++++***+:++*+***
#+#*#+++++++***********:,,,,***************************************+************************************************************************+***++**+*+:+*+****
.:#*******+*********+*+:.., ++++******************************************************++++++****************++******++**********++++++++++++++++****+*+,*******
.....:::++::++:::::::++:.., :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
++++*::+++++++++++++:::::.* ,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::+**,++++++++++++++++:+,::,:++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
......,:+++++++++++++:+:,,,,,:++::++++::::::::++++++++++++++++++++++::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++:::
..,,,,,+::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::++++::++++++++::::::::++++++++++++++::::::::::::::++++++++++++::::::++::++++++:::::::
::******:::::::::::::::::,,,:,+:::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
:::+*++**+++++++**++++******+++:::::::::,,,,::::::,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::+++::::::++++:::::::::::::::::::::::::::::::::::::
************+*++*+++++++++++++++++++++++++::++++*+++,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
*###*****+++++++++++++++**++++++::::::::::::::::::::::::++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++::++****+++*****++**++***
####***##+++++++++++++++++++++++++++++++++++++++::++++++++++++::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++***
########**++++++++++++++++++++++++::::::::::::::::::::++++++++++++**++++++++++++::+++++++++++++::+++**++++++++++++++++++++++++++++++**++++++++**++**+++++++++++
**++++++++++::++++++++++**++**++++++++************++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++**++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++++::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++**++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++++::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++++++++::::++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::++++::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:......................................  ............................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::::::::::::::::++***:+++++++
++++++++++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++++:+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++***********++*+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::+++++++++++::::::::::::::::::::++++++++:++++++++++++++++++++++++++****:::+++++
++++++++++++++++++++++++++++++++++++++::++++++++++++::::::::::+++++++++++:::::++++++:::::+::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****::++++++
**++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++++****++**+++++
************++++****++++++++**++++++++*+++++++********++++++++++++++++++++++++++++++++++++++++++++::++++++:::++++++++++++++++++++++++++++++++++++++***++++::::+
++++::::::::::::::::+++++++++++++++++++*++++**++++++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++:::++++
++++++++++++++++++++::++++++++++++++:+++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++:::::++++++++++::+:++::::::++++++++::++++++++:***+++++++++
::++++++:::::::+::::::::::::::::::::::::::::::::::::::::::::::::,+::::::::::::::::::::::::::::::::::++::++++++++::::::::++++::+++++++++++++++++++++***++::::::+
+:++++++++:::::+::::::::::::::::::::::::::++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
,,:::+++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::+::::::::::::::::++++++++++++++++++++++++++++++++++++++++::::++++:++++++++++++++++***+:+++++++
::::,:+:,,.,+:******++********++********++++++++++++++++++++++++++++++++++++::++++::::::::++::::::::++::::++::::::::++::::::::++:::*++::+:::++::+++***+:++:::::
,,::,,::+,++:::,,******+:+::************************************************+++*********++************++++++++++++*+++++***+++++::+++++++++++++++++***+:++*+**+
,,,,,,,,::,,+++++******:.,,,***************************************+************************************************************************+***++**+*+:+*+****
::::::::::::,..,+***+*+:.., ++++******************************************************++++++****************++******++**********++++++++++++++++****+*+,*******
,,,,,,:::::::,,,,.:::++:.., :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
,,....,,,,,,.,::+*,::::::.* ,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
........,,,,,,,,:+::+++:+,::,:++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
...................,+:+:,,,,,:++::++++::::::::++++++++++++++++++++++::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++:::
,,,,,,,,,,....,,.,::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::++++::++++++++++::::::++++++++++++++::::::::::::::++++++++++++::::::++++++++++:::::::
::::,,,,,,,,,,:::::++::::,,,::+:::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
::::::::::::++++**+**+******+++:::::::::,,,,::::::,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::+++::::::++++:::::::::::::::::::::::::::::::::::::
::++:::::++***###*##*:++++++++++++++++++++::++++*+++,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
+++++++++++*#######**+++**++++++::::::::::::::::::::::::++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++::++++**+++*****++**++***
++**********#########+++++++++++++++++++++++++++::++::++++++++::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++***
****************####**++++**++++++::::::::::::::::::::++++++++++++**++++++++++++::+++++++++++++::+++**++**++++++++++++++++++++++++++**++++++++**++**+++++++++++
++++++++++++++++++++++++**++**++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++****++++++++++++++++++++++++++**++++++********************************++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++**++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++++++::::::++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::++++::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:......................................  ............................,,,,,,::,,::::::++++::++++++++++::++++++++++++++++++++++++**+++++++++
++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::::::::::::::::++***:+++++++
++++++++++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++++:+++******++++++++++++++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++***********++*+++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::+++++++++++::::::::::::::::::::++++++++:++++++++++++++++++++++++++****:::+++++
++++++++++++++++**++++++++++++++++++++:::+++++++++++::,:::::::+++++++++++:::::++++++:::::+::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****::++++++
**++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++******++**+++++
************++++****++++++++**++++++++*+++++++********++++++++++++++++++++++++++++++++++++++++++++::++++++:::++++++++++++++++++++++++++++++++++++++***++++::::+
++++::::::::::::::::+++++++++++++++++++*++++**++++++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++:::++++
++++++++++++++++++++::++++++++++++++:+++++++++++++++++++++++++++++::++++++++++++++++++++++++++++::::+:::::++++++++++::+:++++::::++++++++::++++++++:***+++++++++
::::++::++:::::+::::::::::::::::::::::::::::::::::::::::::::::::,+::::::::::::::::::::::::::::::::::++::++++++++::::::::++++::+++++++++++++++++++++***++::::::+
##########*+++:+::::::::::::::::::::::::::++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
,,,,,,,,,,,,,,,:,:++++++++++++++++++++++++++++++++:::::::::::::::+::::::::::::::::++++++++++++++++++++++++++++++++++++++++::::++++:++++++++++++++++***+:+++++++
,,,,,,,,,,,,,,,,,,,,::********++********++++++++++++++++++++++++++++++++++++::++++::::::::++::::::::++::::++::::::::++:::::::::::::*++::+:::++::+++***+:++:::::
,,,,,,,,,,,,,,,,,,,,:,+:++::************************************************+++*********++************++++++++++++*+++++***+++++::+++++++++++++++++***+:++*+**+
,,,,,,,,,,,,,,,,,,,,,,..,,,,***************************************+************************************************************************+***++**+*+:+*+****
:::::,,,,,,,,,,,,,,,.,:::...:*++******************************************************++++++****************++******++**********++++++++++++++++****+*+,*******
:::::,,,,,,,,,,,,,,,..,,::++:.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
,,,,,,..................,,,+++,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
........................,,.,,,.:++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
..............................,:::++++::::::::++++++++++++++++++++++::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::++:::
..,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::++++::++++++++++::::::++++++++++++++::::::::::::::++++++++++++::::::++++++++++:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::+*::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
,,,,,,,,,,::::::::::::::++++++**::::::::,,,,::::::,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::+++::::::++++:::::::::::::::::::::::::::::::::::::
,,,,::::::::::::++++++****###***++++++++++::++++*+++,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,::::++++++++++********##****+:::::::::::::::::::::::++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++::++++**+++*****++**++***
:::::::::+++++++**********######++++++++++++++++++++++++++++++::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++***
:::::+++************************++++++::++::++::::::::++++++++++++**++++++++++++::+++++++++++++::+++**++**++++++++++++++++++++++++++**++++++++**++**+++++++++++
++++++++++++++++++++++++**++**++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++****++++++++++++++++++++++++++**++++++********************************++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++**++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++++++::::::++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::++++::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::++++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++++::::::::::++**+++++++++
++++++::++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++++:+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++***********++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+::::+++++++++++++++++++++****:::+++++
++++++++++++++****+++++++++++++++++++++::+++++++++++::::::::::+++++++++++:::::++++++::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****::++++++
**++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++******++**+++*+
************++++****++++++++**++++++**++++++++********++++++++++++++++++++++++++++++++++++++++++++::++++++:::+++++++++++++++++++++++++::+++++++++++***++++::::+
++++::::::::::::::++++++++++++++++++++**++++**++++++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++:::++++
+++++++++++++++++:::::::::::++++++++:+++++++++++++++++++++++++++++::++++++++++++++++++++++++++++::+++:::::++++++::++::::++::::::++++++++::++++++++:***+++++++++
:+:++:::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::++::++++++++++::::::++++::+++++++++++++++++++++***++:::::::
:++#++**++++++++::::::::,,,,,,,,,,::::::::++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
:::+,,,,,,,,,,,,,,,,,,,,,,....,,...,,,::++++++++++:::::::::::::::+::::::::::::::::++::::++++++++++++++++++++++++++++++++::::::++++:++++++++++++++++***+:+++++++
+::,,,,,,,,,....,,,,..........,,,,,,,,::,+++++++++++++++++++++++++++++++++++::++++::::::::++::::::::++++::::::::::::++:::::::::::::*++::+:::++::+++***+:++:::::
,,,,,,,,,,,,......................,,,,,,,,,:+*******************************+++*********++************++++++++++++*++++++**+++++::+++++++++++++++++***+:++*+**+
,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,.,+++******************+************************************************************************+***++**+*+:**+****
............,,,,,,,,,,......,,,,,,,,,,++++::::....+***********************************++++++****************++******++**********++++++++++++++++****+*+,*******
........,,,,,,,,,,,,,,......,,,,....,.,::::,,,,,,::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
.......,,,,,,,,,,,,,......................,,,,,,,:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,.......,,..,,,,....................................::++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,......................,,,,,,,,.................,.,:+++++++++++++++::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++:::
,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+::::::::::::::::::::::++++::++++++++++::::::++++::++++++++::::::::::::::::++++++++++::::::++++++++++:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::++*+*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++*******:::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::++++:::::++++:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::::::::,,,,,,::++++++++++:::++********:::,,::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,:::::::::::::::::+++++++++++:::**********:++++::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++::++++**++++********++***
::::::::::::::::::::::++:++++++++*****************#***++++++++::::::::::::::::::::::++++++++++++++++++++++++++*+++++++++++++++++++****++****++++++++**++++++++*
::::::::::::::::::::::+++++++++++++++++++++++:++::++++++++++++++++**++++++++++++::+++++++++++++::+++**++++++++++++++++++++++++++++++****++**++********+++++++++
++++::++++++++++++++++++**++**++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++****++++++++++++++++++++++++++++++++++************************++*********
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++++::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++**++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++::::::++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::++++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++::::::::::::++***:+++++++
++++++::++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++++:+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++***********++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+++::+++++++++++++++++++++****:::+++++
++++++++++++++****+++++++++++++++++++++::+++++++++++::::::::::+++++++++++:::::++++::::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****:+++++++
**++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++**++++++++******++**+++*+
************++++****++++++++**++++++**++++++++********++++++++++++++++++++++++++++++++++++++++++++::++++++:::+++++++++++++++++++++++++::+++++++++++***++++::::+
:+++::::::::::::::+:::::::::++::::+++++*++++**++++++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++:::++++
+++++++:::::::::::,,,,,,,,,,,,,,,:::::::++++++++++++++++++++++++++::++++++++++++++++++++++++++++::+++:::::++++++::++::::++::::::++++++++::++++++++:***+++++++++
,,,.:::::,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+::::::::::::::::++::::::::::::::::++::++++++++++::::::++++::+++++++++++++++++++++***++:::::::
...+::::::::+:,,::,,,,,,,,,,,,,,,,,,,,,::+::::++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
..::::::::::::,,,,,,..............,,,,,,,,,,,,,::::::::::::::::::+::::::::::::::::++::::++++++++++++++++++++++++++++++++++::++++++:++++++++++++++++***+:+++++++
,,,,,,..,:::,.,,,,,,..................,,,,,,,,,,.:,:++++++++++++++++++++++++::++++::::::::++::::::::++::::::::::::::++:::::::::::::*++::+:::++::+++***+:++:::::
:,,,,,,::::,,,,,,,,,..................,,,,,,,,,,,,,,,:++********************+++*********++************++++++++++++*++++++**+++++::+++++++++++++++++***::++*+**+
::::,,::::,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*********+************************************************************************+***++****+,+*+****
::::::,,,,.............,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,....**************************++++++****************++******++**********++++++++++++++++****+*+,*******
......,,..........,,,,,,,,,,,,,,,,,,.....,,,:::::,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
..................,,,,,,,,,,,,....................,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.............................................................,++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,......,,,,....................,,,,....................,,,,::++++++::::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++:::
,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++::++++++++++::::::++++::++++++++::::::::::::::::++++++++++::::::++++++++++:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++**::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::+*****:::::::::::::::::::::::::::::::::::::::::::::::+*++:::::++++:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::++*******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++::::::++*#******#*++++++::++++++++++::::::::::::::::::::::::::::::::::::::::++::::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::++:::::::::+++++++++++************++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++++*
,,::::,,::::::,,::::::::::++++++++++::::++::++++::++++++++++++++++**++++++++++++::+++++++++++++::+++**++++++++++++++++++++++++++++++****++**++********+++++++++
::::::++++++++++++++++++**++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++****++++++++++++++++++++++++++++++++++************************++*********
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++++::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++**++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++::::::++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++::::::::::::++***:+++++++
++++++::++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++++:+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++***********++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+++::+++++++++++++++++++++****:::+++++
++++++++++++++****+++++++++++++++++++++:++++++++++++::::::::::+++++++++++:::::++++::::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****:+++++++
+++++++++++++++****+++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++**++++++++******++**+++*+
******++++++++++++*+::++++++++:::::+:::::+++++********++++++++++++++++++++++++++++++++++++++++++++::++++++::++++++++++++++++++++++++++::+++++++++++***++++::::+
::::::::::::::::::::,,,,:::::::::::::::::::+**++++++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++::++++++++++++++++++++++++++++::+++:::::++++++++++::::++::::::++++++++::++++++++:***+++++++++
::::+:,,.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::::::::::::::::+::::::::::::::::++::::::::::::::::++::::++++++++::::::++++::+++++++++++++++++++++***++:::::::
,:::::,.:+::+::,,,,,,,..,,,,,,,,,,,,,,,,,,,,:::+::,,,:++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
,,,,,,,,::++:::,,,,,,,.......,,,......,,,,,,,,,,,,,,,,,,,::::::::+::::::::::::::::++::::++++++++++++++++++++++++++++++++++::++++++:++++++++++++++++***+:+++++++
,,,,,,,,,,,,....,,,,,,....,,................,,,,,,,,,,,,,,:,:::+++++++++++++++++++::::::::++::::::++++::::::::::::::++:::::::::::::*++::+:::++::+++***+:++:::::
,:::::,,,,,,,,,,,,,,......,,,,..........,,,,,,,,,,,,,,,,,,..,,:::+**********+++*********++************++++++++++++*++++++**+++++::+++++++++++++++++***::++*+**+
,,,,:::::::::,,,,,,,...........,,,,,,,,,,,,,,,,::::,,,,,,,,,,,::..,+************************************************************************+***++**+*+:+*+****
:,,,::::::,,,,,,,,..............,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,.+****************++++++************************++**********++++++++++++++++****+*+,*******
,,,,,,,,,...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::
,,,,,,,.......................,,,,,,,,......................,,,,.....,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,......,,,,...............................................,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,......,,,,................,,,,,,,,,,,,,,,,,,....,,,,,,,,,:::::::::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::++++::++++++++++::::::++++::++++++++::::::::::::++::++++++++++::::::++++++++++:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,::::++*+:::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::,,,,:::::+******+::::::::::::::::::::::::::::::::::::::+**+:::::++++:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::::::+::::::+******##++++++++++++++::::::++::::::::::::::::::::::::::::++::::++++++++::++++**++++****++**++***
,,,,,,,,::::::,,,,,,,:,,::::++::::::::::::::::::++++**++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++****++++++++**++++++++*
::,,::::::::::::::::::,,::::++++++::::::++++++::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++++++++++++++++++++++++++++++****++**++****++**+++++++++
++++::::++++++++++++++++++++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++****++++++++++++++++++++++++++++++++**************************++******++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++++::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++**++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++++++::::++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::::::::::::::::++***:+++++++
++++++::++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++:::+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::+++***********++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+++::++++++::+++++++++++++****:::+++++
++++++++++++++****++++++++:::::+++++++::++++++++++++::::::::::++++++++++::::::++++::::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****::++++++
++++++++++++++++++*+++++++::::::::++::++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++******++**+++++
++++++++++++++++***++:::+:::::::::::::::::::::::++++**++++++++++++++++++++++++++++++++++++++++++++::++++++::++++++++++++++++++++++++++::+++++++++++***++++::::+
::::::::::::::::::::,,,,,,::::::::::,,,,::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::+++++++++++++:+::++++++++++++++++++++++++++++::+++:::::++++++++++::::++::::::++++++++::++++::++:***+++++++++
:::::::::::,..,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+******++::::::+::::::::::::::::++::::::::::::::::++::++++++++::::::::++++::+++++++++++++++++++++***++:::::::
,,:,,,:::::,,,:,,,,,,,,,..,,,,,,,,,,,,,,,,,,::::::::::++++:::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
.,,,,,,,:,..,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++::::++++++++++++++++++++++++++++++++++::++++++:++++++++++++++++***+:+++++++
,,,,,,,,,,,,..,,.........,,,,,,,..,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,::++++::++++++::::::::++::::::++++::::::::::::::++::::::::::::+*++::+:::++::+++***+:++:::::
::::::::::::,,,,,,,,,,,,,,,,........,,,,......,,,,,,,,,,,,,,,,,,,,..,,::::+*+++*********++************++++++++++++*++++++**+++++::+++++++++++++++++***::++*+**+
:::::,,,,:,:,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,..,+***************************************************************+***++**+*+:+*+****
::::::,,,,,,,,,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,.:++******++++++************************++**********++++++++++++++++****+*+,*******
,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
,,,,,,,,,,,,,,,,....................,,,,....,,..............................,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,........,,,,...........................................,,,:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,....,,,,,,................,,,,,,,,,,,,,,....,,,,,,,,::+*::::::::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::++++++++++::::::++++::++++++++::::::::::::++::++++++++++::::::++++++++++:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,:::::+****+:::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,:::::::++*****+::::::::::::::::::::::::::::::++++:::::++++:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,::::,,,,,,,:::++********::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::::::::::::::::************++++++++++++++++::::::::::::::::::::::::::++::::++++++++::++++**++++****++**++***
::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++++*
::::::::::::::::::::::::::::::::::::::::++::++::::++::+++++++++++++*+++++++++++++++++++++++++++::+++**++++++++++++++++++++++++++++++****++**++****++**+++++++++
++++++++++++++++++++++++++++++++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++****++++++++++++++++++++++++++++++++**************************++******++*
++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++::::++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::::::::::::::::++***:+++++++
++++++::++++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::::::::::::::::::++***:::::+++
++::++++++:+++******++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::++++************++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+++::++++++::+++++++++++++****:::+++++
++++++++++++++++**++++++++::::+++++++++:::::++++++::::::::::::++++++++++::::::++++::::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****:+++++++
++++++::++++++++**++++::::::::::::::::::,,,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++******++**+++++
++++++++++++++++**++::::::::::::::,,,,,,,,,,::::::::++++++++++++++++++++++++++++++++++++++++++++++::++++++:::+++++++++++++++++++++++++::+++++++++++***++++::::+
::::::::::::::::::::,,,,,,::::::,,,,,,,,,,,,,,,,:::::::+++++++++++++++++++++++++++++++++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++::++++++++++++++++++++++++++++::+++:::::++++++++++::::++::::::++++++++::++++::++:***+++++++++
::,,:::::::,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++***######**::::::::::::::::++::::::::::::::::++::++++++++++::::::++++::+++++++++++++++++++++***++:::::::
,,,,:::,,,,,,,:,...,,,,,,,,,,,.,,,,,,,,,,,,,::::,,::::::::::::::::::,::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
,,:,,,..,,,,,,,,..,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,..,,,,,,....,,,,,,,,,,,,,,::::::++::::++++++++++++++++++++++++++++++++++::++++++:++++++++++++++++***+:+++++++
:::,,,,,,,,,,,..................,,,,,,....,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++::::::++::::::++++++::::::::::::++:::::::::::::*++::+:::++::+++***+:++:::::
::::::::,:::,,,,,,,,,,,,,,..,,,,,,,,........,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+****++************++++++++++++*++++++**+++++::+++++++++++++++++***::++*+***
::::::::::,,,,,,,,,,,,,..,,,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,+*******************************************************+***++**+*+:+*+****
:::::::::::,,,,,,,,,,,,,.....,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:.:++++++************************++**********++++++++++++++++****+*+,*******
::,,,,,,,,,,,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
,,,,,,,,,,,,,,,,,,,,,,,,..............................................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,...........................................,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++::::::++++::++++++++::::::::::::::::++++++++++::::::++++++++++:::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::::::::++****::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,:::::::::+++*****+:::::::::::::::::::::::+*++:::::++++:::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,::::::::++*******+::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,:::+++++++*********+++++++++++::::::::::::::::::::::::++::::++++++++::++++**++++****++**++***
::::::::,,,,,,::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++++*
::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++++++++++++++++++++++++++++++****++**++****++**+++++++++
++++++++++++++++++++++++++++++++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++****++++++++++++++++++++++++++++++++**************************++*********
++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+::++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++::::++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++::::::::::::++***:+++++++
++::++::++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
::::::++:::+++******++++++++++++::+++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
:::::::+**********++++++++++++++::::::::::++::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+++++++++++::+++++++++++++****:::+++++
++++++::++++++**++*++++++:::::::::::::,,,,,,,,::::::::::::::::++++++++++::::::++++++::::++::::::::::::++++::::::::+++++++++++++++++++++++++++++++++****::++++++
++++++++++++++++++++::::::::::::,,::::,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++******++**+++++
++++::++++++++++++++::::::::::::::,,::::,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++::++++++::++++++++++++++++++++++::++::+++++++++++***++++::::+
::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++++++++++++++++++++++++*+++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::::+::::++++:::::::::::+++++++++++::+++:::::++++++++++::::++::::::++++++++::++++::++:***+++++++++
::::::,,,,,,,,,,,,,,,,,,,,.,..,,..,,..,,,,,,,,,,,,,,,,,,,,:+++**********++++++::,,,,::,,::::::::::::++::++++++++++::::::++++::+++++++++++++++++++++***++:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::,,,,,,..........,,,,,,,:::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
::::,,,,,,,,,:,,,.,,,,,,,,..,,,,,,,,,,,,,,....,,,,:::,,,,,,,,,,,..,,,,......,,,,....,,,,::++++++++++++++++++++++++++++++++::++++++:++++++++++++++++***+:+++++++
::::::::::::,,,,,,,,...........................,,,,,,,..,,,,,,......,,....,,,,,,......,,,,::::::::++++++::::::::::::++::::::::++:::*++::+:::++::+++***+:++:::::
::::::::::::::,,,,,,:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,:+*+****++++++++++++*++++++**+++++::+++++++++++++++++***::++*+**+
::::::::::::::::,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,:::....******************************************+***++**+*+:+*+****
::::::::::::::::,,,,:,,.....,,,,,,,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,+****************++**********++++++++++++++++****+*+,*******
::::::::,,::,,,,,,,,,,,,....,,,,,,,,.......................,,,,,,,,,,,....................,,,,:::::,:::::::::::::::::::::::::::::::::::::::::::::::::++::::::::
::::::::,,,,,,,,,,,,,,,,..,.,,,,,,,,,,............,,,...............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,,,,,,...,,,,,,,,,,,,.........,,,,,,,,.....................,,,,,,,,......,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,::,,,,,,,,....,,,,,,,,,,,,,.....,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++++++++++++++++++++++++++++++++++++++++++++++::::++:::
::::,,,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,..,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+++++++++:++++++++::::::::::::::::++++++++++::::::++++++++++:::::::
::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,:::::::++*********:::::::::::::+++++:::::::::::::::::::::::::::::::::::++:::::
++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,:::::::++*********::::::::::+*++:::::++++:::::::::::::::::::::::::::::::::::::
++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::++*******#*+++++++++::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,:::::::::+++++++++++::::::::::::::::::::::++::::++++++++::++++**++++****++**++***
::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++****++**++****++**+++++++++
++++::++++++++++++++++++**++++++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++****++++++++++++++++++++++++++++++**************************++******++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++**++++++++++++++++:::++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+::++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++++++**+++++++++
++++++++++::::++:::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++++::::::::::++***:+++++++
::::++::+++++++++++++++++::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++******++++++++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
:::::::+**********++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++:+++++++++++::+++++++++++++****:::+++++
++++::::++++++++++++++++++::::::::,,,,,,,,,,,,,,,,::,,,,::::::++++++++++::::::++++++::::++::::::::::::++++::::::::++++++++++++++++++++++:++++++++++****::++++++
++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++******++**+++++
++++++++++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++++++++::::++::++++++++++++::++++++::++++++++++++++++++++++::++::+++++++++++***++++::::+
::::::::::::,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++++++++:::::::::+++++++++++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+::::::::::::::::::::::::::::++::+++:::::++++++++++::::++::::::++++++++::++++::++:***+++++++++
::::::::,,,,,,,,,,,,,,,,,,,,,,:,,...,,..,,,,,,,,,,,,,,,,,,,,,,,:+++++++++++++++::::::,,,,:::::::++::++::++++++++++::::::++++::+++++++++++++++++++++***++:::::::
::::,,::,,,,,,,,,,,,,,,,,.,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,,:::+++++++++++++++++++++++++++++++++++++++++++++++++++++***+++++++++
::::::::::::,,,,,,,,..,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,......,,............,,,,,,::::++++++++++++++++++++++++::++++++:++++++++++++++++***+:+++++++
:::::::::::::::::,,,,,,,......................,,.....,,,,,,,..,,,,,,....................,,,,,,,,,:::::++::::::::::::++::::::::++:::*++::+:::++::+++***+:++:::::
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,.,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:+++++++++++*++++++**+++++::+++++++++++++++++***::++*+**+
::::::::::::::,,,,::::,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,.:+**********************************+***++**+*+:+*+****
::::::::::::::::,,,,:,,,....,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++********++**********++++++++++++++++****+*+,*******
::::::::::::::,,,,,,,,,,....,,,,,,,,,,,,,,,......................,,,,,,,,,,,....................,,,,,,,,.,:::::::::::::::::::::::::::::::::::::::::::++::::::::
::::::::::::::,,,,,,,,,,..,.,,,,,,,,,,,,,,,,............,,,,............................................,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::,,:,,,.,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,:,,,.....,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++++++++++++++++++++++++++++::::++:::
::::::::,,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,...,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++**++++++::::::::::::::::++++++++++::::::++++++++++:::::::
::::,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::+++++++*****+:::::::+++++:::::::::::::::::::::::::::::::::::++:::::
++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::::+*********::::++++:::::++++:::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::+++*******++++++++::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::::::::++++::::::::::::::::::::::++::::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++++*
++++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++**+++++++++++++++++++++++++++::+++**++++++++++++++++++++++++++++++****++**++****++**+++++++++
++++::++::++++++++++++++**++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
**+++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++****++++++++++++++++++++++++++++++**************************++******++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++**++++++++++++++++:::++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+::++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++::::++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++++++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++++:::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++++::::::::::++***:+++++++
++::++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++*******+++::::::::::::::::::::,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::::++**********+++++:::::::::::,,::::::::::::,,,,,,,,:::::::::::::::::::::::::+++++++++++::::::::::::::::::::++++++++:++++++++++++++++++++++++++****:::+++++
++++::::++++++++++++++++:::::::,,,,,,,,,,,,,,,,,::,,,,,,::::::++++++++++::::::::::::::::++::::::::::::++++::::::::++++++++++++++++++++++:++++++++++****::++++++
++++++++++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,::::,,::::++++++++++++++::::::::::++++++++++++++++++++++++++++++++++****++++++++++++++++++++++******++**+++++
++++++++++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,::::::::::::+++++++*+++:::::::::::::::+++++++++++::++++++::++++++++++++++++++++++::++::+++++++++++***++++::::+
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++++::::::::::::::::::::::++++++::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::+++:::::++++++++++::::++::::::++++++++::++++++++:***+++++++++
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.,,,,,,,,,,,,,,,,,,,,,:,::+++++++:::::::::::::,:::::::::++::++++++++++::::::++++::+++++++++++++++++++++***++:::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,.....................,::++++:::++++++++++++++++++++++++++++++++++++++++++***+++++++++
::::::::::::::,,,,,,,,,,....,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,..................,,,,,,,,::::::++++++++++++++++::++++++:++++++++++++++++***+:+++++++
::::::::::::::::,,::,,,,,,,,..............................,,,,,,,,,,,,,,,,................,,,,,,,,,,,,::,,::::::::::++::::::::++:::*++::+:::++::+++***+:++:::::
::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,::::::::::..,+++++*++++++**+++++::+++++++++++++++++***::++*+***
:::::::::::::::::::::,,,,...::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,::,::::::::,:*****************************+***++****+,+*+****
::::::::::::::::::::::,,....,,::,,,,,,,,,,,,,,,,,,,.......................,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::****++**********++++++++++++++++****+*+,*******
::::::::::::::::,,,,:,,,....,,,,,,,,,,,,,,,,,,,,........................,,,,,,,,,,............................,,:::::::::::::::::::::::::::::::::::::++::::::::
::::::::::::::,,,,,,,,,,..,.,,,,,,,,,,,,,,,,,,,,,,............,,,,,,...........................................,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,...,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,,.,,........,,,,,,,,,,,,,,,:::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::,,:,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,::::::::::::++++++++++++++++++++++++++++++++++++++++++::::++:::
::::::::::,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++++*****::::::::::::::::++++++++++::::::++++++++++:::::::
::::,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++********::+++++:::::::::::::::::::::::::::::::::::++:::::
++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+*********++:::::++++:::::::::::::::::::::::::::::::::::::
++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++*****+++++++::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++::::::::::::::::++::::++++++++::++****++++****++*******
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++**++++++++++**++++++++*
++++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++++++**+++++++++++++++++++++++++++::+++**++++++++++++++++++++++++++++++**++++**++**+++++++++++++++
++++::++::++++++++++++++**++**++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++****++++++++++++++++++++++++++++++**************************++******++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++::::++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++++++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................,.............................................................................................................................,**+,.......
.....................:....................................................................,,,,,,::,,::::++++++++++++++++++::++++++++++++++++++::::++**+++++++++
++++++++++++:::::::::+::::::::::::::,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++++::::::::::++***:+++++++
::::++::::::++++++++++++::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++******++++::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::::++**++**++**++++::::::::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::+++++++++++::::::::::::::::::::++++++++:+++++++++++::+++++++++++++****:::+++++
++++::::++++++++++++::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::::::::::::::::::++::::::::::::++++::::::::++++++++++++++++++++++:++++++++++****::++++++
++++++++::++++++++++::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++::::::::::::++::::::::::++++++++++++++++++++++****++++++++++++++++++++++******++**+++++
+++++++++++++++++++++:::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++:::::::+::::::::::::::::::::++++++++::++++++++++++++++++++++::++::+++++++++++***++++::::+
::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,::::::::::::::::++++++++++::::++::::::++++++++::++++++++:***+++++++++
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++::::::::::::::::::::,,,,::::::::++++++::::::++++::+++++++++++++++++++++***++:::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,:::::::++++++++++++++++++++++++++++++++++++++***+++++++++
::::::::::::::,,,,,,,,,,,,,,:,...,,,,,,,,,..,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,::::++++++++++++::++++++:++++++++++++++++***+:+++++++
::::::::::::::::::,,,,,,,,:,,,,,,,,,..........,,....,,..........,,,,,.......................,,,,,,,,,,,,,,,,,,,::::+++::::::::++:::*++::+::::+::+++***+::+:::::
++++:::::::::::::::::::,,,,,,:,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,........,,,,,,,,,,,,,,,,,,::::::::::::..:++++++**+++++::+++++++++++++++++***::++*+***
++++++::::::::::::::::,,....::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,::::::::::,,:::.************************+***++****+,+*+****
::::::::::::::::::::::,,....,,,,:::::,,,,,,,,,,,,,,,,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:::::+**********++++++++++++++++****+*+,*******
::::::::::::::,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,.........................,,,,,,,,.............................,,::::::::::::::::::::::::::::::::++::::::::
::::::::::::::::,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,..........................,,...,..,,........,::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,........,,,,,,,,,,,,,,,,:::::,,,,,,,..,,,::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,::::::::::++++++++++++++++++++++++++++++++++++++++::::++:::
::::::::,,,,,,,,,,,,,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++*******+::::::::::++++++++++::::::++++++:::::::::::
::::,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++******++:::::::::::::::::::::::::::::::::::++:::::
++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++******+::++++:::::::::::::::::::::::::::::::::::::
++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++::::::::::::::::::::::::::++++::::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++**+++++++++++++++++++++++++++:++++**++++++++++++++++++++++++++++++**++++**+++++++++++++++++++
++++++::::++++++++++++++**++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++**++***************************
++++++*+++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++****++++++++++++++++++++++++++++++++**************++++******++++++++++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++::++++++++++++++++++++++++++++**++++++++++++++++:::++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++**++++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++::::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++::++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++++++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................,....................................................................,,,,,,::,,::::::++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**+::::::++++::::::::::++***:+++++++
::::++::::::++++++++++::::::++::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++****++++++::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::::++**++**++++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++::::::::::::::::::::::++++++++:++++++++++++++++++++++++++****:::+++++
++++::::++++++++++++::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++++++++++++++++++++++:++++++++++****::++++++
++++++++++++++++++++::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****++++++++++++++++++++++******++**+++++
++++++++++++++++++++::::::,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++++++++++++++++++++++::++::+++++++++++***++++::::+
::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+:::::++++++::::++++++++++++++++++++++++++::+***++::+++++
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::::++++++++++::::++::::::++++++++::++++++++:***+++++++++
::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::++++::::::++++::+++++++++++++++++++++***++:::::::
::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,..,,,,,,,,:,,,,,,,,,,,,,,,,,,,...........................,::::::+++++++++++++++++++++++++++++++++++***+++++++++
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,...::,,,,,,,,,,,,,,,,,,,,,,,,....,,..................,,,,,,,,,,::::::++++++::++++++:++++++++++++++++***+:+++++++
++++:::::::::::::::::::::::::::::,:.,,,,,,....................,,....,,,,,,......,,,,,...........,,,,,,,,,,,,,,.,,,::::::::::::++:::*++::+::::+::::+***+::+:::::
++++++++++++:::::::::::,,,,,::::,,,,,,,,,:::,,::,,,,,,,,,,,,,,,,:,,,,,,,................,,,,,,,,,,,,,,::::::::::::::,..,:+++++++::+++++++++++++++++***+:++*+***
++++++++++++:::::::::::,....::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,................,,,,,,,,,,,,,,::::::::::::,,,,:,,+******************+***++**+*+:+*+****
::::::::::::::::::::::,,....,:::,,,,:::::,,,,,,,,,::,,,,,,:,,.......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::+*****++++++++++++++++****+*+,*******
:::::::::::::::::::::,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................,:::::::::::::::::::::::::::++::::::::
::::::::::::::::,,,,:,,,,.:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,..................................,,,,.....,,::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::,::,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,......,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,,,,::,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::++++++++++++++++++++++++++++::::++:::
::::::::::,,,,,,,,,,:,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++*******+::::::++++++++++::::::++++++:::::::::::
::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::++++********::::::::::::::::::::::::::::::::++:::::
++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::+********++:::::::::::::::::::::::::::::::::::::
++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++::::::::::::::++++::::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++**++++**++**+++++++++++++++
++::++++::++++++++++++++**++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++**++***************************
++++++*+++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++****++++++++++++++++++++++++++++++++************************++++++++++*
::++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::++++++::++++++++++++++++++++++++++++**++++++++++++++++:::++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++**++++++++*
++++++++++++++++::::::::::++::++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++++++++::++++++++::+++++++++++++++++++++++++++
$.....................:..............................................................................................................................**+........
.....................:.............................................................................................................................,**+,.......
.....................,....................................................................,,,,,,::,,::::++++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++***::::::++++::::::::::++***:+++++++
::::::::::::++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++****+++++:::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::::++**++**++++++++::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,::,,:::::::::++++:::::::::::::::::::::::::::++++++++:+++++++++++::+++++++++++++****:::+++++
++++++++++++++++++++::::::::,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++++::::::::++++++++++++++++++++++:++++++++++****:+++++++
+++++++++++++++++++:::::::,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++++++****++++++++++++++++++++++******++**+++++
++++++++++++++++++++::::::,,::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::+++++++++++++++++++++::++::+++++++++++***++++::::+
::::::::::::::::::::::::,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::++++::::++++++++++++++++++++++++++::+***++::+++++
::::++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++::++++++++:***+++++++++
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++++++++++:***++:::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..::,,,,,,:,.,,,,,,,,,,,,,,,,,,,....................,,,,:::::::::::::++++++++++++++++++++***+++++++++
::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,...,,,,,::,...::::::,,,,,,,,..,,,,,,,,,,,,,,,,................,,,,,,,,,,::,,::::::++:++++++++++++++++***+:+++++++
++++++::::::::::++++::::++++::::::::::::,,:::,,,,,,,..........,,......,,,,..,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,.,,,,,,,:::::*++::+::::+::::+***+::+:::::
++++++++++++++++++++::::,,:,::::::::::::::,,::::,,,:::,:::,,,,,,,,,,,,,,,,,,,,,,......,,..........,,,,,,,,,,:::::::::::::::::, .:::++++++++++++++++***+:++*+***
++++::::+++++++++++++::,,..,:::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,::::::::::::::::,:::::+*********+***++**+*+:+*+****
:::::::::::::::::::::::,....::::::::::::::::::::::::,,:,,,,,:::::::,.........................,,,,,,,,,,,,,,,,,,,,,,,.....,:::::::::+++++++++++++****+*+,*******
::::::::::::::::::,,:,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................,.,::::::::::::::::::++::::::::
::::::::::::::::::::,::,,.:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,..............,,,,,,..,,.................,..,,,,,,,,,,..,,.,,::::::::::::::::::::::::::::::
::::::::::::::::::::,::,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::::::::::,::,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++::++++++++++++++++++++::::++:::
::::::::,,,,,,,,,,,,:,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,......,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++****++::++++++::::::++++++:::::::::::
::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++::::::::::::::::::::::::++:::::
++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,:::::::::::++++++++::::::::::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::,,::::::::,,,,::,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::,,,,,,::::::::::::::::::::::::::::::::++++++::++++++++::++****++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::+++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++
++++::++++++::++++++++++**++**++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++****++***************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++****++++++++++++++++++++++++++++++****************++++**++++++++++++++*
++++++++++++++++++++++++++++++++++++++++*+++++++::::::::::::::::::::++++++::++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++**++++++++*
++++++++++++++++::::::::::++++++++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++::::++++::++:+++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................**+........
.....................,.............................................................................................................................,**+,.......
.....................,......................................................................,,::::,,::::++++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++***::::::++++::::::::::++***:+++++++
::::::::::++++++++++++::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++**++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::::++**++++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,::,,:::::::::++++:::::::::::::::::::::::::::++++++++:+++++++++++::+++++++++++++****:::+++++
++++++++++++++++++++::::::::,,,,,,,,::::,,::,,,,::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++:++++++++++****:+++++++
++++++++++++++++++::::::::::::::::::::::,,,,::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::++++++++++++++**++++++++++++++++++++******++**++**+
++++++++++++++++++++::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::,::+++++++::::::::::++++::++::+++++++++++***++++::::+
::::::::::::::::::::::::::::::::::::,,,,,,,,::,,::,,,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::++::::::::::::++++++++++++++++++::+***++:::++++
::++++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++++++++::++++++++:***+++++++++
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++++++++++:***++:::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,:::..,:,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,:::::::::::::+++++++++++++++++***+++++++++
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,...,,,,,:::,..,::::::,,,,,,,..,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,::::::::::::+++++++++++++***+:+++++++
++++++++++++++++++++::::::::::::::::::::::::::::::,,,,,,..........,,..........,,,,,,..,,,,,,,,,,,,........,,,,,,,,,,,,,,,,.,,,,,::::::::+::::+::::+***+::+:::::
++++++++++++++++++++++:::::,::::::::::::::::::::::::,,,:::::,,:,,,,,,,,,,,,,,,,,,,,,,.,,,,,,..........,,,,,,,,:::::::::::::::::::,..,::++++++++++++***+:++*+***
++++++++++++::+++++++::,,..,:::::::::::::::::::::::::::::,,,,,,:,,,,,,,,,,::,,,,,,,,................,,,,,,,,,,,,::::::::::::::::::::,+******+***++**+*+:+*+****
:::::::::::::::::::::::,....:::::::::::::::::::::::::::::,:,,,,,:::::::,..........................,,,,,,,,,,,,,,,,...........,::::::+,:+++++++++****+*+,*******
::::::::::::::::::,,:::,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....................,............................................,:::::::::::::::++::::::::
::::::::::::::::::::,::,,.:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,..............,,,,,,,.,,.................,,,,,,,,,,,..,,,,.,,::::::::::::::::::::::::::
::::::::::::::::::::,::,,,,:.,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::,::,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++::++++++++++++++++::::++:::
::::::::,,,,,,,,,,,,:,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,......,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++::::++::::::++++++:::::::::::
::::::::::::::::,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++++:::::::::::::::::::::++:::::
++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++++++::::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,:::::::::::,,,,::::::::::::::::::::::::::::::::::++++::::++++++++::++****++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::++++::::::::::::::::::::::::::::::::::::::::::::::::::::++::++::++::::+++++++++++++++++++++++::+++**++++++++++++++++++++++++++++++**+++++++++++++++++++++++++
++++::::++++::++++::++++++++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++****++***************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++****++++++++++++++++++++++++++++++****************++++**++++++++++++++*
++++++++++++++++++++++++++++++++++++++++*+++++++::::::::::::::::::::++++++::++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++*
++++++++++++++++::::::::::++++::++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++::::++++::++:+++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................**+........
.....................,..............................................................................................................................**+,.......
.....................,....................................................................,,..,,,,,,::++++++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++***::::::++++::::::::::++***:+++++++
::::::::::::::++++++::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::::::::::::::::::::+***:::::+++
:::::::::::+++***+++++::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::++***+::::::::::::::++++:+***::::::::
::::::++**+++++++++++:::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++++++:+::::++++++::+++++++++++++****:::+++++
++++++++++++++++++++::::::::::,,,,,,::::::::::,,::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++++:++++++++++****:+++++++
+++++++++++++++++++++::::::::::::::::::::,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::++++++++++++++++++++++++++++++++++******++**++**+
+++++++++++++++++++++:::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::+++++::::::::::::::++++::+++++++++++***++++::::+
::::::::::::::::::::::::::::::::::::,,,,::::::,,::,,,,::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++++++++++++++::+***++:::++++
++++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++::++++++++:***+++++++++
::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::++++++++++++++:***++:::::::
::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:..,:,,,,,,,,.,,,,,,,,,,,..,,,,,,................,,,,::::::::::::::+++++++++++++***+++++++++
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,..,,,,,,,,,...::,,,,,,,,,,,..,,,,,,,,,,,,,,,..............,,,,,,,,,,::::::::::::+++++++++++***+:+++++++
++++++++++++++++++++::::++++:::::::::::::::::::::::::::,,,,,,,....................,,,,,,,,,,,,,,,,,,,,........,,,,,,,,,,,,,,,,,,::,:::::::::++::::+***+::+:::::
++++++++++++++++++++++:::::,::::::::::::::::::::::::::::,,,,,:::,,::,,,,,,,,,,,,,,,,,,,,,,..,,,,..........,,,,,,,,::::::::::::::::::,..:::+++++++++***+:++*+***
++++++++++++++++++++++:,,..,::::++::::::::::::::::::,::::::::::,,,,::,,,,,,,::,,,,,,,,..................,,,,,,,,,,,,:::::::::::::::::::::+**+***++**+*+:+*+****
:::::::::::::::::::::::,....::::::::::::::::::::::::::::,,,,::,,,,,,::::,,............................,,,,,,,,,,,,........,,....,,::::++,:++++++****+*+,*******
:::::::::::::::::::::::,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,,,............................................,:::::::::::++::::::::
::::::::::::::::::::,::,,.:.,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,...............,,,,,,,,.,,,,...............,,,,,,,:,........,,:::::::::::::::::::::::
::::::::::::::::::::,::,,,,:.,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,::::::::::::::::::::::::
::::::::::::::::::::,::,.....,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,............,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++++++++++++::::++:::
:::::::::::::::::::::,,,,....,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,........,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++:::::::::++++++:::::::::::
::::::::::::::::,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++++++++:::::::::::::::::::++:::::
++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++:::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,::::::::::,,::::::::::::::::::::::::::::::::::::++++++::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++::::::::::::::::::::++::::::::::::::::::::::::::::++++::++::++::::++++++++::+++++++++++++::+++**++**++++++++++++++++++++++++++**+++++++++++++++++++++++++
++++::::++++::++++::++++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++****++***************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++**++++++++++++++++++++++++++++++++****************++++++****++++++++++*
++++++++++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::::::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++*
++++++++++++++++::::::::::++++::++++++++++++::::::::++++::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++::::::::++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++++++++++++++++::++:+++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................**+........
.....................,..............................................................................................................................**+,.......
.....................,......................................................................,,,,::,,::::++++++++++++++++++::++++++++++++++++++++::++**+++++++++
++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++***::::::++++::::::::::++***:+++++++
::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::+:::::::::::::::::::+***:::::+++
:::::::::::+++++++++::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+***+::::::::::::::++++:+***::::::::
::::::++**++++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::++++::::++::::::::::+++++++++++++****:::+++++
++++++++++++++++++++::::::::::::::,,::,,::::::,,::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:++++++++++****:+++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,:::::++++++++++++++++++++++++++++++++******++**++**+
+++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,:::++++::::::::::::::::++::+++++++++++***++++::::+
::++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++++::+***++:::++++
++++++::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++++++:***+++++++++
::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::+++++++++***++:::::::
::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,..,,,,,:::::::::::::+++++++++++***+++++++++
::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,...,,,::::,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,......,,,,,,,,::::::::::::+++++++++***+:+++++++
+++++++++++++++++++++:+++++++:::::::::::::::::::::::::::,,,,.,,,,,..........,,......,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,,,,,,,,,.,::,,,,,:::::::::+***+::+::::+
++++++++++++++++++++++:::::,::++++++::::::::::::::::::::::::,,,,,,::,,,,:,,,,,,,,,,,,,,,,,,,,,..,,,,..........,,,,,,::::::::::::::::::::..,:+++++++***+:++*+***
++++++++++++++++++++++:,,,.,::::::++::::::::::::::::::::,,::::::,:,:,,,,,:,,,,,,,,,,,,,,,,................,,,,,,,,,,,,:::::::::::::::::::::::+**++**+*+:+*+****
++++++::::::::::::::::+:.,..::::::::::::::::::::::::::::,,:::::::::,,,,,:::,.............................,,,,,,,,,,,........,,......:::::::,:+++****+*+,*******
::::::::::::::::::::,::, .,.,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......................,,............................................,::::::::++::::::::
::::::::::::::::::::,::,.,+.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,,,,,,,,,.,,,,......,,....,,,,,,::::,,......,,,,:::::::::::::::::::
:::::::::::::::::::::::,,,,:.,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::::::,::,.....,:,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++++++++::::++:::
::::::::::::::::::::,::,.....,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++::,:::++++++:::::::::::
::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::::::::::::::++++::::::,:::::::::::::++:::::
++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++:::::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::++++::::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++::::::::::::::::::++::::::::::::::::::::::::::::++++++++::++::::++++++++::+++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++::++++::::++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++**++++***************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++**++++++++++++++++++++++++++++++++++**************++++++++++++++++++++*
++++++++++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::::++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::++::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++*
++++++++++++++++::::::::::++::::++++++++++++::::::::++++++++::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++::::::++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++::++++++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................**+........
.....................,..............................................................................................................................**+,.......
.....................,....................................................................,,,,,,::,,::::::++++++++++++++++++++++++++++++++++++++++++**+++++++++
++++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::++++::::::::::++**+++++++++
::::::::::::::++++::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::+***:::::+++
:::::::::::+++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+***+::::::::::::::++++:+***::::::::
::::::++**++*++++++++:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::::::::::+++:++::::::::::+++++++++++++****:::+++++
++++++++++++++++++++::::::::::::::::::,,::::,,,,::::,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::++++++++:++++++++++****:+++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::++++++++++++++++++++++++++++******++**++**+
**+++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++++++++***++++::::+
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++::+***++:::++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++:***+++++++++
::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++***++:::::::
::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,:..,:,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++***+++++++++
++++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,::::::,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,,::::::::::::+++++++***+:+++++++
++++++++++++++++++++++++++++++++::::::::::::::::::::::::::,,,,,,:,..,,,,..........,,....,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,.,,,::::::::::+++***+::+::::+
++++++++++++++++++++++::::,:++++::::::::::::::::::::::::::::::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........,,,,,::::::::::::::::::::...:++:++***+:++*+***
+++++++++++++++++++++++:,,,,:+++::::::::::::::::::::::::::::,,,,::::::::,,,,,,:,::,,,,,,,,,,,,................,,,,,,,,:::::::::::::::::::::::,:+++**+*+:+*+****
++++++++++++::::::::::+:....::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,:,,,.............................,,,,,,,,,,,,..............,,:::::+::+***+*+,*******
:::::::::::::::::::::::,..,.,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......................,,,,..........................................,::::::++::::::::
:::::::::::::::::::::::,.,+.,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,..................,,,,,,,,,,,,,....,,......,,,,::::::::,,....,,,,:::::::::::::::::
:::::::::::::::::::::::,,,,:.,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,::::::::::::::::::
::::::::::::::::::::,::,.....,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++++::::++:::
::::::::::::::::::::,::,,....,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++::::::,,::++++:::::::::::
::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,:::::::::::++:::::
++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,::,,,,,,,,,,::,,::::::,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::++++++::++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++::::::::::::::::++::::::::::::::::::::::::::++++++++++++++++::++++++++::+++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++::++++++++::::++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++***************************
**+++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++++**++++++++++++++++++++++++++++++++++**************++++++++++++++++++++*
++++++++++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++::::::::::::::::::::++::++++++::::::++++++::::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++*
++++++++++++++++::::::::::++::::++++++++++++::::::::++++++++::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++::::++++::++++++::++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++::+++
++++++++++++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::::++++::::++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++::++++++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................**+........
.....................,.............................................................................................................................,**+,.......
.....................,....................................................................,,,,,,::,,::::::++++++++++::::::::::::++++++++++++++++++++**+++++++++
++++++++::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::++++::::::++::++**+++++++++
::::::::::::::::++::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::+***:::::+++
:::::::::::+++++++++::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::,,,,::::::::::,,:::::::::::::::::::::::::::::::+++++::::::::::::::++++:+***::::::::
::::::++**++*++++++++:::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::+++++++++++****:::+++++
++++++++++++++++++++::::::::::::::::::,,::::,,,,::::,,,,,,,,::::::::::::::::::::::::,,,,,,::::::,,,,,,,,:::::::::::::::::::::::::::::::::++++++++++****::++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,::::,,,,,,,,,,,,::::::::::++++::::::+++:++++++++++******++**++**+
****++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+++++***++++::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++::::+***++:::++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++:***+++++++++
::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++***++:::::::
::::::::::::::::::::::,,::::::,,,,,,,,,,,,::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++***+++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,..,,,,::::,,...,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,......,,,,,,:::::::::::::+:++***+:+++++++
++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,..,,,,............,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,:::::::::::+**+::+::::+
++++++++++++++++++++++:::::,++++++::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,::::::::::::::::::++,..:::++**+:++*+***
+++++++++++++++++++++++:,,,,++++++::::::::::::::::::::::::::::::::,,::::::,::,,,,,,,,,,,,,,,,,,,,,...............,,,,,,,:::::::::::::::::::::::,:++++*+:+*+****
++++++++++++++++++++:++,....::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,................................,,,,,,,,:,,,,,..........,,::::::::+++*+,*******
:::::::::::::::::::::::,..,.::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................,,...........................................,:::++::::::::
:::::::::::::::::::::::,..+.,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,..................,,,,,,,,,,,,,,,,......,,,,,,..,,::,,::,,.......,,::::::::::::::
:::::::::::::::::::::::,:,,:,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,:::::::::::::::
::::::::::::::::::::,::,....,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++::::++++:
::::::::::::::::::::,::,,....,,:,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::::::::::::::,,,,:::::::::::::::
::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::::::::::::::::,,::::::::::++:::::
++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::
++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::+++++++
++++++++::::::::::::::::::::::::,,::,,::,,::::::::::::::::::,,,,,,,,,,,,,:::::::::::,,::::::::::::::::::::::::::::::::++++::::++++++++::++++**++++****++**++***
::::++::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++::::::::::::::++::::::::::::::::::::::::::++++++++++++++++++++++++++::+++++++++++++::+++**++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++:::++++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++**++++***************************
**+++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::::::++++++++++******++++++++++++++++++++++++++++++****************++++++++**++**++++++*
++++++++++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::++::::::++::++++++::::++++++++++::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++*
++++++++++++++++++++::::::++++::++++++++++++::::::::++++++++::::::++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++::++++++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................***,.......
.....................,.............................................................................................................................,***,.......
.....................,......................................................................,,::,,,,,,::::::::::::::::::::::::::::++++++++++++++++++**+++++++++
++++++++::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::++::++**+++++++++
::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::+***:::::+++
::::::::::::++++++++::::::::::::::::::::::::::::,,,,,,,,,,::::::::,,,,,,,,,,,,,,::::::::,,,,,,::::::::::::::::,,,::::::::::+++++::::::::::::::++++:+***::::::::
::::::++**++++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++++****:::+++++
++++++++++++++++++++::::::::::::::::::,,::::,,::::::,,,,,,,,::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++++****::++++++
+++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++*+****++**++**+
****++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++***++++::::+
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+***++:::++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++:***+++++++++
::::::::::::::,:::::::::::,,::::::::::::,,::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+***++:::::::
::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++**+++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,....,,::,,,,..,,,,,,,,,,,,,,,,,,,,..,,,,......,,.,,,::::::::::::::+++++:+++++++
++**++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,,,,,,,,,,,,,::::,,:::++*:::+::::+
**+++++++++++++++++++++::::,++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::::::::::::::.,::+*::++*+***
+++++++++++++++++++++++:,,,,++++++++++++::::::::::::::::::::::::::::::::::::,,,,::,,:,,,::,,,,,,,,,,,,,,.................,::::::::::::::::::::::::,:,::,**+****
++++++++++++++++++++:++, ...::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,....,,.............................,,,,,,,:::,,,,,,,,,,,,,,,::::::,:,,*******
:::::::::::::::::::::::,..,.::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........................................,,,,..,,.......................,,::,:::::::
:::::::::::::::::::::::,,.+.,,::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,.......................,,,,,,,,,,,,..,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
:::::::::::::::::::::::,:,,:,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,:::::::::
:::::::::::::::::::::::,,....,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,:::::++:::
::::::::::::::::::::,::,,,...,,::,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++::::::::::::,,,,,,,::::::::::
::::::::::::::::::,,::::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,::::++:::::
++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::+++++++
++++++++++++++++::::::::::::::::,,::,,,,,,::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::::++::::::::::::::::::::::::::++++++++++++++++++++++++++::+++++++++++++::+++**++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++*******************************
+++++++++++++++++++***++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++****++++++++++++++++++++++++**++++**++************++++******++****++++*
::++++++++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++::::::::::::++::::::++::++++++++::++++++++++::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++++++::::::++++::++++++++++++::::::::++++++++::::::++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::::++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++::++++++++::::+++++++++++++++++++++++++
$.....................,..............................................................................................................................***,.......
.....................,.............................................................................................................................,***,.......
.....................,......................................................................,,,,,,,,,,::::::::::::::::::::::::::::::++++++++++++++++**+++++++++
++++++++::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++::::::::::::::::++++++**+++++++++
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::,,,,,,,,::::::,,,,,,::::::::::::::::::,,,,:::::::::+::::::::::::::::::::::++***:::::+++
::::::::::::++++++++::::::::::::::::::::::::,,::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,::,::+++++::::::::::::::++++:+***::::::::
::::::++**++++++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,:::::::::::::::::::::+++++****:::+++++
++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++++++****::++++++
+++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++*+****++**++**+
****++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::+++***++++::::+
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::***++:::++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+**+++++++++
::::::::::::::,:::::::::::,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+**++::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++++++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,....,,.,,,,,:::::::::::::++++:+++++++
++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,....,,..,,,,,,,,..,,,,::::::::::+++::+::::+
****+++++++++++++++++++::::,++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,:::::++*+***
**+++++++++++++++++++++:,,,,++++++++++++++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,.................,::::::::::::::::::::::,,::,,:++****
+++++++++++++++++++++++:....::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,.....................................,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,:+*****
:::::::::::::::::::::::,..,.::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...............................................,,....,...............,,....,,,,,::::::
:::::::::::::::::::::::,,.+.,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,..,:::::,,.......................,,,,,,,,,..,,..,,,,..,,,,,,..,,,,,,,,,,......,,,,:::::::
:::::::::::::::::::::::,:,,:,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,::::::::
:::::::::::::::::::::::,....,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,::::::::
::::::::::::::::::::,::,,,...,::,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++::::::::,,,,,,,,,,,::::::::
::::::::::::::::::,,::::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++::::::::::::::,,,,,,,,,,,,,:++:::::
++++++::::::::::::::::++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::+++++++
++++++++++++++++::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::++++**++++****++*******
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++
++++++++++++++++::::::::++++::::::::::::::::::::::++::++++++++++++**++++++++++++::+++++++++++++::+++**++**++++++++++++++++++++++++++**+++++++++++++++++++++++++
++++++++++++++++++::::++++++++++++++++************++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++*******************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++****++++++++++++++++++++++++**++++**++**********************++******++*
::++++++++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++++::::::::::++::::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++***
++++++++++++++++++++::++::++++::++++++++++++++::::::++++++++::::::++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................,..............................................................................................................................***,.......
.....................,.............................................................................................................................,***,.......
.....................,......................................................................,,,,,,,,,,::::::::::,,::::::::::::::::::++::++++++++++++**+++++++++
++++++++::::::::::::::::::::::::::::,,,,::,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,:::::::+++::::::::::::::::++++++**+++++++++
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::+***:::::+++
::::::::::::++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,::::++++::::::::::::::::++:+***::::::::
::::::++++++++++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::+++++****:::+++++
++++++++++++++++::++::::::::::::::::::::::::::::::::::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++****::++++++
++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++++***++**++**+
****++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++:::+**++++::::+
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+**++:::++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+**+++++++++
::::::::::::::,:::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,....,,....,,..,,,,,,::::::::::::++::+++++++
**++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,...,,..,,,,,,,,,,,,,,,,::,,,,::::::::::::+
****+++++++++++++++++++::::,++++++++++++::++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::,:+++***
**+++++++++++++++++++++:,,,,++++++++++++++::::::::::::::::::::::::::::::::::::::::,,:,,,,,,,,,,,,,,,,,,,,,..................,,::::::::::::::::::::,,::,,:+++***
+++++++++++++++++++++++:....::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,......................................,,,,,,,,::::,,,,,,,,,,,,,,,,:,,,::++***
::::::::::::::::::::::+,..,.::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.................................................,....,,..............,...,,,,,,,::::::
:::::::::::::::::::::::,,,+.,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,...::::::,.........................,,,,,,,,,,..,,,,,,....,,,,.....,,,,,,,,,,,,,,,,,,,:::::
:::::::::::::::::::::::,:,,:,,::::::::::::::::::::::::::,,,,,,,,,,,,..,::::::::,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,:::::
:::::::::::::::::::::::,....,,::::::::::::::::::::::::::,,,,::::,,,,,,,:::::::::,,,,..,,,,....,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,::::::
:::::::::::::::::::::::,,,...,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++++::::::,,,,,,,,,,,,:::::::
::::::::::::::::::::::::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,:::::::
++++++::::::::::::::::++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+++++++
++++++++++++++++::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::++++**++++****++**++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++**+++++++++
++++++++++++++++::::::::++++::::::::::::::::+:::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++**+++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++**++++***************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++**********************************++*
::+++++:++++++++++++++++++++**++++++++++*+++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::++++::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++++++*
++++++++++++++++::++::++::++++::++++++++++++++::::++++++++++::::::++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++::++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................,.............................................................................................................................,***,.......
.....................,.............................................................................................................................,**+,.......
.....................,......................................................................,,,,,,,,,,::::::::,,,,::::::::::::++::::::::::++++++++++**+++++++++
++++++::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,::,,::,,,,::::::::::,,,,,,,,,,:::::::+++::::::::::::::::++::++**+++++++++
++::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::+***:+++++++
::::::::::::++++++++++::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::::++++::::::::::::::::++:+***:::::++:
::::::++++++++++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++***::++++++
++++++++++++++++::::::+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++****::++++++
++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++***++**++**+
****++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++:+**+++++++++
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+**++::+++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++++++++
::++::::::::::,:::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++::+++++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,::::::::::::::::::+++++
**++++**++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,..,,,,,,,,,,,,::::::::::::+
******++**+++++++++++++::::,++++++++++++::++++::::::::::::::::::::::::::::::::::::::,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::,,::+++++
******+++++++++++++++++::,,,++++++++++++++++++:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,...................,:::::::::::::::::::,,,::,,:::++**
+++++++++++++++++++++++:....::::::::::++++::::::::::::::::::::::::::::::::,,,,,,,,.......................................,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::++*
::++::::::::::::::::::+:..,.::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,.........................,,......................,,,,,,....................,,.,,,:::::::
:::::::::::::::::::::::,,,+.,,::::::::::::::::::::::::,,,,,,,,,,,,,,...,::::::,,,,......................,,,,,,,,,,,,,,,,,,..,,....,,,,,,,,,,:,,,,,,,,,,,,,:::::
++++++++++++++++++++:::::,,:,,::::::::::::::::::::::::::::::::::::,.,,:+:::::::,,,,,....,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,:::::::
:::::::::::::::::::::::,,...,,::::::::::::::::::::::::::::::::::::,,:::+::::::::,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,:::::::
:::::::::::::::::::::::,,,,,.,::::::::::::::::::::::::::::::::,,,,,,,,,:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++::::,,,,,,,,,,,,:::::::
::::::::::::::::::::::::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:::+++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,:::::::::
++++++::++::::::::::::++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::+++++++
++++++++++++++++++::::::++::::::,,::,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****++*************
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::++++++++++++++++++++++++++++++++++**++++****++++++++++++++++***
++++++++++++++++++::::::++++::::::::::::::::+:::::::::++++++++++++**++++++++++++::+++++++++++++::+++**++**++++++++++++++++++++++++++**++++**++**++++**+++++++++
++++++++++++++++++::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++*********************************
++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++++++++++***************************************
::+++++:++++++++++++++++++++**++++++++++++++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::++::::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++++***
++++++++++++++++::++::++++++++::++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::++++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++
$.....................:.............................................................................................................................,***,.......
.....................,.............................................................................................................................,**+,.......
.....................,......................................................................,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::::++++++++**+++++++++
++++::::::::::::::::::::::::::::::::,,::,,,,::,,,,,,::::::::::::,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,:::+++::::::::::::::::::::++**+++++++++
++::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::+***:+++++++
::::::::::::++++++++++::::::::::::::::::::::::::::,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::++++::::::::::::::::++:+***::::::::
::::::++++++++++++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++**+::++++++
++++++++++++++++++++::+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++++++***::++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++***++**++**+
****++++++++++++++++:::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++++++::+++
::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::+++++:::++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++++::+++++
::::::::::::::::::::::::::,,::::::,,::::::::,,,,::,,,,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+++::::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,::::::::::::::+++++
**++++**++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
************+++++++++++:::::+++++++++++++:++++::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,::::::::::,,,,,,,,,,,,:::++++
********+++++++++++++++::,,,++++++++++++++++++++::++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,..................,,::::::::::::::,,,,,,,,,,,,::::+++
+++++++++++++++++++++++: ...::::::::::::++::::::::::::::::::::::::::::::::::,,,,..........................................,,,,:::::,,,,,,,,,,,,,,,,,,,,,:::::++
::++::::::::::::::::::+:..,.::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..........................,,..........,,..................,,................,,.,,,,::::::
:::::::::::::::::::::::,,.+.,,::::::::::::::::::::::::::::,,,,,,,,..,.::::::+.,,,,......................,,,,,,,,,,,,,,,,......,,,,,,..,,:::::,,,,,,,,,,,,,,,:::
++++++++++++++++++++:::::,,:.,::::::::::::::::::::::::::::::::::,,.,,,++::++::,,,,,,,,,,......,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::,....,:::::::::::::::::::::::::::::::::::,::::++:+++::::,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,:::::
:::::::::::::::::::::::,,,,,.,::::::::::::::::::::::::::::::::::,,,,,,:::+++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++++::::,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::,,,,,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:::+:++++:+++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::,,,,,,,,,,,,:::::::
++++++++::::::::::::::++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+++++:,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++::::++++::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****++********++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::++++++++++++++++++++++++++++++++**++++****++++++++++++++++**+
++++++++++++++++++::::::::++::::::::::::::::::::::::::++++++++++++**++++++++++++++++++++++++++:::+++++++**++++++++++++++++++++++++++**++++**++**++++**+++++++++
++++++++++++++++++::++++**++++++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++***************************************
::+++++:++++++++++++++++++++**++++++++++++++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++++::::::::::++::::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++++++*
++++++++++++++++::::::++++++++::++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................,.............................................................................................................................,***,.......
.....................,.............................................................................................................................,***,.......
.....................,..................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++++++++**+++++++++
++++::::::::::::::::::::::::::::::::::::,,::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++**+++++++++
::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::::+***:::::+++
::::::::::::++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::+:::::::::::::::::::++**+::::::::
::::::++++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++**+:::+++++
++++++++++++++++++++::+:::::::::::::::::::::::::::::::,,::::::::::::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++++**+::++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++++**+
++++++++++++++++++++::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++:::++::+
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++::::++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++++:::::+++
::::::::::::::::::::::::::,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,,,,,,,,,,,,,::::::::::::+++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,::,,,,,,,,,,,,:::::::::::::::
****++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,..,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,:::::
********++**+++++++++++:::::++++++++++++++++++::++++::++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,.,,,::::::::::::::,,,,,,,,,,,,,,,:+
**********+++++++++++++,,.,,++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,..................,,,,::::::::::::,,,,,,,,,,,,:::::::
+++++++++++++++++++++++:. ,.++++++::++++++::::::::::::::::::::::::::::::::,,,,............................................,,,,,,,,,,,,.......,,,,,,,,,,,,::::::
::++::::::::::::::::::+:.,,.::::::::::::::::::::::::,,,,,,,,,,,,,,,,......................................,,,,..................................,,,,,,,,:::::::
:::::::::::::::::::::::,,.+.,:::::::::::::::::::::::::::::::,,:,,,.,+++++++,,,,,......................,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,,,::::,,,,,,,,,,,,,,,,,,:
++++++++++++++++++++:::::,,:.,::::::::::::::::::::::::::::::,:..,,,+++++++++,,,,,,........,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::,,,::,++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,:::
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::,,,,,,+++++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,::++++++++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++::::::,,,,,,,,,,,,,,,,:::
++++++++++++::::++::::++++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++,::,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++::++++++::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****++********++***
::::++::++::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::++++++++++++++++++++++++++++++++****++****++++++++++++++++**+
++++++++++++++++++::::::::++::::::::::::::::::::::::::++++++++++++**++++++++++++++++++++++++++:::+++++++**++++++++++++++++++++++++++****++**++********+++++++++
++++++++++++++++++::++++++++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++***************************************
::+++++:++++++++++++++++++++**++++++++++++++++++::::::::::::::::::++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++++::++::::::++++::::++++++++++::::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++++++++++::::::::::++++::++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++::++++++++::+++++++++++++++++++++++++++
$.....................,.............................................................................................................................,***,.......
.....................,.............................................................................................................................,***,.......
.....................,....................................................................,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::::++++++++++**+++++++++
++::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++**++:++++++
::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+***:::+++++
:::::::::::+++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::++**+::::::::
::::::+++++++++++++++:::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++**+:::+++++
++++++++++++++++++++::+:::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++:+++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++*++**+
++++++++++++++++++++++::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++:::++::+
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++::::++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++:::::+++
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:::::::::::::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,..,,:,,,,,,,,:,,,,::::::::::::
****++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,,,,......,,,,,,........,,,,,,:,,,,,,,,,,,,,,,:
******+++++++++++++++++:::::++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,::::::::,,,,,,.,,,,,,,,,,,,,,,,
********+++++++++++++++,,,,,++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,..................,,,,::::::,,,,,,,,,,,,,,,,,,:::::::
+++++++++++++++++++++++:. ,.++++++::++++++::::::::::::::::::::::::::::::,,,,,,............................................,,,,,,,,,,,,......,,,,,,,,,,,,::,,,::
::++::++::::::::::::::+:.,,.::::::::::::::::::::::::,,,,::,,,,,,,,........................................,,,,................................,,,,,,,,,,:::::::
:::::::::::::::::::::::,:.+.:::::::::::::::::::::::::::::::::,,,,.+++++++:,,,,,,.......................,,,,,,,,,,,,,,,,,,,,,..,,..,,,,,,:::,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++::+::,,:,,::::::::::::::::::::::::::::,:...,,:+++++++++,,,,,..,,,,..,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::,:,,:::+++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::,,,,,,+++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::,,,,,,,:::::,,,,,,,,::,,,,,,,,,,,,,,,,:+++++++**++**++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,:
++++++++++++++++++++:+++++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++++++:::::::::::::::++::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
++++++++++++++++++::::::++++::::::::::::::::::::::::,,,,,,,,,,,,::,,::::::::::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++::++++++++::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****+*********++***
::::++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::++++++++++++++++++++++++++++++++****++****++++++++++++++++**+
++++++++++++++++++::::::++++::::::::::::++::+:::::::::++++++++++++**++++++++++++++++++++++++++:::+++++++**++++++++++++++++++++++++++****++**++**++****+++++++++
++++++++++++++++++::++++**++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++***************************************
::+++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++++::::::::::++::::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++++++++++::::::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++::+++++++++++++++++++++++++++
$.....................,.............................................................................................................................,***,.......
.....................,.............................................................................................................................,**+,.......
.....................,......................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++*++++++++++
++::::++::::::::::::::::::::::::::::::::::::::,,,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::+*+++::+++++
++::::::++++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::+**++::::+++
:::::::::::+++++++++++::::::::::::::++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++:++++::::::::
::::::++++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::++:++++:::+++++
++++++++++++++++++++::++::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++:+++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++++++++**+
++++++++++++++++++++++++:::::+::::::::::::::::++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++:::::::+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++:::::::+
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++::::::::
::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,:,,,:::::::::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,..........,,,,,,,,,,,,..,,,,,,::,,::,,,,:::::::
**++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,....,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
****+++++++++++++++++++:++:,++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
********+++++++++++++++:,,,,++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::
+++++++++++++++++++++++:. ,.++++++++++++++::::::::::::::::::::::::::::::,,,,.............................................,,,,,,,,,,,,,,,...,,,,,,,,,,,,,:::::::
::++::::++::::::::::::+:.,,.::::::::::::::::::::::::,,,,,,,,,,:,........................................,,,,,,..........,...................,,,,,,,,,,,,:::::::
::::::++++:::::::::::::,,,+.:::::::::::::::::::::::::::::::,,,,.:+++++++,.,,,,,,....................,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++::+::,,:,,::::::::::::::::::::::::::,:..,,,:+++++++++:,,,,,,,,....,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::,:::::,:++++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::,,,,,,:+++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,,:::::::::,,,,::,,,,,,,,,,,,,,:++++++++++*++++++++++++::::::::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,::,,:
++++++++++++++++++++:+++++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++++++++++++::::::::::::::::,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
++++++++++++++++++++::::++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,::::::::::::::::,,::,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++++++++++++:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++*********++***
::::++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::++::++++++++++++++++++++++++++++****++******++++++++++++++**+
++++++++++++++++++::::++++++::::::::::::++::+:::::::::++++++++++++**++++++++++++++++++++++++++:::+++++++**++++++++++++++++++++++++++****++**++**++******+++++++
++++++++++++++++++::++++**++**++++++++********++**+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++***************************************
:::::++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::++++++++++++++:+++++++++++++++++::::::::::++::::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++++++++++::::::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++::++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++::+++++++++++++++++++++++++++
$.....................,.............................................................................................................................,***,.......
.....................,.............................................................................................................................,*++,.......
.....................,......................................................................,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::::++++++++++*++++++++++
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++**++::+++++
++::++::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::+*++:::+++++
:::::::::::+++++++++++++::::::::::::++::::::::::::::::::::::::,,::::,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++:++++::::::::
::::::++++++++++++++++::++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::++++:::+++++
++++++++++++++++++++++++++::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++++:+++++++
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++:+++++++++**+
++++++++++++++++++++++++::++++::::::::::::::::++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++:::::::::
::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++:::::::+
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,::
****++++++++++++++++++++++++++++++::::::++::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,.....,,......,,,,,,,,,,..,,,,,,,,,,,,,,:::::,:
******+++++++++++++++++:++:,++++++++++++++++++++++++++++::::++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,
******+++++++++++++++++::.,,++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,...................,.,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::
+++++++++++++++++++++++:. ,.:+++++++++++++++::::::::::::::::::::::::::,,,,......,,.....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
++++::::++::::::::::::+: .,.::::::::::::::::::::::::,,,,,,,,:,........................................,,,,,,................................,,,,,,:::,,,:::::::
++::++++++++++:::::::::::.+.::::::::::::::::::::::::::::,,,,,.:+++++++,,,,,,,,................,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++:++::,,:,:++::::::::::::::::::::::::..,,,:++++++++++,,,,,,,,....,,,,..,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::,++::,:++++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::,,,,,,:++++++++++*:,,:,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,::::::::::,,,,::,,,,,,,,,,,,:++++++++++*++++++++++++++:+++++::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,::::,,:
++++++++++++++++++++:+++++++++::::::::::,,,,,,,,,,,,,,::,,::::::++++++++++**++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
++++++++++++++++++++::::++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++++::++++++::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****+**************
::++++++::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++**************++++++**++++++***
++++++++++++++++++::::::++++::::::::::::+++++:::::::++++++++++++++**+++++++++++++++++++++++++++:++++++++**++++++++++++++++++++++++++****++**++**************+++
++++++++++++++++++::++++++++**++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++*****************************************
::+++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++::++++++++++++++:+++++++++++++++++::::::::::++++++++++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++++++::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................,..............................................................................................................................**+,.......
.....................,.............................................................................................................................,*++,.......
.....................,......................................................................,,,,,,,,,,::,,,,,,,,,,,,,,,,::::::::::::::::::++++++++++*++++++++++
++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++*+++::+++++
::::::::::++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,:::::::::::::::::+*++:::::+++
:::::::::::+++++++++++++::::::::::::++::::::::::::::::::::::::::,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::++++::::::::
::::::++++++++++++++++::::++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++:::+++++
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::++++:+++++++
++++++++++++++++++++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++:+++::+*+++++
++++++++++++++++++++++::::++++::::::++::::::::++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++:::::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::,,:
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+
++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,........,,..,,,,,,,,,,,,.,,,,,..,,,,,,,,,,:::::
****+++++++++++++++++++::::,++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,
******+++++++++++++++++::.,,++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::::::
+++++++++++++++++++++++:. ,.:+++++++++++++++++++::::::::::::::::::::,,........,,......................................,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,::::::
++++::++++::::::::::::+:.,,.::::::::::::::::::::::::::::,,,...........................................,,,,..............................,,,,,,,,,:::::,,:::::::
++::::++++++++::::::::::,.+.::::::::::::::::::::::::::,,,,,.++++++++,.,,,,,,................,,,,,,.,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++:++::,,:,:++:::::::::::::::::::::,...,,+++++++++++,,,,,,,,,,,,,,,,..,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::,,,:++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::,,,,,,:++++++++++*::,:,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::,,,,:,,:::::::::,,,,::,,,,,,,,,,++++++++++++::++++++::++++++++++::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,:::::::,,,,:::::::::::::::::::::::
++++++++++++++++++++:+++++++++::::::::::,,,,,,,,,,:::::::::::++:::::++++++++++++++::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::
++**++++++++++++++++::++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++++::++++++::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++**++++++++++++****+**************
::::++::::++::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++******++******++++++++++++++***
++++++++++++++++++::::::++++++::::::::::::::++::::::+++++++++++++++++++++++++++++++++++++++++++::+++++++**++++++++++++++++++++++++++****++**++**********+++++++
::::++++++++++++++::++++++++**++++++++********++**++++++++++++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++++++*********************************
+++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++**++*****************************************
::::+++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++++++++++++++++++:+++++++++++++++++::::::::::++++::::++++++++++++::++++++++++::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++++++++++++++::++::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................,..............................................................................................................................*++,.......
.....................,.............................................................................................................................,+++........
.....................,....................................................................,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::::::::++++++++*++++++++++
++::++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++++++:++++++
::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,:::::::::::::::+++++:::::::
::::::::::++++++++++++::::::++++::::++++::::::::::::::::::::::::,,,,,,::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,:::::::::::++++::::::::
::::::++++++++++++++++::::++++++::::::++::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++:::+++++
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::++++:::+++++
++++++++++++++++++++::++++++++:::::::::::::::::::+++++:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,:::::::::+++::+++++++
++++++++++++++++++++++++++++++++++++++++::::::++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::++::::::::::::::::::::::++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,:,,,
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::::::::,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,:::::,,,+
**++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
****+++++++++++++++++++:++::++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,
****+++++++++++++++++++::,,,++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::,,,,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::
+++++++++++++++++++++++:..,.:+++++++++++++++::++++::::::::::::,,..................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::
::::::::::::::::::::::+:.,,.::::::::::::::::::::::::,,..........................................,,,,,,..............................,,,,,,,,,,,,,,,,:,,,:::::::
::::::::::::::::::::::::,.+.::::::::::::::::::::,,,,,,.+++++++++.,,,,,,,,,,,,,,,,,......,,,,,,,,:::::::::,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++:++::,,:,,::::::::::::::::::...,:,++++++++++*,,,,,,,,,......,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,::::::::::::::::::,,,,,,+*++++++++++,,:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::,,,,,,::::::::::::::::::::,,,,:+++++++++++::::::::::::::::::::::::::,,::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:
::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::,++++++::::::::::::::++++++::::::::,,::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::
++++++++++++++++++++:+++++++++::::::::::::,,::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
++**++++++++++++++++::++++++++::++::::::::::::++::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++++++++++++::+:::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****+**************
::::++++++++++::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++::++::++++++++++++++++++++++++++++++****++******++++++++++++++***
++++++++++++++::::::::::++++++::::::::::++++++::::::::+++++++++++++++++++++++++++++++++++++++++::+++++++**++++++++++++++++++++++++++****++**++**********+++++++
::::++++++++++++++::++++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++**++++***************************************
::::++++++++++++::++++++++++++++++++++++++++++++:::::::::::::::::+++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::++++++++++++++:+++++++++++++++++::::::::::++++++++++++++++++++::++++++++++::++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++::::++++++++::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++:::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
$.....................,..............................................................................................................................*++,.......
.....................,..............................................................................................................................+++........
.....................,....................................................................,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::::::::::++++++*++++++++++
++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::::::++++++:++++++
::::++::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,:::::::::::::::+++++:::::::
::::::::::++++++++++++++::++++++::++++++::::::::::::::::::::::::::,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,:::::::::::++++::::::::
::::::++++++++++++++++::::++++++::::::++++::::::::::::::,,,,,,::,,,,,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++++::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++:::+++++
++++++++++++++++++++::++++++++::::::::::::::::::::++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++++++
++++++++++++++++++++++++++++++++++++++++:::::+++++++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::++::::::::::::::::::::::++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::,,,,,,..,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+
++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::++::::::::::::,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**+++++++++++++++++++++:++::++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
****+++++++++++++++++++:,,,,++++++++++++++++++++++++++++++++++::::::::++::++::::::,,::::::,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
+++++++++++++++++++++++:..,.:+++++++++++++++::++++++::::::,,............,,.....................................,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
:::::::::::::::::::::::,.,,.:::::::::::::::::::::,......,.....................................,,,,,,..........,..................,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::::::,.+.::::::::::::::::::,,,,,,***++++++,,,,,,,,,,,,,,,,,,,....,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++:++::,,:,,:::::::::::::::.,,,:,:**++++++++:,,,,,..,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::,,,,,,:::::::::::::::,,,,,,:*++++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
::::::::::::::::::::::::,,,,,,::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,
::::::::::::::::::::::::,,,,::::::::::::::::::::::::::+:::::::::,,:::::::+++++:::::::::,,,::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++++++++++++++++++:+**++++++::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::::::::::++::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
++++++++++++++++++++++++++++++::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****++*************
::::++++::++::++::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++++************++++++++++++++***
++++++++++++::::::::::::++++++::::::::::++++::::::++::+++++++++++++++++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++****++**************+++++++
::::::++++++++++++::++++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++++*********************************************
::::++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::++++++++++:::::+++++++++++++++++::::::::::++++::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++::::++++::::::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................:..............................................................................................................................*++,.......
.....................,.............................................................................................................................,+++,.......
.....................,................................................................,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++++*++++++++++
++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::+++++:++++++
::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,:::::::::::::::++++::::::::
::::::::::++++++++++++++++++++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,:::::::::++++::::::::
::::::++++++++++++++++::::++++++::::::++++::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++:::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++:::::+++
+++++++++++++++++++++:++++++++++::::::::::::::::::++++:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++
++++++++++++++++++++++++++++++++++++++++::::++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::++::::::::::::::::::::::++++++::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,:
++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**+++++++++++++++++++++:++:,++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
**+++++++++++++++++++++::.,,++++++++++++++++++++++++++++++++++++::++::::::::::::::::::,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++++++++++++++++++++:++:..,.:+++++++++++++++::++++++:::,..........,,.........................................,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
::::::::::::::::::::::::.,,.::::::::::::::::::,.....,,,...................................,,,,,,,,,,........,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::,.+.:::::::::::::::,.,,,,***++++++:,,,,,,,,,,,,,,,,,....,,,,..,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++:++::,,:,,::::::::::::,,,,::+*****++***+,,:,,,,,,,::,,,,::,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::,,,,,,::::::::::::,,,,,,+*++******+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::,,,,,,::::::::::::::::::,*++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::
::::::::::::::::::::::::,,,,::::::::::::::::::::::++::::::,,,,,,::::::++++::::::::::::,,::::::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++++++++++++++++++:+****++++::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::::::::++++::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
+++++++++++++++++++++++++++++++:::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****++*************
::++++++::++::++++++::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++****++******++++++++++++++***
++++++++++++::::::::::::++++++::::::::::++++++::::::::++++++++++++**+++++++++++++++++++++++++++::+++++++**++++++++++++++++++++++++++****++**************+++++++
::::::++++++++++++::++++++++++++++++++************+++++++++:++++++++++++++++++++++++++++++**++++++++++++++++*+++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++**++++***************************************
::::++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++:++++++++++++++++++++++++++++++++++
++++::++++++++++::::++++++++++++++++++::::::::::++++::::++++++++++++::++++++++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++**++*
++++++++::::++::::::::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++++++++++++++++++++++++++++
$.....................:.............................................................................................................................,*++,.......
.....................:.............................................................................................................................,*++,.......
.....................,................................................................,,..,,,,,,,,,,,,,,,,::,,,,,,::,,::::::::::::::::::::::::::+++++++++++++++
++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::::::::++++:++++++
++::::::::::::++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,,,,,::::::::::::::+++::::::::
::::++++::++++++++++++++++++++++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,:::::::::++++::::::::
::::++++++++++++++++++::++++++++++::++++++::::::::::::::::::::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::::::++:::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::+++
++++++++++++++++++++++++++++++++::++::::::::::::::++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::+++
++++++++++++++++++++++++++++++++++++++++:::::+++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::++::::::::::::::::::::::++++++::::++++++::++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::,,::::::::::::,,,,..,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
**++++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::+::::::::::::::::::::,,,,,,........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
**+++++++++++++++++++++:++::++++++++++++++++++++++++++++++++++:::::+++::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
**+++++++++++++++++++++::,,,+++++++++++++++++++++++++++++++++++++:++::+:::::++++::,,,,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
+++++++++++++++++++++++:..,.:++++++++++++++++++++:,,....................................................,.,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++++::::::++::::::::::::.,,.::::::::::::::,,,....,+:..,,................................,,,,,,,,........,,..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::,.+.::::::::::,:..,,,,*********:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
++++++++++++++++++++:++::,,:,::::::::::,,,,+,***********+:::::::::::::::,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::,,,,,::::::::::,,,,,,+***********::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::,,,,,,::::::::::::::::+*++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++::::::::::::::::::::::,,,,::::::::::::::::::::::::::,,,,,,::::::++++::::::::::::::::::::::::::,,::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++:+++**++++::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::++::::++++::::,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
+++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****++*************
::++++++++++++++++++::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++************++++++++++++*****
++++++++++++++::::::::++++++++::::::::::++++++::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++**********************++**+
++++::++++++++++++::++++++++**++++++++************+++++++++:++++++++++++++++++++++++++++++***+++++++++++++++*+++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++**++*********************************************
+++++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::++++++++++::::++++++++++++++++++::::::::::++++::::++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++::::::::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++
$.....................:.............................................................................................................................,*++,.......
.....................:.............................................................................................................................,*++,.......
.....................,................................................................,,..,,,,,,,,,,,,,,,,::::,,,,::,,::::::::::::::::::::::::::::+:+++++++++++
++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::::::::++++:+++++:
++::::::::::::++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,::::::::::+++::::::::
::::::::::++++++++++++++++++++++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::::++:::::::::
::::::++++++++++++++++::++++++++::::++++++::::::::::::::::::::::,,,,::,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
++++++++++++++++++++++++++++++++::++::::::::::::::++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::+++
++++++++++++++++++++++++++++++++++++++++::::++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::++++::::::::::::::++::::++++++++::::++::::++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
**++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::++++++::::::::::,,::::::,,,,....,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
****+++++++++++++++++++:++::++++++++++++++++++++++++++++++++++:+++++::+:::::+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
**+++++++++++++++++++++::.,,++++++++++++++++++++++++++++++++++:+::++::::++::::::,,,,,,...................,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::
+++++++++++++++++++++++: .,.++++++++++++++++++,,......................................................,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
::::::::::++::::::::::::.,,.:::::::::::,.....:**+,..,,....................,,........,,,,,,,,............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
::::::::::::::::::::::::,.+.::::::::...,.,+*********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++++++++++:++::,,:,::+:::,,,,:::***********+++++++::::::::,,,,,,,,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::+:,,,,,:::::::,,,,,,************::,:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::::::::::::::::::::,,,,,,::::::::::::*+**+++++++*++++++++++++++::::::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++:::::::::::::::::::::::,,,::::::::::::::::+:::::,,::::,,,:::::++::::::++::++++++::::::::::,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
++++++++++++++++++++:+++**++++::::::::::::,,::::::::,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::::::::++++++::,,::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++
+++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****+**************
::++++++++++++++++++::::++::++++++++++++++::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++**************++++++++++++*****
++++++++++++::::::::++++++++++::::::::::++++++::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++****++****************+++++
++++++++++++::++++::::++++++**++++++++************+++++++++:++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++++++++++*********************************************
::+++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++::++++++++++::::++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++::::::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++
$.....................:.............................................................................................................................,*++,.......
.....................:.............................................................................................................................,+++,.......
.....................,....................................................................,,,,,,,,,,,,,,::::::,,::,,::::::::::::::::::::::::::::::+:++:+++++::+
++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,:::::,,,,,,::::::::::::::::+++::::::::
++::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,:::::::::::::::::::
::::::::::::++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,:::::::::::::::::::
::::::++++++++++++++++::++++++++++::++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::::::::++++::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++:::::+++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::++::::::::::::::::++::::++++++++::::++:::::+::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,....,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
**++++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++::::,,::::::,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
****+++++++++++++++++++::+::++++++++++++++++++++++++++++*+++++++::++::::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
**++**++++++++++++++*++:,:,,++++++++++++++++++++++++++++++++++++++::::::,,,,,,,,.................,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
+++++++++++++++++++++++: .,.+++++++++:,....,...................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
++::::::::::::::::::::::.,,.::,,.....:****+.,,,,..............................,,,,,,,,........,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:::::
::::::::::::::::::::::::,,+.,..,,,,**********:,,,,,,,,,,,,,,......,,,,.....,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
++++++++++++++++++++:++::,,:,,+++*:***********::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::::::::::::::+:,,,,,,:::::************:::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::::::::::::::::::::::::,,,,.:+******+++++**++:+::++++++::::::::::::++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++::::::::::::::::::::::,,,,::::::::++::,,::::,,::::::::::::::::::::::::::::,,:::::::,,,::,,::::::::::::::::::::,,::::::::::::,,::,,,,::,,::::,,:::::::::::::::
**++++++++++++++++++:+++**++++::::::::::,,,,::,,::::,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::++::::+++++++:::::::,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++++
+++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****+**************
::++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++**************++++++++++++*****
++++++++++++++::::::::++++++++::::::::::++++::::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++****++****************+++++
++++++++++++++++::::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*******************************************
::+++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++::::++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++::++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++::::::::::++::++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++
$.....................:.............................................................................................................................,+++,.......
.....................,.............................................................................................................................,+++........
.....................,................................................................,,..,,,,,,,,,,,,,,::::::::::,,::::::::::::::::::::::::::::::::++:++++++++
++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,:::::,,,,,,,,,,::::::::::::+++::::::::
++::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::
::::++++:::+++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,:::::::::::::::::::
::::++++**++++++++++++::++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,::::::
++++++++++++++++++++++++++++++++++++++::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::++++::::::::::::::++::::++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,::,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,....,,,,,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::
++++++++++++++++++++++++++++++++++++++++++++:::::::::::+++++++++++++::::::::::::,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
****++++++++++++++++*++::+::++++++++++++++++++++++++++++++++::+++++:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::
******++++++++++++++*++:,:,,++++++++++++++++++++++++++++++++++++::::,,,,.....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
+++++++++++++++++++++++: .,.++++:,.........................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::
++::::::++::::::::::::+:.,,..,,,,+*****:,,,,......................,,......,,,,:,,,........,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:::::
::::::::::::::::::::::::,.+.:.,*********++,,,:,,,,,,,,....,,....,,,,,,.,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
++++++++++++++++++++:++::,,:,::***********:,,,,,,,..,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::::::::::::::::::+:,,,,,,:************:,,:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::::::::::::::::::::::::,,,,,:+*++++++++++*+::::++::++++::::::::::++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++::::::::::::::::::::::,,,,::+++::::,,,::::::::::::::::::::,,::::::::::::::,,,,,,,,::::::,,::::::::::::::::::::::::::::::,,,,,,::,,,,::,,:::::::::::::::::::::
**++++++++++++++++++:+++**++++::::::::::,,,,::,,::::,,,,,,,,,,,,,,::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::::::::+++++++:::::::,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++*
+++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****+**************
::++++++++++++++++++::::++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++**************++++++++++++*****
++++++++++++++::::::++++++++++::::::::::++++::::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++****++******************+++
++++++++++++++++++::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++*********************************************
::+++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++::::++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++::::::::::++::++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................,.............................................................................................................................,+++,.......
.....................,.............................................................................................................................,+++........
.....................,................................................................,,..,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++:++++++++
++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,:::::,,,,,,,,,,,,::::::::::++:::::::::
++::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::
:::::::::::+++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,:::::::::::::::::::
::::::++**++++++++++++::++++++++++++++++++++++::::::::::::::::,,::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,:::::::::::::::::
++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,::::::
++++++++++++++++++++++++++++++++++++++::::::::::++++++::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::++::::::::::::::::++::::++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,::::,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::
++++++::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::,,,,,,....,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::
++++++++++++++++++++++++++++++++++++++++++++:::::::+++++++++++++++::::::::::,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
****+++++++++++++++++++::+::++++++++++++++++++++*+++++++:++++++:::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
******++++++++++++++*++:,,,,+++++++++++++++:+*+*+*++++++++++::,,,,.......................,::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::
+++++++++++++++++++++++: ..,,..........................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::
++++::::++::::::::::::,,.,,.:******:,,,,....................,,.......,::::::,,........,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::
::::::::::::::::::::..,,,.+.:********+,,,,,,,,,,..,,,,,,..,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
+++++++++++++++++++::+:,:,,:,+********::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,,,,,,,::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::::::::::::::::,,:,,,,,,:++*****++:,,,,,,,,,,,,,,,,,,,,,,,,,,,:++:::::::::::,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::::::::::::::::::::::+:,,,,,,++++++::::::++++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
++::::::::::::::::++++++,,,,:::+::::::,,::::::,,,,,,,,::::::,,,,::::::::::::,,,,,,::::::::,,::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,:::::::::::::::::::
**++++++++++++++++++:+++**++++::::::::::,,,,::,,::::::,,,,,,,,,,,,::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++**++++++++++++++++::++++++++++++::::::::::+++++++:,,::::,,::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++*
+++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++****+**************
::++++++++++++++++++::::++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++**************++++++++++++*****
++++++++++++++::::::++++++++++::::::::::++++::::::++++++++++++++++**+++++++++++++++++++++++++++::+++**++**++++++++++++++++++++++++++****++******************+++
++++++++++++++++++::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++*********************************************
::+++++:++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++::::++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++::::::::::++::++++++++++++++++::::++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++::::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................,.............................................................................................................................,+++,.......
.....................,.............................................................................................................................,+++........
.....................,..............................................................,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::+++:++++++++
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,:::::,,,,,,,,,,,,:::::::::::::::::::::
++::::::::::++::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,:::::::::::::::::
:::::::::::+++**++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,:::::::::::::::::
::::::++**++**++++++++::++++++++++++++++++++++::::::::::::::::,,,,,,::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::
++++++++++++++++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::++++::::::::::::::++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::
++++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::
++++++::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::,,,,....,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
++++++++++++++++++++++++++++++++++++++++++++::+++*+++++++++++++:::::::::,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:
******++++++++++++++*++::+::++++++++++++++++*+*+++++++++++:::::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::
********++++++++++++*++:,,,,++++++++++++++*+++++++++++::::,,,,......................,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::
+++++++++++++++++++++++: .,........................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
++++++++++++:::::,,,.,.,.,,.+**,,,,,....................,,....,,,:::+++:,,........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::
++::++++++++:::,,,,:,,*+,.+.,****:,,,,,,,,,,,,....,,,,,,,,,,,,,,++++++++::::,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++++++++++++++:,,,,,,,*+:,,:,+****::,:,,,,,,,,,,,,,,,,,,,,,,,,,:::++++++::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::::::::::::::::::*:,,,,,:++**::::,,,,,,,,,,,,,,::,,,,,,::::::::++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::::::::::::::::::::::+:,,,,,,:::::::::+++++::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::::::::++++++++++++++++,,,,::,:::::::,,,,,,::,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::
**++++++++++++++++++:+++**++++::::::::::,,,,::::::::::::,,,,,,,,,:::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::
****++++++++++++++++::++++++++++++::::++++::+++++++:::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++*
+++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****+**************
::++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++****************++++**++*******
++++++++++++++++::::::++++++++::::::::::++++::::++++++++++++++++++**++++++++++++++++++++++++++++:+++**++**++++++++++++++++++++++****************************+++
++++++++++++++++++::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++*+++++++++++++++***********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++*********************************************
++++++++++++++++::++++++++++++++++++++++++++++++::::::::++::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++++++::::::++++++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................,.............................................................................................................................,+++,.......
.....................,.............................................................................................................................,+++........
.....................,..............................................................,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::++++++
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::,,,,,,,,,,,:::::,,,,,,,,,,,,,,:::::::::::::::::::
++::::::::::++::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::::::
:::::::::::+++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::::,,:::::
::::::++**++**++++++++::++++++++++++++++++++++::::::::::::::::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::
++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::,:::::::
++++++++++++++++++++++++++++++++++++++++::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::++++++++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::++++::::::::::::::++++::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:::
++++++++::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
++++++::::::::::::::::::::::::::::::::::::::::::++++++::::::::,,,,....,,::::,:,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
+++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++:::::::::,,,,..,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:::::::
******+++++++++++++++++::+::++++++++++****++++++++++++::::::++::::,,::,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,:::::::
********+++++++++++++++:,,,,++++++++**++**++++++::::,,,,........................,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::+
+++++++++++++++++:,,..,:......................................................,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
++++++++++::,,,,,,.:***:.,,.,,,.,,..................,,,,,,,,,::::+++,,,,......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::
++::++++::,,,,,:::*****:,.+.,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++++++++++,,,,,,,:*****+:,,:,,:::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
:::::::::::::::::++*++*+,,,,,:::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::::::::+:::::++++*+,,,,,,::::++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
::++::::++++++++++::::::,,,,::,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::
**++++++++++++++++++:+++**++++::::::::::,,,,::::::::::::,,,,,,,,,,::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::
********++++++++++++::++++++++++++::::++::::+++++++:::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::++++++++*
**++**+++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****+**************
::++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++****************++++**++*******
++++++++++++++++::::::++++++++::::::::::++++::::++++++++++++++++++**++++++++++++++++++++++++++++++++**++**++++++++++++++++++++++++++**************************+
++++++++++++++++++::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++*+++++++++++++++***********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*******************************************
++++++++++++++++::++++++++++++++++++++++++++++++::::::::++::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++++++::::::++::++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$.....................,............................................................................................................................,,++:,.......
.....................,.............................................................................................................................,:::,.......
.....................,..............................................................,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::+:::::::+
:+++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,::::,:::::,,,,,,,,,,,,,,:::::::::::::::::::
++::::::::::++++++++++++::++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::::::
:::::::::::+++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,::::::::::,,,,:::
::::::++**++**++++++++::++++++++++++++++++++++::::::::::::::::,,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,,:::::
++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::,:::::::
++++++++++++++++++++++++++++++++++++++::::::::++++++++++++++++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::
::++++::::::::::::::++++::++++++++++::++++::++::++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:
++++++++::::::::++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,::+++::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::
++++++++::::++++::::::::::::::::::::+++++++++++::::::,,,,,..,,,:::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::
++++++++++++++++++++++++++++++++****+++++++++++++:::::::::::,,.,,,.,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,::::::
******+++++++++++++++++::+::**+++++++++++:+++:::::::::::::::......,,,,.:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::
******+++++++**+*+::,,,:,,,,***+++::,,,,............................,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,::::::,,::::::+
+++++++:...,......,,..,:..,.............,,..........................::,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::
++,,,,,,.+*******:,,,,,,.,,.,,...,,,,,,,,,,,,,,,,,::++++:::,,,,,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::
.,,,,:::***********:,,,:,.+.:,,,,,..,,..,,,,,,,,,+++++++::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,:************:::::,,:,,,,,,,,,,,,,,,,,,,,::++++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
::::::::************+++:,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::
::::::++:*+***+++++++++:,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::
++++++::++++::::::::::::,,,,::,:::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::
**++++++++++++++++++:+++**++++::::::::::,,,,,,::::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::
********++++++++++++::++++++++++++::::++::::+++++++:::::::,,::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++*
**++**+++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****+**************
::++++++++::++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++****************++++**++*******
++++++++++++++++++::++++++++++::::::::::++++++::++++++++++++++++++**++++++++++++++++++++++++++++++++**++**++++++++++++++++++++++++++**************************+
++++++++++++++++++::++++++++++++++++++************++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++*+++++++++++++++***********************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*******************************************
++++++++++++++++::++++++++++++++++++++++++++++++::::::::++::::::++++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++::::::::::++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********++*****
++++++++++++++++++++::::::++::++++++++++++++++::++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:,....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,,,,,,+,,,,.,,,,,+,..,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*................. .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,:,*:::::*:::::*,,,,,+:,,,,:,,,.
,,,,,,,+,,,,,,,,*:,:,,,,,::::,,,,,,+*,,,::::::::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::::::::,,+::::::+::::::::::*:::::*:::::*:::::*:::::++::::+:::::+::+*
:::::::*::::::::*+:+:::::::::::::::*#+::::::+:::::::::::::::::+:::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*+::::*:::::*+::::+:::::*::**
,,,,,,,,:,,,,,,,,+++++++++++++++++:**+::*++:+:::::+::::::::::::+::*::::*++::+:*+:::::+:::::::+::::::+::::::*::::::+:::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,,,:::::::::,::::++++++:+++++++++++*+++*+:++:,,:+:::++::+++++++++*:,+++::+::+::++*+:::+++++**+++++++++++++*++::+:+++++++:+:++++::+:++++++++++*+++++++++++**+++
::,,:::::::::,::::::::::::::++++++:+*+++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::++++::::::::::++:::::::::::::::
::,::::::::::,:::+++++::::::::++:::+*+::::::::::::::::::::::::::::*:::::::::::::::::::+++:++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::,,,,,,,,,,,,:::::+++:::::::::::::+*+::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::,:*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::::::::::::::::::::::++++:::,:::::::::::::::::::::::::::::::,::::::+:::::::::::::::::::::::,,:::++++
++++++::++++++::#+*:+:,:++,:+::+++++++++++++++++++++++++++++++++++++++++++++:++++++++++#**+++++++:::::++:::::::::::::::,::::::::::::::::::::::,+++:+*+++*+****+
*********::::+*#**#*+:+:++::::::::*+++++++++************++++++*********,+++:***+:..:+++++++++*::::::::::::::::::::++++::::++++::::::::::::::++****##***#*#**#**
++++++++++:**+,,,,,,,,...,::::::::::,,,:::::::::::::::::::::::::::+++++***+++++:+::###********::,,,,::::::::::::::::::::::::::::::::::::::::++++++**********+*+
:::::::+*#**+:,,,::,*#**:,*****+*******#*+++++++::+++++++++++++++++++++#############*######**+::::::::::::::::::++++++++++++++++++++++++++*********************
++++++++***#*:++*:+::###+:####*+*#######**+++++++++++++++++++++++++++++++++++++++++++**************************************************************************
::::+++**####+++++**#*###:.:::#*++::+:,,:+++++:::::::::::::+****++++++++++++++++**********************++++****++++++++++++****++::::+++++++*+*++++++++++:++++++
******++++**********++++++::::::++********++++++++++::::::::::::::::::::++++++++****++++++++**++++******+***************************++****************++++**+++
****+++*++****++*+++++++++***+++++++**++++++++++++++**++++++++++**++**********++++++::++::::::::::::::::::++::::::::::::::++++++++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,.,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:,....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,,,,,,+,,,,.,,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*................. .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,:,*:::::*:::::*,,,,,:,,,,,:,,,.
,,,,,,,+,,,,,,,,*:,:,,,,,::::,,,,,,+*,,,:::::::::::,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,:::::,,+::::::+::::::::::*:::::*:::::*:::::*:::::++::::+:::::+::+*
:::::::*::::::::*+:+:::::::::::::::*#+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*+::::*:::::*+::::+:::::*::**
,,,,,,,,:,..,,,,.+++++++++++++++++:**+::*++:+:::::+::::::::::::+::*::::*++::+:*+:::::+:::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,,,:::::::::,::::++++++:+++++++++++*+++*+:++:,,:+:::++::+++++++++*:,+++::+::+::++*+:::++++++++++++++++++++*++::+:++++++::+:++++::+:++++++++++*+++++++++++**+++
::,,:::::::::,::::::::::::::++++++:+*+++++++**++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::++++::::::::::++:::::::::::::::
::,::::::::::,:::+++++::::::::++:::+*+::::::::::::::::::::::::::::*:::::::::::::::::::+++:++::++::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::,,,,,,,,,,:::::::+++:::::::::::::+*+::::::::::,,::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::,:*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::::::::::::::::::++++::::::,::::::::::::::::::::::::::::::::,::::::+:::::::::::::::::::,,::,,,::++++
++++++::++++++++*#+*++::::+:,:::++++++++++++++++++++++++++++++++++++++++**++++++++++:***::::++::+:::::++:::::::::::::::,:::::::::::::::::::::::*++++++++++*****
*********++,:::*##****::++:::::::::*++++++++************++++++*******,:+++++++*..:::::+++++:::++++:::::::::+::++++++++::::++++::::::::::::::++********##****#**
+++++++:+++:::*,.,,,,,....,,::::::::::,,,:::::::::::::::::::::::::++:++*++++:::+::*#*******:,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++++*************
:::::::+*#*#*:::,,:,,+**#+::*****+#***+++**:++++::++++++++++++++++++*#######*****########*::::::::::::::::::::::++++++++++++++++++++++++++*********************
++++++:+**+***+++*:++:*###::*****:*####*##**++++++++++++++++++++++++++::+++++++++++++**************************************************************************
::::+++***####++++####**###,,,,,+*::+:+,::,,++:::::::::::::+****++++++++++++++++**********************++++****++++++++++++****++::::++:++++*++++++++++++:++++++
******++++**********++++++::::::++++***###**++++++++::::::::::::::::::::++++++++****++++++++**++++******+****************************+****************++++**+++
****+++*++****++*+++++++++***+++++++**++++++++++++++**++++++++++**++**********++++++::++::::::::::::::::::++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,.,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,,,,,,+,,,,.,,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,:,,,,,:,,,,
...................................:*................. .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,:,*:,,::*:::::*,,,,,:,,,,,:,,,.
,,,,,,,+,,,,,,,,*:,:,,,,,::::,,,,,,+*,,,:::::::::::,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,:::::,,+::::::+::::::::::*:::::*:::::*:::::*:::::++::::+:::::+::+*
:::::::+::::::::*+:+:::::::::::::::*#+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*+::::*:::::+:::::+:::::*::**
:,,,,,,,:,..,,,,.+++++++++++++++++:**+::*:+:+:::::+::::::::::::+::*::::*++::+:*+::+::+:::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,,,:::::::::,::::++++++:+++++++++++*+++*+:++:,::+:::++::+++++++++*:,++:::+::++:++*+:::++++++*+++++++++++++*++::+++++++++:+:++++::++++++++++++*+++++++++++**+++
:::::::::::::,::::::::::::::++++++:+*+++++++**++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++::::::::::::++:::::::::::::::
:::::::::::::,:::+++++::::::::++:::+*+::::::::::::::::::::::::::::*:::::::::::::::::::+++:++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
::,,,,,,,,,,,,:::::+++::::::::::::,+*+::::::::::,,::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::::::::::::::::++::::,,,,:::::::::::::::::::::::::::::::::::,::::::+::::::::::::::::::::::,,,,::+*++
++++++::++++++++:+***+++::::::::::++++++++++++++++++++++++++++++++++++#+++++++++++:**:++::++++::+:::++++:::::::::::::::,::::::::::::::::::::::++::+*+++++++++**
********+*++::+,*##*+*+*::::::::::,:*:++++++********++**++++++*****:.+++++++++.,:+++++++::::++++++++::::::++::::++++++::::++++::::::::::::::+*********####**##*
+++++++::++**:++,,,,,,,,....,,,:::::::::,,,:::::::::::::::::::::::++:++*++*::::,##+*****:,,,,,::,,::::::::::::::::::::::::::::::::::::::::::++++***************
::::::::**###*::,,,,::,+****::**##*+#***+**#*+++++++++++++++++++++*#****++++****#*####*+::::::::::::::::::::::::++++++++++++++++++++++++++*********************
++++++:+****#**++++:+:::####*::****++*#***#*+++++++++++++++++++++++++++++++++++++++++**************************************************************************
::::+++***+*##*+++*#####*####:,,,,.*::+++::::.++:::::::::::+****++++++++++++++++**********************++++****++++++++++++****++::::++:++++*+++++++++++++++++++
******++++++********++++++::::++++*******####+++++++++::::::::::::::::::++++++++****++++++++**++++******+***************************++******************++**+++
****+++*++****++*+++++++++***+++++++**++++++++++++++**++++++++++**++**********++++++++++::::::::::::::::::++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,....,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
..................................,*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:,....:,....+.....:.....,.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,,,......:,,,,,,+,,,,.,,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,:,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,::+:,,::*:::::*,,,,,:,,,,,:,,,,
,,,,,,,+,,,,,,,,*:,:,,,,,::::,,,,,,+*,,,::::+:::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,:::::,,+::::::+::::::::::*:::::*:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::*+:+:::::::::::::::*#+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*:::::*:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::*:+:+:::::+:::+::::::::+::*::::*++::+:*+::+::+:::::::+::::::+::::::*::::::++::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,,,::,,:::::,::::++++++:+++++++++++*+++*+:++:,,++::+++::+++++++++*:,++:::+::+::++*+:::++++++++++++++++++++*+++++++++++++:+:+++:::++++++++++++*+++++++++****+++
:::::::::::::,::::::::::::::++++++:+*+++++++**++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++::::::::::::++:::::::::::::::
:::::::::::::,::::++++::::::::++:::+*+::::::::::::::::::::::::::::*:::::::::::::+++++++++:++++++:+::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
::,,,,,,,,,,:::::::+++:::::::::::::+*+::::::::::,,::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::,,,,,,,
::::::::::::::::::::::::::::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::::::::::::::++::,,,,:::::::::::::::::::::::::::::::::::::::.::::::+::::::::::::::::::::::,,,:,:+++*
+++++++++++++++++:+#++*:++,:++,,:::++++++++++++++++++++++++++++++++**::+++++++++:*++++++::++++::+:::++:::::::::::::::::,::::::::::::::::::::::*+:+*+++++++*+***
***********+:+:+:*##*****+,:::::::,,::+:++++********++**++++++***:,+++*+++++:,::::::+:++::++++++++++::::::::::::++++++::::++++::::::::::::::******#*****#******
++++++++::++++:++:,,.,:,.,,...,,::::::::,,:::::::::::::::::::::::+++**++:+,::::#**+++:::,,,,::::::::::::::::::::::::::::::::::::::::::::::::++********##*******
::::::::+*####*+*,,,,::,,++###::+******#**:++*++::++++++++++++++*#**++*******+*#**#*+,::::::::::::::::::::::::::++++++++++++++++++++++++++*********************
++++++::+****##*++++:::+::#####:,:++++:+******::++++++++++++++++++++++++++++++**++*****************************************************************************
::::+++++***###*++*############*,,,,.,:::+:+++:.+::::::::::+****++++++++++++++++**********************++++****++++++++++++****++::::+++++++*+*+++++++++++++++++
******++++**********++++++::::++**********+*##*+++++::::::::::::::::::::++++++++****++++++++**++++******+***************************++******************++**+++
****+++*++****++*+++++++++****++++++**++++++****++++**++++++++****++**********++++++++++::::::::::::::::::++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..................,,....,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:.....+.....:.....:.....:,...
...................................:*...........................,,*,..,,....,.:,,,...,,,,,,,,,......:,..,,,+,,,,.,,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,::+:::::*:::::*:,,,,+,,,,,:,,,.
,,,,,,,+,,,,,,,,*:,:,,,,,::::,,,,,,+*,,,::::::::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::*:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*:::::*:::::*+::::++::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::+:++++::::+:::+::::::::+::*:::+*::::+:*+::+::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,::::,,:::::,:::+++++++:++:++++++++*+++*++++:,,++++:++::+++++++++*:,+++:::::+:::+*+:::+++++**+++++++++++++*+++++:+++++++:+:+++:::+:++++++++++*+++++++++****+++
:::::::::::::,::::::::::::::++++++++*+++++++**++++++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::::::::::::++++++::::::::::++::++:::::::::::
::,::::::::::,::::::++:::::::::+:::+*+::::::::::::::::::::::::::::*:::::::::::++++::::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
::,,,,,,,,,,:::::::+++:::::::::::::+*+::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,,,,
::::::::::::::::::::::::::::::::::::*+::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::::::,,,,::+++++
++++++++++++++++++++:+#****:++::::,,::+++++++++++++++++++++++++*++++++++++++*++++++++++++++++++++:::++:::::::::::::::::,::::::::::::::::::::+++:+++++:+++**+***
**********+**:,,++:+*####***+*,,::::,,,,:::*********++***+++++,,++++++::::,::,:::+++++++++++++++++++::::::++++++++++++::::++++:::::::::::::+*******+#**********
++++++++:+++:+**++:++:,,,,:,,.......,,,::,::::::::::::::::::::+:,,,,,,:+:::,#++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*******##********#
::::::::+:++###*##**:,,,,:+,::*+###+,,*#****##*+,:+#+++++++++***#******#****#*+:,,,,,,::::::::::::::::::::++::::++++++++++++++++++++++++++*********************
++++++++++**#****#**++::::::::,##*##*:,:,,::::+*++**::++++++++++++++************++++***************************************************************************
::::++++++++***###****#########**####+:::::,:::***#*::::::++**++++++++++++++++++**********************++++****++++++++++++****++::::+++++++*+*+++++++++++++++++
********++**********++++++::::++****++++++++++++###*::++++::::::::::::::++++++++****++++++++**++++**********************************++******************++**+++
****+++*++****++*+++++++++***+++++++**++++++****++****++++++++****++**********++++++++++::::::::++::::::::++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..................,,....,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....,....
...................................:*...........................,,*,..,,....,.:,,,...,,,,,,,,,......:,,,,,,+,,,,.,,,,,+,,,,,+,,,,,+,,,,,+.,,,,+,,,,,::,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,::+:::::*:::::*:,,,,+,,,,,:,,,.
,,,,,,,+,,,,,,,,*:,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::*:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::+:::*:::::*:::::*:::::*:::::*+::::++::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::+:++++::::+:::+::::::::+::*:::+*::::+:*+::+::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,::::::,::::,:::+++++++:++:++++++++*+++*++++:,:++++:++::+++++++++*:,+++:::::+:::+*+:::+++++**+++++++++++++*+++++:+++++++:+:+++:::+:++++++++++++++++++++****+++
:::::::::::::,::::::::::::::++++++++*+::++++**++++++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::::::::::::::++++::::::::::++::++:::::::::::
::,::::::::::,::::::++::::::::++:::+*+::::::::::::::::::::::::::::*:::::::::::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
::,,,,,,,,,,:::::::+++::::::::::::::*+::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,,,,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::::::,,::::+++++
++++++::::++++++++++*+:+#*+**+++::::,,::++++++++++++++++++++*+:++++++++++++++++++++++++++++++++++:::++:::::::::::::::::,::::::::::::::::::::+*+:*+++++++***+***
********++++*++,:::+,:*#####****+,::::,,,,,+:*******++**+++*:,::++++::+:::::::::++++++++::++++++++++++::::++++++++++++::::++++:::::::::::::*****++*##*#**#****#
++++++++::+:++*+*+#,::+:,,,,,:,,.,....,,:::::::::::::::::::*::+,,,:,,*+,::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++***************##*
:::::::::::+++##*#****:,,,,,:,:,***###*::********++:++#:+++#***#******#**+**,,,,,,,,::::::::::::::::::::::++::++++++++++++++++++++++++++++*********************
+++++++++++*#****###*+++::::::+:::#####*:::::::::+*+***::+++++******#######*****++*****************************************************************************
::++++++++++++***###**##########***#####++::::,:::*****+:::+**++++++++++++++++++**********************++++****++++++++++++****++::::+++++++*+*+++++++++++++++++
********++********++++++++::++++****##*+**++++++++####++++::::::::::::::++++++++****++++++++**++++**********************************++******************++**+++
****+++*++****++*+++++++++***+++++++**++++++****++****+++++++*****++**********++++++++++::::::::++::::::::++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....,....
...................................:*...........................,,*,..,,....,.:,,,..,,,,,,,,,,......:,,,,,,+,,,,.,,,,,+,,,,,+,,,,,+,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,::,+,,,,,,::::*::::,+:,,::+:::::*:::::*:,,,,+,,,,,:,,,.
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::*:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::+:::*:::::*:::::*:::::*:::::*+::::++::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::+:++++::::+:::+::::::::+::*:::+*::::+:*+::+::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::+*:::::*:::::*****
,,::::,,,::::,:::+++++++:++:++++++++*+++*+:++:,:++++:++::+++++++++*:,+++:::::+:::+*+:::+++++**+++++++++++++*+++++:+++++++:+++++:::++++++++++++++++++++++****+++
:::::::::::::,::::::::::::::++++++++*+::++++**++++++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::++::::::::::++++::::::::::++::++:::::::::::
::,::::::::::,:::+::++:::::::::+:::+*+::::::::::::::::::::::::::::*+++::::::::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
::,,,,,,,,,,:::::::+++::::::::::::::*+::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,,,,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+*+::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::::::,,::::+++++
++++++::::::++++++++++++++#*****+++:+::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::++:::::::::::::::,::::::::::::::::::::+*:++++++++++*++*++
********+++++++:,::::+:,*###*#***+*:::::,,,,,+******++**++:,:+++:::::::,::::++::++++++::::++++::++++::::::++++++++++++::::++++::::::::::::****++++#***#*######*
++++++++::::::+:*+*:#::,+:.,,,,,,.,.,.....,,::,,:::::::::+::::,,,*::#:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++****************##*
:::::::::::::+*+##*#***+:,,,,,,:,:,+*####*:,:#****:#++,:+#+**#**##**#***+*,,,,,,,,::::::::::::::::::::::::++::++++++++++++++++++++++++++++*********************
++++++++++++:**###**##*+++:::,,::::::*#####:::::,,::+*++**::**###########*******++*****************************************************************************
+++++++++++++++++**###**########*****+*####*++::,,,:++***+++**++++++++++++++++++**********************++++****++++++++++++****++::::+++++++*+*+++++++++++++++++
********++********++++++++++::++******####++++++++++:####:++::::::::::::++++++++****++++++++**++++**********************************++******************++**+++
****+++*++****++*+++++++++***+++++++**++++++****++**+***+++++*****++**********++++++++++::::::::++++::::::++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................:*...........................,,*,..,,....,.,,,,..,,,,,,,,,,......:,..,,,+,,,,.,,,,,+,,,,,+,,,,,*,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... ..........,*.,,,:,,,,,,+,,,,,,:,,,,,,,,,,,,,,:,,,::,+,,,,,,::::*::::,+:::::+:::::*:::::*:,,,,+,,,,,:,,,.
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::*:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::+:::*:::::*:::::*:::::*:::::*+::::++::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::+:++++::::+:::++:::::::+::*:::+*++::+:*+::+::::::::::+::::::+::::::*::::::::::*:::+:+:::::*:::::*::::+*:::::*+::::*****
,,::::::,::::,:::+++++++:++:++++++++*+++*+:++:,:+++++++::+++++++++*:,++::::::+:::+*+:::+++++**+++++++++++++*+++++:+++++++++++++:::++++++++++++++++++++++****+++
:::::::::::::,::::::::::::::++++++++*+::++++**++++++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::++::::::::::++::::::::::::++::++:::::::::::
::,::::::::::,::::::++::::::::++:::+*+::::::::::+:::::::::::::::::*+++::::::::++++++++++++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,:::::::+++::::::::::::::*+::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::,,,,,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::,:*+::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::::,,,,:,:++++++
++++++::::::++++++++++++*++:##****:++::::,,:::++++++++++*+++++++++++++++++++++++++++++++++++++::::::::++:::::::::::::::,:::::::::::::::::::+*+++++++++++*++++++
********+*++++++++,,,:,*:+*######***+*:,,:::,,,,*+*****+:,,:::::::::::::++++::++++++++::::++++++++::::::+:++++++++++++::::++++:::::::::::+***+++*****#*********
++++++++::::::,:++*+*+#:***+,,,,,::,,,........:::::,::,:::+:,:,::,#*,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++**++**********####*
:::::::::::::::+**##*#**++::,,,,,:,,+,**#####::,*****+#*++:+*,####*#****,,,,,,::::::::::::::::::::::::::::++::++++++++++++++++++++++++++++*********************
++++++++++++::+**##***##**+:::::::::+::+######::::::::,:*+***++########***++++**++++***************************************************************************
+++++++++++++++++****###########********+*#####+++::::+:****++**++++++++++++++++**********************++++****++++++++++++****++::::+++++++***+++++++++++++++++
********++********+++++++++++++*****++***####++++++++++*####::::::::::::++++++++****++++++++**++++******************************************************++**+++
****++++++*******+++++++++****++++++**++++++****++****++++++++****++**********++++++++++::::::::++++::::::++::::::::::::::++++:+++++**********++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,....................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.,,,,..,,,,,,,,,,......:,..,,,+,,,,.,,,,,+,,,,,+,,,,,+:,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... ..........,*.,,,:,,,,,,+,,,,,,:,,,,,,,,,,,,,,:,,,::,+,,,,,,::::*:::::+:,,::+:::::*:::::*:,,,,+,,,,,:,,,.
,,,,,,,:,,,,,,,,*:,:,,,,,::::,,,,,,**,.,::::::::::,,,,,,,,::,,,:::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::*:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::+:::*:::::*:::::*:::::*:::::*+::::++::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::+:++++::::+::::::::::::+::*:::+*++::+:*+:::::::::::::+::::::+::::::*::::::::::*:::::+:+:::*:::::*::::+*:::::*+::::*****
::::::,,,::::,:::+++++++:++:++++++++*+++*++++:,,++++:++::+++++++++*:,+++:::::+::++*+:::+++++**+++++++++++++*+++++:+++++++:::+++:::++++++++++++++++++++++****+++
:::::::::::::,::::::::::::::++++++++*+::++++**++++++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::+++:::::::::++::::::::::::::::++++:::::::::
::,::::::::::,::::::++::::::::++:::+*+::::::::::+:::::::::::::::::*+++::::::::++++++++++++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,:::::+++::::::::::::::*+::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::,,,
:::::::::::::::::::::::::::::::::::+*:::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::+:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::::,,,:,:+++++*+
++++++::::::++++++++++++++++:+*#****#:++:::,,,,:+++++++*++++++++++++++++++++++++++++++++++++++::::::++++:::::::::::::::,::::::::::::::::::++++++*++++++**++++++
***********++++++++:+,::+::+,*###*##****+:,::::,,,.++::,,:::::::::,::***++++::++++++::::::++++++++::::::+:++++++++++++::::++++::::::::::+*++++++********##**##*
++++++++++::::::,:::*+++***+,+:,,,,,::..,.,,....,,::+:::::,,::*::#:,,:,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:++***++**********####*
:::::::::::::::::+++##*#**#:*,,,,,,,+,::,**+##*#::,******+#++:++:#***+,,,,,:::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++*********************
++++++++++++++::+**###*###**+:::::::,,,::::######+:::::::::+****+:####**++*+++++++++***************************************************************************
++++++++::::+++++++*+***#########*************####++++::::+++***+++*++++++++++++**********************++++****++++++++++++****++::::+++++++***+++++++++++++++++
********++********++++::+++++++++*###*******####++::++++++*####:::::::::++++++++****++++++++**++++******************************************************++**+++
****++++++****++*+++++++++****++++++**++++++****++**+*+++++++*****++**********++++++++++::::::::++++::::::++::::::::::::::++++:+++++**********++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,..,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,....................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**,............................*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,,,......:,..,,,+,,,,.,,,,.+,,,,,+,,,,,+:,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,,,,,,,,,:,,,,,,+,,,,,,::::*:::::+:,,::+:::::*:::::*:,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,**,.,::::+:::::,,,,,,,,::,,,,::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::+:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*:::::*:::::*:::::*+::::*::**
:,,,,,,,,,,,,,,,.+++++++++++++++++:**+::+::::+::::+::::::::::::+::*:::+*::::+:*+:::::::::::::+::::::+::::::*::::::::::*+::::+:::::*:::::*::::++:::::*:::::++***
::::::,,,::::,:::+++++::::+:++++++++*+++*+:+++,,++++::+::++++++++:*:,+++:,:::+::++*+:::++++++*+++++++++++++*+++++:++++*++++++++:::+:++++++++++++++++++++****+++
::,,:::::::::,::::::::::::::++++++++*+::++++++++++++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::+++:::::::::++::::::::::::::::++:::::::::::
:::::::::::::,::::::++::::::::++:::+*+::::::::::+:::::::::::::::::*:::::::::::++++::++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,::::::++::::::::::::::*+::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::,,,
::::::::::::::::::::::::::::::::::::*+::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::::,,,::+++**++:
++++++++++::::++++++++++++++++:++++*#***###++++:,,,,,:++++++::::++++++++++++++++++++++::++++++::::::++++:::::::::::::::,:::::::::::::::::++++++++++++*********+
******++++++++++++++++++:,,,:+++:+**###*##***+*::,,,,,,,,+:::::,::++++++++::::++++++::::::++++++++::::::++++++++++++++::::++++::::::::+*+:++++**********##*****
++++++++:::::::::::::::+:*+**+#:***+,.,,.,,,,....,......,,::,:,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++****************#
::::::::::::::::::::,++++###*#**:+*,,,,,,,++,,.:***####::,,*****+#++::++,:::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++*****************
++++++++++++++++++:::***##****#*#++,:::::::,::+,:*######*:,,::,,:::**+**,+++++++++++***************************************************************************
++++++++++++++++++++++++:****###**********+*++*++*+*+####+::::+::::+***+++++++++**********************++++****++++++++++++****++::::+++++++*+*+++++++++++++++++
********++********++++++**++++*+******####*+++*++++*###*++::++::+####*::++++++++****++++++++**++++**********************************++******************++**+++
****++++++****++*+++++++++****++++++**++++++****++****+++++++*****************++++++++++::::::::++++::::::++::::::::::::::++++:+++++******++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,................,,....,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,..,,,+,,,,.,,,,,+,,,,,+,,,,,+:,,,,+.,,,,+,,,,,+,,,,,:,,,,
......,............................:*....   .......... ..........,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,::,,,+,,,,,,::::*:::::+:,,:,*:::::*:::::*:,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,**,,,::::::::::,,,,,..,::,,,,::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::+:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*:::::*:::::*:::::*+::::*::**
:,,,,,,,,,,,..,,.+**++++++++++++++:**+::+:::++::::+:::+::::::::+::*:::+*::::+:*+:::::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::++:::::*:::::++***
::,,::,,,::::,:::+++++++::+:++++++++*+++*+:+++,,++++:++::++++++++:*:,+++:,:::+::++*+:::++++++*+++++++++++++*+++++:++++*++:::+++:::+:::++++++++++++++++++****+++
::,,:::::::::,::,:::::::::::++++++++*+::++++++++**++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::::++::::::::::++:::::::::::::::::::::::::::::
:::::::::::::,::::::++::::::::++:::+*+::::::::::+:::::::::::::::::*:::::::::++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::
::::::,,,,,,,,::::::++::::::::::::::*+::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::,,:+,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::,,,,::++++**+::
++++++++++::::+++++++++++++++++++:++++*#*++###*:+:::,,,,::::::::++++++++++++++++++++++::::++++::::::++++:::::::::::::::,::::::::::::::::++++++**++++***********
******++++++++++++++++++*+::,,:,+,++++########****:,,,,,,,,,,+::++++++++++::++++++++::::::++++++++::::::++++++++++++++::::++++::::::::+++++++****#****####*****
++++++:::::::::::::::::::++:*+**+#,****:.,,,,,,:..,.,.......,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++*++++***##++++******#*+
::::::::::::::::::::::::++*+#####*+:++:,,,,,.,::::,+*+#*###:,,:##***:#++::++::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++*********************
+++++++++++++++++++++++:***##**#*#+#:*:::::::,::++:,:#######+,,,,,,,,,,+*+++:+++++++***************************************************************************
+++++++++++++++++++++++++++*+#**###************+**+++#**+####+:::::+:::++*+::*++**********************++++****++++++++++++****++::::+++++++*+*+++++++++++++++++
********++********++++++*****************#####++++++++**###*++::::::#####+++++++****++++++++**++++**********************************++******************++**+++
****+++*++*******+++++++++***+++++++**++++++****++****+++++++*******++********++++++++++::::::::++++::::::++::::::::::::::++++:+++++******++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,..........,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,....................,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,..,,,+,,,,.,,,,,+,,,,,+,,,,,+:,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .   ...... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*:::::+:,,:,+:::::*:::::*:,,,,*,,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,**,,,:::::::::::,,,,,,,::,,,,::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::+:::::*:::::*:::::*:::::*:::::+::+*
:::::::+::::::::#::+::::::::::::::++*+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*:::::*:::::*:::::*+::::*::**
:,,,,,,,,,,,..,,,+**++++++++++++++:**+::+::::+::::+::::::::::::+::*:::+*++::+:*+:::::::::::::+::::::+::::::*::::::+:::*:::::+:::::*:::::*::::++:::::*:::::++++*
::,,::,,,::::,::::++++++::+:++++++++*+++++:++:,,++++:++::++++++++:*:,+++:,:::+::++*+:::++++++*+++++++++++++*+++++:++++*+::::+++:::+:::++++++++++++++++++****+++
::,,:::::::::,::,:::::::::::++++++++*+::+++++*++**++++++++++++++++*+++++++++++++++++++++**++++++++++++++++::::::::++::::::::::::++::::::::::::::::++:::::::::::
:::::::::::::,::::++++::::::::++:::+*+::::::::::::::::::::::::::::*:::++::::++++++::::++++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,::::::++::::::::::::::*+::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::++::,,::,,+:,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::::,,:::+**+**::::
++++++++::::::+++++++++++++++++++++++:+++:##*+####:++:,,,,,,::::++++++++++++++++++++::::::++++::::::++++:::::::::::::::,::::::::::::::::++++*++++++***********+
******++++++++++++++++++++++::,,.,:::*:+,*######****+*::,:,,,,,,++++::++++::++++++++::::::++++++++::::::++++++++++++++::::++++::::::++++++*+**********####****+
++++++::::::::::::::::::::,:++:*+**+*+*:.*::,,,,:,,,..,.,.....,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++******************:
:::::::::::::::::::::::::::+*++#***#**#**+:,,,,,,+*::,,++:#*###:,,.*****:#++::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++**++***************
+++++++++++++++++++++++++::+*+##***####+*+:::::::,::+*:::#######+,::,,,,,,,:*+++,+++***************************************************************************
++++++++++++++++++++++++++++++:+*+**##********++++++****+###*####*:::::::::++++:+*********************++++****++++++++++++****++::::+++++++*++++++++++++++++++:
********++********++++++**+++*****##******+*#####:++++++++**###*::++++::#####+******++++++++**++++**********************************++******************++**+++
****+++*++*******+++++++++***+++++++**++++++****++****++++++********************++++++++::::::::++++::::::++::::::::::::::++++:+++++******++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,..........,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,....................,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,..,,,+,,,,.,,,,.+,,,,,+,,,,,+:,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .   ...... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,::,,,+,,,,,,::::*:::::+:,,:,+:::::*:::::*:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,**,,,::::::::::,,,,,.,,::,,,,::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::+:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::#::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+::::::::::*:::::*:::::*:::::*:::::*:::::+:::::*::**
:,,,,,,,,,,,..,,,+**++++++++++++++:**+::+:::++:+::+:::+::::::::+::*::::+++::+:*+:::::::::::::+::::::+::::::*::::::+:::*:::::+:::::*:::::*::::++:::::*:::::++++*
,,,,::,,,::::,::::++++++::+:++++++++*+++++:++:,,++++:++::++++++++:*:,::+:,:::+::++*+:::+++++**+++++++++++++++++++:++++*+::::+++:::+:::++++++++++++++++++****+++
::,,:::::::::,::::::::::::::++++++:+*+::++++++++**++++++++++++++++*+++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::,::::::::::,::::++++::::::::++:::+*+::::::::::::::::::::::::::::*:::++::::++++++::::+++:++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,::::++++::::::::::::::++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::::::::,,::*,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::,,,:::+****+:::::
::++++::::::::++++++++++++++++++++++++:::+:++**#*####*:+::,,,,,,:+++++++++++++++++++++::::++++:::::::+++:::::::::::::::,::::::::::::::+++++++++::+***********++
******++++++++++++++++++++++*+*::,,:,,::++,++*###*##****:*::,,,,,,,::+++++++++++++++::::::++++++++::::::++++++::++++++::++++++::::+++++++**#**#*************#**
++++++::::::::::::::::::::::::::+:++*+**#:***+::,,,,::,,.....,....,,::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++:+++++++****************##*,:
::::::::::::::::::::::::::++::+:::*##*#*++::++,,,,,,,::,::,::,*####:...*****+**++::+::::::::::::::::::::++++++++++++++++++++++++++++++++++*********************
++++::+++++++++++++++++++++++:****#**##*#*+*#:::::::::+:**::,########:,,,,,,,,,,++++:**************************************************************************
+++++++++++++++++++++++++++++++++*#+#+*###+*++**++++*********##*+#####+++++++:::*+++:*****************++++****++++++++++++****++::::+++++++*++++++++++++++++++:
********++********++++++**++*******#####*+++**+*####*::::+******####::::::++#####***++++++++**++++******+***************************++****************++++**+++
****+++*++*******+++++++++***+++++++**++++++****++****++++++++*****************+++::::++::::::::++++::::::++::::::::::::::++++:+++++******++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,....,,....,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..................,,,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
...................................**,..........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....,.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,,,,,,+,,,,,,,,,.+,,,,,+,,,,,+:,,,,+,,,,,+,,,,,+,,,,,:,,,,
......,............................:*.... . .......... ..........,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*:::::+:,,::+:::::*:::::*:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,**,,,::::::::::,,,,,.,,::,,,,::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::+:::::*:::::*:::::*:::::+:::::+::+*
:::::::+::::::::*::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::*:::::*:::::*:::::*:::::*:::::+:::::*::**
:,,,,,,,,,,,,,,,,+**++++++++++++++:**+::+:+:++::::+:::+::::::::+::*::::*++::+:*+:::::::::::::+::::::+::::::*::::::+:::*:::::+:::::*:::::*::::++:::::*:::::++++*
,,,,::,,,::::,:::::+++++::+:++++++++*+++++:++:,,++++:++::++++++++:*:,::+:,:::+::++*+:::+++++**+++++++++++++*+++++:++++*+::::+++:::+:::++++++++++++++++++****+++
::,,:::::::::,::::::::::::::++++++++*+::++++++++**++++++++++++++++*+++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::,::::::::::,::::++++::::::::++:::+*+::::::::::::::::::::::::::::*:::++::::++++++::::+++:++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,::::::++,,::::::::::::++::::::::::::::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::,
::::::::::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::::::::::::,,,:+,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::::,,,::+****:::::::
::++++::::::::++++++++++++++++++++++++::+*#*:*+++**#*####*:++:,,,,,,::++++++++++++++:+::::++++::::::::++:::::::::::::::,::::::::::::++++++++++:+***********#++:
******+++++++++++++++++++++++++++++::,,,.:,,*:+:+*######+#****:,,,,,,,,,:+++++++++++::::++++++::++::::::++++++::++++++::++++++::::++++:+**#**#*************###*
++++++:::::::::::::::::::::::::::::+::*:+*+*#,+**+::,,,,,:::,,...,....,,:::::,::,,:::::::::::::::::::::::::::::::::::::::::::::::++++++++*#*************###*.:*
::::::::::::::::::::::+++++++++:,:++**##*##*+*:+*+,,,,,,::+,,:,,:,,####*..,.*****:#*::::::::::::::::::::++++++++++++++++++++::++++++++++++**++++***************
++++::::+++++++++++++++++++++++::+***##***#**#:##::::::::**+**+,::#######*,,,,,,,,,,,+::,,*********************************************************************
++++++++++++++++++++++++++++++++++++**++*+*##*++++**********+++++**#**####:+++****,:**#**+************++++****++++++++++++****++::::+++++++*+*++++++++++++++++:
******++++********++++++++++++*****#**######*++++++#####::::++#####+*####++++++*######++++++**++++******+***************************++****************++++**+++
****+++*++*******+++++++++***+++++++**++++++****++****+++++++*****++**********++**+++:::::::::::++++::::::++::::::::::::::++++:+++++******++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,....,,....,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,..,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,..............,,....,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**,..........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,,,,,,+,,,,.,,,,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
......,............................:*....   .......... ..........,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*:::::+:,,,,+:::::*:::::*:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,,,,::,,,,::*,,,,+:::::,*+,,,,::::::::,::::::,+::::::+::::::::::+:::::+:::::*:::::*:::::*:::::+:::::+:::*
::::::::::::::::*::+:::::::::::::::+*+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::*:::::*:::::*:::::*:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,,:++++++++++++++++:**+::+:+:++::::+:::+::::::::+::*::::*::::+:*+:::::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::++:::::*:::::+++++
::,,::,,,,:::,::::++++++::+:++++++++*+++++:++:,,++++:++::++++++++:*:::+::,:::+:::+*+:::+++++**+++++++++++++*+++++:++++++::::+++:::+:::++++++++++::::++++++**+++
::,,:::::::::,::::::::::::::++++++++*+::+++++++++*++++++++++++++++*+++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,::::++++:::::::::::::+*+::::::::::::::::::::::::::::*:::::::::++++++::::+++:++::++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,:::::+++,,::::::::::::*+::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::,
::::::,,::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::::::::::::::::::,,,,,,:+,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::,,::++++::,::::::::
::::::::::::::++++++++++++++++++++++++##:+++++++:::::+++:+*#*####+#+:+:,,,,,,:++++++:+::::::++:::::::::::::::::::::::::,::::::::::::+++++++:++*+********#*:::::
******++++++++++++++++**++++*+++++::*::++:+:,,,,:+:+,::*:*###*##*##***++,,.,,,,,,:++::::::++++++++++::::++++++::++++++::++++++::*+::++*###**************+*#****
++++++:::::::::::::::::::::::::::**+++++::,+,,*::+*+#**:::,,,,::::+++:........,,:::::::,,,,,::::::::::::::::::::::::::::::::::::+*****##**#***##******##++:****
::::::::::::::::::::::::+++++++++******+:+*+++*#####*+#**#:,,,,,,,,::,:::::::+###:,,,,****:+*+::::::::::++++++++++++++++++++++:+:+++++++++*********************
++::::::++::++++++++++++++++++++++*****++*#**##*###*#*+##*,:,,,,::#**:*+::::###*###*,,,,::,,,,,,,,:,***********************************************************
++++++++++++++++++++++++++++++++::::+++++****#+**+**##****++++:::::::::::::*+#:*####*::+####*:**###***++++****++++++++++++****++::::+++++++*+*++++++++++++++++:
******++++********++++++++++++++++++++*********#*+###*:+**######******#######*#*#####+***##*####+++*****+*********************************************++++**+++
****+++*++******++++++++++***+++++++**++++++****++******++++****++++**********++++::::::++++**++++++::::::++::::::::::::::++++:+++++******++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,....,,....,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,..............,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**,...........................,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,......:,,,,,,+,,,,,,,,,,+,,,,,+,,,,,+:,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,....,,,,,,,:,,,,,,+,,,,,,::::*:::::+:,,:,+:::::*:::::*:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,::,,,,,,,,,+*,,,::::::::::,,,,,,,,::,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+::::::+::::::::::+:::::*:::::+:::::*:::::*:::::+:::::+:::*
::::::::::::::::*::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::*:::::*:::::*:::::*:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,,:++**++++++++++++:**+::+:+:++::::+::::::::::::+::*::::*::::+:*+:::::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::++:::::*:::::+++++
::,,,,,,,,:::,::::::++++::+:++++++++*+++++::+:,,++++:++::++++++++:*:,:+::,:::+:::+*+:::+++++**+++++++++++++*+++++:+++++:::::+++:::+:::::++++++++::++++++****+++
,,,,:::::::::,::::::::::::::++++++++*+::++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::++:::::::::
::::::::::::,,::::++++:::::::::::::+*+::::::::::::::::::::::::::::*:::::::::::++++::::+++:++::++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,:::::+++,,::::::::::::+:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::,
::::::,,::::::::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::,,::,,,::,,,:::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::,,::::++::,,:::::::::
::::::::::::::++++++++++++++++++++++##*:++:+++::::::::::::*+++**#####*#*+:+:,,,,,,++:::::::::::::::::::::::::::::::,::,,::::::::::::++++++++*+**********+::::::
******++++++++++++++++++++++*++*::++::*:::::::::,:::::**,++:*+*###*##*##*+*++,,,,.,,,,::::++++++++++::::++++++++++++++::+++++::*:::+**#*#*************++**+*+++
++++++:::::::::::::::::::::::::**++++:::+:,,,:,,:,:++**+*#+#,::,,,::,::+++,,......,,,,::,,:,,,,,::::::::::::::::::::::::::::::*******#**##**######***##+++****:
::::::::::::::::::::::::+++++++**********#::::**+++####*++#**+*:,,,,,,,,+*::+,,:++.*##+.....**+::+*:::::++++++++++++++++++++++:+++++++**++************###*####*
::::::::++::++++++++++++++++++*+***********+:+*+**#####*##+**#*:,,,,,,:+++:++::+*########::,,,,,,,,,,,,,,+*****************************************************
++::++++++++++++++++++++++++++++++::::+++++++*****#*:++###**++:::::::::::::::::::#****####::::###*++*####*****++++++++++++****++::::++:++++*+*+++++++++++++++++
******++++********++++++++++++++++++++++++***********:*###+*######################+*#*#####,:::+**###+++:***************************++****************++++**+++
****+++*++******++++++++++***+++++++**++++++****++**************++**************++:++++*++******##****++++++::::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,..........,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..................,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,.....,:,,,,,,+,,,,,,,,,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,..,,,,:,,,,,,+,,,,,,::::*::::,+:,,:,+:::::*:::::*:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,**,,,::::::::::,,,,,,.,::,,,,::*,,,:::::::,*:,,,,::,,:::::::::::,+:::::,+::::::::::+::::,*:::::+:::::*:::::*:::::+:::::+:::*
::::::::::::::::*::+:::::::::::::::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::*:::::*:::::*:::::*:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,,:+++*++++++++++++:**+::+:+:++::::+::::::::::::+::*::::*::::+:*+:::::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::++:::::*:::::+++++
::,,,,,,,,:::,:::::::+++:++:++++++++++++++:++:,,++++:++::++++++++:*:,::::,:::+:::+*+:::+++++**+++++++++++++*+++++:+++++:::::+++:::+:::::++++++++::++++++++**+++
,,,,:::::::::,::::::::::::::::++::++*+++++++++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,::::::++:::::::::::::+*+::::::::::::::::::::::::::::*:::::::::::::++::::+++:++::++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,:::::::+++,,::::::::::::+:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::,
::::,,,,::,,::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::,:::,:::,,,::::::::::::
::::::::::::::::++++++++++++++++++*##+++++++:::::::::::::::::::*+++**#####*#**:+::,,,,,::::::::::::::::::::::::::::,::,,::::::::::++++++::+*+*******+*+::::::::
******++++++++++++++++++++++*::,:+::+*++++++::++:::+::::,,:++:*:+*+*######*###+*+*,,:,,,,,,:::++++++::::++++++::++++++::++++:*:,,:*+####*************+++*+**+:,
++++++:::::::::::::::::::::::+*+++++:::+:,,,+*+++,+,+,.:,***++***:::.,,,:::::+:+,.,,..,,,,::::::,,,,,,::::::::::::::::::::::*******#####************#*::+*##*:,
::::::::::::::::::::::::+++++************,:+:::+++:**:++####*++*#*+*:.,,,,,,,:*:,:::++*:,*##,,....+++:,++:::::++++++++++++++:+++++++*****************##*#######
::::::::++::++++++++++++++++*+*###******#*+*****::**+**####**##**###::::,,,,,:::,::::*:########:+,,,,,,,,:,,,,.************************************************
::::++++++++++++++++++++++++++++++::++++++++++++:+****##+::+**##::::::::::::++::++:::::**#**####:::+##**+:####*+++++++++++****++::::++:++++*+*+++++++++++++++++
******++++********+++++++++++++++++++++++++++++++++++++**+*:*###########################*#**#####,,,,,,::#+++::*********************++****************++++**+++
****+++*++*******+++++++++***+++++++**++++++****++****++**++******************++++++++++*****#*******####+++++::::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..................,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:,...
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,.....,:,,,,,,+,,,,.,,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*::::,+:,,:,+:::::*:::::*:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*:,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,,.,::,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+::::::+::::::::::+::::,*:::::+:::::*:::::*:::::+:::::+:::*
::::::,:::::::::*::+::::::::::++:::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::*:::::*:::::+:::::*:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,,:++++++++++++++++:**+::+::::+::::+::::::::::::+::*::::*::::+:*+:::::::::::::+::::::+::::::*::::::::::*:::::+:::::*:::::*::::++:::::*:::::+++++
,,,,,,,,,,:::,:::::::+++:++:+++++++++++++::++:,,++++:++::++++++++:*:,::::,:::+:::+*+:::+++++**++++++++++++++++::+:++:+++:::::+::::+:::::++::+++:::+++++++++++++
,,,,,,::::,,:,::::::::::::::::++::++*+::++++++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::++:::::::::
::::::::::,,:,::::::++:::::::::::::+*+::::::::::::::::::::::::::::+:::::::::::::++::::+++:++::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,:::::::::+++::::::::::::::*+::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::
::::,,,,,,,,::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:,,,,::::::::::::::::::::::::::::::::,,,:+:,,,,,,:::::::::::::::::::::::::::::::::.::::::+::::::::::::,::,,,,:::::::::::::
::::::::::::::::+++++++++++++++++***+++++++++:::::::::::::::::++++::*+:++**####*#+#+::,,,,,,:::::::::::::::::::::::,::,.:::::::::::::+:::*+********+*+:::::::::
******+++++++++++++++++++++++::+::++++++++++**::++::::,:+::::,,:**,,::+,+*##**#*###*++:*,,:,,,,,:+++++++::::++::++++++:::+:+*:::++*###***************+++***::,,
++++++::::::::::::::::::::::**++++::+:::,,,*++++++::,,,:,::.+:++*+:##:*::,,:,:+:++:+:+,...,,,,,,::::::,,::::::::::::::::::+++*****##**##***********#:++**##+,,:
::::::::::::::::::::::::++:+********+#**::::,:++:+:++::+**:***###*#:#::+:*:,,,,,,,:**+,::,***:,:#*:.....,+:::++:::::++++++:+++++**********##**##############***
::::::::++::++++++++++++++++*###*****#*#*+***********:++****####***#+##+#:,,::,,::::,,,::::*+########++:,,..,,,,,,,,.+*****************************************
::::++++++++++++++++++++++++++++++::++++++++++++++++++++****#+:+++*##:++::::::+++++:::++:::::###**####+:::##**#,####*+++++****++::::++:++++*+*+++++++++++++++++
++****++++********+++++++++++++++++++++++++++++++++++++++++++*+*:+################**##########**#*#####,:,,,..,*::+:,***************++****************++++**+++
****++++++*******+++++++++***+++++++**++++++****++++**++********++************++++++++*********#####++++++#####:::::::::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,..............,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**,..........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,,,..,,..,,,,.,.....,:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*....   .......... .........,,*,,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*::::,+:,,:,+:::::*:::::+:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*,,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,,,,::,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+::::::+::::::::::+::::,*:::::+:::::*:::::+:::::+:::::+:::*
::::::,:::::::::*:::::::::::::++:::**+::::::+:::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::*:::::*:::::*:::::*:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,,:++++++++++++++++:**+::+::::+::::+:::+::::::::+::*::::*::::+:*+:::::::::::::+::::::+::::::*::::::::::+:::::+:::::*:::::*::::++:::::*:::::+++++
,,,,,,,,,,:::,::::::::++:++:+++++++++++++::++:,,++++:++::++++++++:*:,:+::,:::+:::+*+:::++++++*++++++++++++++++::+:++:+++:::::+::::+:::::++::+++:::+++++++++++++
::,,,,::::,,:,::::::::::::::::++:::+*+::++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,:,::::::++:::::::::::::+*+::::::::::::::::::::::::::::+:::::::::::::::::::++::++::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,:::::::::+++::,:::::::::::*+::::::::::,,::::::::::::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::
::::,,,,,,,,::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:,,::::::::::::::::::::::::::::::::::::+:,,,,,::,,,,,,,:::::::::::::::::::::::::::.::::::+:::::::,,,,,,,,,,:::::::::::::::
::::::::::::::::+++++++++++++++*#*++++++++::::::::::::::::::++++++++++*+,+*:*+**###*#***#+::,,,,,,::::::::::::::::::::,.::::::::++:::::+*+*******+*+:::::::::::
*****+++++++++++++++++++++*:::+++**:**++++**++::*:::::::++::++::::,.+,+*:*::++#*#####*###*+++*:.,,,,,,:+++++++++++++++::,:#+:::++*##***************+++++*::,,,,
++++++::::::::::::::::::::**+++++:::::,,.:+++++++++,,::::::,:,,:.,,,:+::***++::,::,::,+:+:++:...,,:,::::::::,,::::::++::+***#***#####***##******##++:*###*:,,,:
::::::::::::::::::::::::::*********+**+,+:::::+++:+::::::::+**+*+*:*###+*+#*++:*:,,,,,,,:+*++:+::***,.**+......,,,,:++:::+++++**********##########**########***
::::::::++::++::+++++++++++*##******###++************+::::::++:++*####*#*#*####::,::::::,::,,+:,::+:########+*,.,,,,,,.,..,:***********************************
::::++++++++++++++++++++++++++++++::++++++++++****++++:::::+*****#**:++#*##*+*::+++++*+++:::++:::::###**#####:::+####*:####***++::::++:++++*+*+++++++++++++++++
++****++++********++++++++++++++++++++++++++++++++++++++++++++++++***++*####################*#####*#+***######,,,,,,,,+:++:+********++****************++++**+++
****++++++******++++++++++***+++++++**++++++****++++**++**********************+++*++*****************#####*:++++#####+::::++++:+++++++****++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,............,,,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
..................................,*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**,...........................,,,...........................................................................................
..................................,**.............................+,...........................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....+.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,,,,,,,.,......:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+:,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*...    .......... .........,,*,,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*::::,+:,,::+:,,::*:::::+:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*,,:,,,,,:::,,,,,,,+*,,,::::::::::,,,,,.,,,,,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+::::::+::::::::::+::::,*:::::+:::::*:::::+:::::+:::::+:::*
::::::,:::::::::+::::::::::::::::::**+::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::*:::::*:::::*:::::+:::::*:::::*::**
:,,,,,,,,,,,,,,,,:::++++++++++++++:**+::+:::::::::+:::++:::::::+::*::::+::::::*+:::::::::::::+::::::+::::::*::::::::::*:::+:::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,::::::::+++++:++++++++*++++::++:,,:+++:++::++++++++:*::::::,+::+:::+++:::++++++*+++++++++++++*++::+:++++++::::++::::+:::::++::::+:::::++++**+++++
::,,,,::::,,:,::::::::::::::::++::++*+::++++++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,:::::::::::::::::::::+*+::::::::::::::::::::::::::::+:::::::::::::++::::++::++::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,,,,,::::::::::::,:::::::::::*+::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::
::::,,,,,,,,,,::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::+:::,,::::::::::::::::::::::::::::::::::::::::::::::,:,,,,,,+:,,,,,,:::::::::::::::.::::::+:::,,,,,,,,,,::::,,:::::::::::::
::::::::::::::::::++++++++::**#*++++::::+:::::::::::::::::::++::++++++++++++++++++::::+++++*###***+#*#+:::,,,,::::::::,.::::::::+:::*+********+*:::::::::::::::
****++++++++++++++++++*+:::*:+#*++****++++++:+::::::::::++++++++++++++++++:::::,+::*.+::,,.*##**#####**+*++,.,:,,,+:*:**,,++++##****************+:+***+::::::::
++++++:::::::::::::::::+*:++:::::::,,,.:++++++:::,:::::::::::::::::::::.,,::.:+:+*:::**,+::,,,:,,:::::::,:,,,,::::::::::,,::+**#***###**##***##+++*###:,,,:::::
:::::::::::::::::::::::#***********#:,::::::::,:+::::::::::::::::::::::*:*****.+##*:#+*+:+++*+,,,,,,,:#**:::+:+**:,.,,..........::::::*########**#*************
::::::::++::::::++++++++##*******####++*********#**+::::::::::::::::::,:*****##*###*####*+#*:,,,,,,,,,,:::,,.,+**+########:+.,..,... ,,,,**********************
::++++++++::++++++++++++++++++++++++******####****++::::::++++++++++++++####*#**:****##*******+**++::::::+:::::::###***####,::,***+*+*###++*++++++++++++:++++++
++***+++++********++++++++++++++++::++++++++++++++::++::::::++++::::::++++++++*+#*++###########***************++*#***+######+++++++:+:+***************+++++++++
****++++++****++++++++++++***+++++++**++++++++**++++**++++**************************#****####*******++++++++++++::***####+++*#####*+++****++++++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
...................................**............................,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,..,,,,.,......:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,+,,,,,:,,,,
...................................:*................. .........,,*,,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*::::,+:,,::+:,,::*:::::+:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*,,,,,,,::::,,,,,,,+*,,,::::::::::,,,,,.,,,,,,,,::*,,,:::::::,*+,,,,::,,::,,,::::::,+::::::+::::,:::::+::::,*:::::+:::::*:::::+:::::+:::::+:::*
::::::,:::::::::+:::::::::::::++:::**+::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::*:::::*:::::*:::::+:::::*:::::*::**
:,,,,,,,,,,,,,,,,:::++++++++++++++:**+::+:::::::::+:::+::::::::+::*::::+::::::*+:::::::::::::+::::::+::::::*::::::::::+:::+:::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,::::::::+++++:++++++++*++++:::+:,,++:+:++::++++++++:*::::::,:::+:::+++:::++++++*+++++++++++++*++::+:++:+++::::::::::+:::::++::::+:::::++++**+++++
::,,,,::,,,,:,::::::::::::::::++::++*+::++++++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,:::::::::::::::::::::+*+::::::::::::::::::::::::::::+:::::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::
,,,,,,,,,,,,:::::::+::::,:::::::::::++::::,,::::,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::,,,,,,:::::::::::::::::::::::::::::
::::,,,,,,,,,,::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::,:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,+,,,,,,:::::::::.::::::+:::,,,,::,,::::::,,:::::::::::::
::::::::::::::::::++++:::::+##*+++::++++::::::::::::::::::::++::++++++++++++++++++++:::::::::*:+:***#*#+#*###:::,,,,,,:,:::::,:,::++********++:::::::::::::::::
**+++++++++++++++++++++:::++*#**++**+++++++:++::::::::++++::++++++++++++++++::::::::::+:*+#:+::+.,*########***++:+,.,,.,,:+++**+************++++++**::::::::::,
++++++::::::::::::::::**:+::::::::,:.,:+++::::::.,:::::::::::::::::::::::::::.:,,:,,*+*,:::***:,++,,:..:+::::+.,++:::+++::,,,::,:::**##*#*##*+:+###*+,,,:::::::
::::::::::::::::::::::*************+,::::,:::::+::::::::::::::::::::::::::::+++*.:*+**##*+:*+**+++#*:,,,,,,,:***:,++,:+*+,,.,.......,.,,:::,,*+****************
::::::::++::::++++++++**********##*#++**********#*++::::::::::::::::::::::::::#*###*######*####+:#*:,,,,,,,,,:+*:,..,,**+########,,,.,,,,,,,::,,***************
::++++++::::::++++++++++++++++++++******####****#*++::::::++++++++++++++++++:++***###**+**#*##*****+++:::::::,::::,:::::#####*#####:::,:::::,*##*:++++++:++++++
++****++++**********++++++++++++::++++++++++++++++++::::::::::++++::::+++++++++++++*+***:*+###******************++**++++#*#*:*#####+::::::::+:********+++++++++
****++++++****++++++++++++***+++++++**++++++++++++++++++++**++**************************####****###*++::++::++++:+++++::::*+**##*++*######++**++++++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
...................................**............................,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,..,,,,.,......:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+,,,,,+.,,,,+,,,,,::,,,,:,,,,
...................................:*...... .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,::::*::::,+:,,:,+:,,::*:::::+:,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,*,,,,,,,::::,,,,,,,+*,,,::::::::::,,,,,.,,,,,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+::::::+::::,::::,+::::,*:::::+:::::*:::::+:::::+:::::+::+*
::::::,:::::::::+:::::::::::::++:::**+::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::*:::::+:::::*:::::*::**
:,,,,,,,,,,,,,,,,:::+++++++++++++++**+::+:::::::::+:::+::::::::+::*::::*::::::*+:::::::::::::+::::::+::::::*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,::::::::+++++:++++++++*++++:::+:,,:::+:++::++++++++:*::::::,:::+:::+++:::++++++*++++++++++++++++::+:++++++::::::::::+:::::++::::+:::::++++**+++++
::,,,,::,,,,:,::::::::::::::::++::++*+::++++++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,::::::::::::::::::::++*+::::::::::::::::::::::::::::+:::::::::::::::::::::::++::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,
::::,,,,,,,,::::::::::::,:::::::::::++::::,,::::,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::::::,,:::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,::,:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,,,,,:+:,,,,,,:.::::::+:,,,,::,,::::::::,,:::::::::::::
::::::::::::::::::++::::::+##*++++++++::::::::::::::::::::::++::::++++++++++++++::++:::::::::::::::+*:++***#+#**####+,::,,,,:,::+********+++:::::::::::::::::::
**+++++++++++++++++++::::::*##*+++++++::::::::::::::::++++::++++++++++++++++::::::++::::::,,,+,*+*.+,,+,,*###*####***:***,,.,,,,***********+++++**:::,:::::::::
++++++:::::::::::::::*+:++::::::+::,.,++++:::::,::::::::::::::::::::::::::::::::::::,,.,:,+*++:::+#*+,.*+:,.,,,:,..,,,,:*:++*+++::,,,::::+*+:+####*,,,,,:::::::
::::::::::::::::::::+*********++#**,::::,:,,:,,::::::::::::::::::::::::::::::::::::+**#**+:+****+:*+***,###:,,,,,,,,+***:,:,,:++:,,,.,........,::,,::**********
::::::::++::::+++++::***********###*+**********#**::::::::::::::::::::::::::::++:::,:+##*#+######*#*#*:++#::,,,,,,,,:++,,*+,,:+++##*####*,,,,+***++:*+,:*******
::++++++++::::++++++++++++++++++*#########******#*++::::::::+++++++++++++++++++++++++*****##*+*+***###***,::::::::,,,,::,,:::::,###**#####+::::,:,:,,:**:++++++
++****++++**********++++++++++::::::++++++++++++++::::::::::::::::::::::++::++++++++++++++*#+#:::*###***********++++++++++****++#*#:+*#####+++::::::::+*+++++++
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++*******************************#####*+:*####*:::++++::++:+******+++*+#**###*########++++:++++++::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,............,,,,,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,.,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,,,,,,,.,......:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+:,,,,+.,,,,+,,,,,::,,,,:,,,,
...................................:*...... .......... .........,,*.,,,:,,,,,,+,,,,,,:,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,*::::,+:,,::+:,,::*:::::+,,,,,:,,,,,+,,,,
,,,,,,,:,,,,,,,,*,,,,,,,::::,,,,,,,+*,,,::::::::::,,,,,.,,,,,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+::::::+::::,::::,+::::,*:::::+:::::*:::::+:::::+:::::+::++
::::::,:::,,::::+::::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::*:::::*::**
:,,,,,,,,,,,,,,,,:::::+++++++++++++**+::+:+:::::::+:::+::::::::+::*::::+::::::*+:::::::::::::+::::::+::::::*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,::,::::::::++:++++++++*++++:::+:,:++:++++::++++++++:*::::::,:::+:::+++:::++++++*+++++++++++++*++::+:++++++::::::::::+:::::++::::++::::++++**+++++
,,,,,,::,,,,,,::::::::::::::::::::++*+::++++++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,::::::::::::::::::::++++::::::::::::::::::::::::::::+:::::::::::::::::::::+:++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,
,,,,,,,,,,,,,,::::::::::,,,,::::::::++::,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::::::,,:::::::::::::::::::::::::::::
::::,,,,,,,,,,,,::::::::::::::,,::::+:::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:,,,,,,::,,,,,,,,::::::::::,,::::::::::,,,
:::::::::::::::::::::::::+##*:++++++::::::::::::::::::::::::++::::++++++++++++++++::::::::::::::::::::::::*::++*****#::#####:::,:,,+****+*::::::::::::::::::,,,
**+++++++++++++++++::::::+****+++++::::::::*::::::::++++++::++++++++++++++++:::::::::::::::+::++::::+,+:*:+,,:+,**########**:+#** .,,,,:**++****::::,,:::::::::
++++++::::::::::::::++:+::::::::,:,.,+:::::::::,::::::::::::::::::::::::::::::::::::::::::,,,.::,+##+,+,:,**,,*:,,,,,..+,,,,,::**+**+++:,,,,,,,::,::,,,::::::::
:::::::::::::::::::**#********:###:,::,,,,::::+:::::::::::::::::::::::::::::::::::::::::::**+**:+**++++:.#::+#,####+,,,,,,,,++*+,,,,,,:+,,,,,,......,,,::,,:***
::::::::++::::::++::***********###*++*********#**+::::::::::::::::::::::::++++++++++++++::,:+*+*#+##*######***#,++::,,,,,,,,,:,,,++.,:****#######:::+*##****#+,
++++++++::::::++++++++++++++++**######****++++##*+::::::::::+++++++++++++++++++++++++++++++:*##***#*#+**#*##**#+*+::::::,,:::,:,::++:::,###**######::::,,,,,:,+
++****++++**********++++++++++::::++++++++++++++++++::::::::::::::::::::++++++++++++++++++++++++*##*#+::*+##*+++++++****++*************+#**+**#####*::+:**++,++
****++++++******++++++++++***+++++++**++++++++++++++++++++++++**************************************##+*##*:######::::::::++++*#########*#*##*#######*###+:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**,..........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,,,..,,.,.....,:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+:,,,,+.,,,,+,,,,,::,,,,:,,,,
...................................:*................. .........,,*.,,,:,,,,,,+,,,,,,:,,.....,,,,,,,:,,,,,,+,,,,,,:::,*::::,+:,,::+:,,::*:::::+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,*,,,,,,,::::,,,,,,,+*,,,,,:::::::::,,,,.,,,,,,,,::*,,,:::::::,*+,,,,::,,::::,::::::,+:::,,:+::::,::::,+::::,+:::::+:::::*:::::+:::::+:::::+::++
::::::,:::,,::::+::::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::*::**
:,,,,,,,,,,,,,,,,:::::+++++++++++++**+::+:+:::::::+:::+::::::::+::+::::+::+:::*+:::::::::::::+::::::+::::::*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,::,::::::::++:++++++++*++++:::+:,:++:+:++,:++++++++:*:,::::,:::+:::+++:::++++++*++++++++++++++++::+:++++++::::::::::+:::::++::::++::::++:++++++++
,,,,::::,,,,,,::::::::::::::::::::++*+::++++++++++++++++++++++++++*+:+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,::::::+::::::::::::::+++::::::::::::::::::::::::::::+:::::::::::::::::::++::++::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,
::,,,,,,,,,,::::::::::::,,::::::::::++::,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::::::,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,::::::::::::,:,,::,:+:::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:+:,,,,,::::::::::::,,::::::::::,,:
:::::::::::::::::::::::::*#*++++++++::::::::::::::::::::::::++::::+++++++++++++:::::::::::::::::::::::::::::::::,:++:+***###*#*####*:::,,,::::::::::::::::::,,,
+++++++++++++++++:+::::++*****++++::::::::*:::::++++++++++::++++++++++++++::::::::::::::::::++++::::::::++::::*:*:+.,:+,**##*####***:*#**..,,,,:,:,:,,:::::::::
++++++:::::::::::::*:::::::::::::,.,:+::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::,:.:..:,,##+,,*:**++::*:,,.,,..:.,,:****#***+:::,,,,,,,,:::::::
::::::::::::::::::***********+*#*+,:::,,::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::***:*+:+:*,::+,++++#+#**#+,,,,,,,,:**+::,,,,,:,,...........,:
::::::::++::++++::+**#********####++*+*#**##**#*++::::::::::::::::::::::::++++++++++++++++++++++,,::++++#+##*##*##*#***,*::,,,,,,,,,.,.,::,,,:**#,#######*::,,*
::++++++::::::++++++++++++****######****++++**##::::::::::::++++++++++++++++++++++++++++++++++++::::**#**##**+###*##*#:+#*::::::::,,::::+**+::::+###*#*####:::,
++****++++++**********++++++++::::++++++++::++++++::::::::::::::::::::::::++++++++++++++++++++++++*****####+*:+*+*##++++**********++++++++::::::**##+*######:::
****++++++******++++++++++***+++++++**++++++++++++++++++++++++********************++++********+++*********+**+:+##*######***********##############:#***#####*+*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,..................,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**,..........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....:.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,....,,.,.....,:,..,,,:,,,,,.,,,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................:*...... .......... .........,,*.,,,,,,,,,,+,,,,,,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,::,,+::::,+:,,::+:,,::+:::::+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,+:,,,,,,::::,,,,,,,+*,,,,,,,::::::,,,,,.,,,,,,,,,:*,,,,+:::::,*:,,,,::,,,,,,,:,,:::,+::::::+::::,::::,+::::,+:::::+:::::*:::::*:::::+:::::+::++
::::::::::,,,,::+::::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::*::*+
:,,,,,,,,,,,,,,,,::::::::+++++++++:**+::+:::++::::::::+::::::::+::+::::+::::::++:::::::::::::+::::::+:::::+*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,:::::::::+:*+++::++*++++::++:,,:::::++,:++++++++:*:,::::,:::+::::++:::++++++*++++++:+++++++++::::++++++::::::::::+:::::++::::+:::::+++++++++++
,,,,::::,,,,,,:::::::::::::::::::::+*+::++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::,,,,,,::::::::::::::::::::::++::::::::::::::::::::::::::::+:::::::::::::::::+++++:++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,::::::::::::,,,,::,,::+:,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::,,::::,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::::::::,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,::::::::::::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,:::+:::::::,,::,,,:::,,,,,,,,,,,,,,,
:::::::::::::::::::::::+***:+++++++:::::::::::::::::::::::::++::::::++++++++++++:::::::::::::::::::::::::::::::::::,,,,,+*******+,*+**********####*#*:::,,,::::
+++++++++++++:::+::+*+******++++++:::::,:+++::++++++++++++::++++++++++++++::::::::::::::::::++::::::::::+,+::++::*::++**+++:,+*+***,::+++*#######***::+#:*..,,,
++++++::::::::::+:+:++:::::::::::,,:::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**+******,:..,,.***+,+:+:*:+:**,.,..,,,:++****####+*++
:::::::::::::::::************+*#*,,,+:,,::*+,*,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*******++++:*+,+:+::+:*+:#:+#:#+:#,,,,,,,,,,+++,,,,,,
::::::::++++:::::**#*********####+:+***#######**::::::::::::::::::::::::::+++++++++++++++++++++++++++++++*++++++,,,:*+*+*:*##***###***+***+:,,,,,,,,,,,+*..+:.,
++++++++::::::++++++****##########****######*##*::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::+***##*##*#*#*#####*,###+,::,,::::::++#***+*:
++****++++++**********++++++++::::::++++++++++++++++::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++********##*#:+:#+*##++++:::::::,:::::::::::++:
***+++++++****++++++++++++***+++++++**++++++++++++++++++++++++****++**********++++++++++++++++++++++++++++++++++++++++++++:**+**+*#############################
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,..................,,,,....,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....:.....:.....:.....:....
...................................+*...........................,,*...,,....,.:,....,,....,,.,.....,:,..,,,:,,,,,.,,,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................:*...... .......... .........,,*.,,,,,,,,,,+,,,,,,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,+,:::,+:,,::+:,,,,+:::::+,,,,,::,,,,:,,,,
,,,,,,,:,,,,,,,,+:,,,,,,::,,,,,,,,,+*,,,,,,,::::::,,,,,.,,,,,,,,,:*,,,,+:::::,*:,,,,::,,,,,,,:,,:::,+::::::+::::,:::::+::::,+:::::+:::::*:::::*:::::+:::::+::++
::::::::,,,,,,::+::::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::*::*+
:,,,,,,,,,,,,,,,,:::::::::++++++++:**+::+:::++::::::::++:::::::+::+::::+::::::++:::::::::::::+::::::+:::::+*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,:::::::::+:++++::++*++++::++:,,::::::+,:++++:+++:*:,::::,:::+::::++:::++++++*++++++:+++++++++::::++++++::::::::::+:::::++::::++::::+++++++++++
,,,,::::,,,,,,::::::::::::::::::::::*+::++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,::::::,,,,,,::::::::::::::::::::::++::::::::::::::::::::::::::::+:::::::::::::::::::+++:++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::
,,,,,,,,,,,,,,::::::::::::,,,,::::::+:::,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,::::,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,::::::::::::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,,::::+:::::::::::::::,,,,,,,,:+,,,,,,,
:::::::::::::::::::::::+**+++++++++:::::::::::::::::::::++++++::::::++++++++++++::::::::::::::::::::::::::::::::,,,:::+*******++::::::::,,:++++*****##:###****:
++++++++++++:::::::+++*****+++++++:::::,:+++::++++++++++++::++++++++++++++::::::::::::::::::++:::::::+:,:::+++++++++++++**+******+++:,:*,***+:::*+*#########+::
++++++:::::::::::::::+::::::::::,,::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::*+*+********#*******::...,,.#**:+*,:,**+*+*,.,,,::+**#*#*
::::::::::::::::#*#*******+*:*#*+,::,+,,::*::*,,::::::::::::::::::::::::::::::::::::::::::::::::::::::+++****************+*+:+,+++++*+:+*+++#++#:*:,*::,,,,,...
:::::::::+:::::,**#*********+####+:+++########**::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++****++++:,,,+:++:*+*#######**+*+*+*++,,,,,,,,,,
++++++++::::::++++****##############****####*##*::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::#*#***##*###*##*##.#*##*,,::::::,,:
++****++++++**********++++++++::::::++++++++++++++::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++*********##+*,++:**##:::+::::::::::+++
***+++++++****++++++++++++***+++++++**++++++++++++++++++++++++****++++********+++++++++++++++++++++++++++++++++++++++++++++++++++++*#:**#+*####################
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,..................,,,,..,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**,...........................,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:.....:,....:.....:.....:.....:....
...................................+*...........................,,*,..,,....,.:,....,,....,,.,.....,:,..,,,:,,,,,.,,,,+,..,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,,:,,,,
......,............................:*...... .......... .........,,*,,,,,,,,,,,+,..,,,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,::,,+,,,:,+:,,::+:,,,,+:::::+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,::,,,,,,,,,+*,,,,,,,:::::::,,,,,,,,,,,,,,:*,,,,+:::::,*:,,,,::,,,,,,,:,,:::,+::::::+::::,:::::+::::,+:::::+:::::*:::::*:::::+:::::+::++
:::::::+,,,,,,::+::::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::*::*+
:,,,,,,,,,,,,,,,,:::::::::+++++++++**+::+:::++:::::::::::::::::+::+::::+:::,::++:::::::::::::+::::::+:::::+*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,::,,,,,,,,,,,:::::::::+:++++:::+*++++::++:,,::::::+,:++++:+++:*::::::,:::+::::*+:::++++++*++++++:+::++++++::::::++++::::::::::+:::::++::::+:::::+++++++++++
,,,,::::,,,,,,,,::::::::::::++::::++*+::++::++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,:::::,,,,,,::::::::::::::::::::::++::::::::::::::::::::::::::::+:::::::::::::::::+++++:++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,::::::::::,,::::::::+:::,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,::,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::,,::::,,,,,,::::::,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,::+:::::::::::::::::,,::::,,,,,,,,,
:::::::::::::::::::::::+*#+++++++++:::::::::::::::::::::::::++::::::++++++++++++::::::::::::::::::::::::::::::,,,,::+*******:+,:::::::::::::::::::,:+++**#**##*
++++++++++::::::::::++*****:++++++::::,,+:::++++++++++++++::++++++++++++++:::::::::::::::::::::::::::+:::+++:+++++++**********++*+***:::::,,::,+:,:**+::.+:+*##
++++++::::::::::::::::::::+:::::,,::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::**+++++*****#**************++**,,,.,,,.###++:,+:*+::.*,,,::
::::::::::::::,*##*+******+*:*##+,,,,:,,,,*::*,,::::::::::::::::::::::::::::::::::::::::::::::::::::++*************************::*+++:++#+:::+++***:+#*.#,#,*+*
:::::::::::::::***#**********####+:+++*#######**::::::::::::::::::::::::::++++++++++++++++++++++++++****+++++***++****++++**+++++:,,,++++++:+#######**:+#::+*+:
::++++++::::::++****####**##########**##****###*::::::::::::++++++++++++++++++++++++**++++++++++****++++++++++++++++++++++++++++:::::*+*:+#*####**####*:##*##:,
++****++++++**********++++++++::::::++++++++++++++::::::::::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++++++++++++++**+***#####*+:**+**##****++::
***+++++++****++++++++++++***+++++++**++++++++++++++++++++++++****++++********++++++++++++++++++++++++++++++++::++++++++++++++++++++++***+***#+#:**+###########
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,......,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....:.....:....
...................................+*...........................,,*...,,....,.,,....,,....,,.,.....,:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+:,,,,+,,,,,+,,,,,:,,,,,:,,,,
......,............................:*...... .......... .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,+,,,,,,::,,+,:::,+:,,:,+:,,,,+:::::+,,,,,::,,,,+,,,,
,,,,,,,:,,,,,,,,:,,,,,,,:,::,,,,,,,**,,,,,,,::::::,,,,,.,,,,,,,,,:*,,,,+::,,:,++,,,,::,,::,,:::::::,+:::,,:+::::,:::::+::::,+:::::+:::::*:::::*:::::+:::::+::++
:::::::+,,,,,,,,+::::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::*+:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::*::++
:,,,,,,,,,,,,,,,,,::::::::++++++++:**+::+:::++::::::::++:::::::+::+::::+:::,::++:::::+:::::::+::::::+::::::*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,::,,,,,,,,,,,:::::::::::++++::++*++++:::+:,,::::::+,+++++:+++:*:,::::,:::+::::++:::++++++*++++++:+++::++++::::::+++:::::::::::+:::::+:::::+:::::+++++++++++
,,,,::::,,,,,,,,,,::::::::::++::::::*+::++::++++++++++++++++++++++*+++++++++++++++++++++++++::++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,::::,,,,,,,,::::::::::::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::+++:::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,::::::::::::::,,::,:+:,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,::::,,::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,:::,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::+:::::::::::::::,,,,,,::::,,,,,,,
:::::::::::::::::::::::+**++++++++::::::::::::::::::::::::::::::::::++++++++::++:::::::::::::::::::::::::::,,,,,::***++**+++,:::::::::::::::::::::::::::,,::,:+
++++++++:::::::::::::+****#:+++++:::::,,+:::++++++++++++++::++++++++++++++::::::::::::::::::::::+:++:::*++:::+++****++**********+++:::,,,,::::::::::,,,,,++,+**
++++++::::::::::::::*:::::+:::::,,,:::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::++++*++******#*************::+****:::,:::::,,...,,.+#*+,:::+,,
::::::::::::,,:#**+*******+*:+##*:,,.:::,,:+:*:,:::::::::::::::::::::::::::::::::::::::::::::::::+++**++*+******************:,+****+++++:::::,::+*::,:+++*+*:+#
::::::::::::::,##***********+####+::++*****###**::::::::::::::::::::::::::++++++++++++++++++++++++**++++++++*****+++****++**+++++++++++++++:::+++*:++*:#######+
::++++++::::++++**####****########**********###*+:::::::::++++++++++++++++++++++++++**++++++++++****++++++++++++++++++++++++++::::::::::++::::*++:+:*##*#######
++****++++++**********++++++++::::::::++++++::::++::::::::::::::::::::::::++++++++++::+++++++++++++++++++++++++++++++++++++++++++++++++++++**+***#***#**+*+*##*
***+++++++****++++++++++++***+++++++**++++++++++++++++++++++++****++++********++++++++++++++++++++++++++++++::::::::::::++++++++++++++::++++++++++*####:#:***##
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,......,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....:.....:....
...................................+*...........................,,*...,,......,......,.......,.....,:,..,,,:,,,,,.,,,,+,..,,+,,,,,+:,,,,+.,,,,+,,,,,:,,,,,:,,,,
......,............................:*...... .......... .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,+,,,,,,::,,+,:::,+:,,:,+:,,,,+:::::+,,,,,:,,,,,+,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,**,,,,,,,:,::::,,,,,.,,,,,,,,,:*,,,::,:,,:,+:,,,,::,,,,,,,::::::,+:::,,:+::::,:::::+::::,+:::::+:::::*:::::+:::::+:::::+::++
:::::::+,,,,,,,,:,:::::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::*::++
:,,,,,,,,,,,,,,,,,::::::::++++++++:**+::+:::++::::::::++:::::::+::+::::+:::,::*+::::,::::::::+::::::+::::::*::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,:::::::::+:++++::++*++++:::+:,,::::::+,+++++:+++:*:::::,,:::+:::+++:::++++++*++++++:+::::++++::::::+++:::::::::::+:::++++::::++::::+++++++++++
,,,,::::,,,,,,,,,,::,,::::::++++::::++::++::++++++++++++++++++++++*+++++++++++++++++++++++++::++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,::::,,,,,,,,::::::::::::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::,
,,,,,,,,,,,,,,,,::::::,,::::,,::::,:::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:.::::::+:::::::::::::,,,,,,,,,,,,,,,,,,:
:::::::::::::::::::::::+*+::++++++::::::::::::::::++::::::::::::::::++++++++++++++:::::::::::::::::::::::,,::::+*+++***:++::::::::::::::::::::::,,,,:::::::::::
++++++++:::::::::::::**+***:+++++:::::,,::::++++++++++++++::++++++++++++++::::::::::::::::::::::+++:++++++++++****++********+*+*:::::::::::::::::::::::::::::::
++++::::::::,,::,:::*:::::+::::::,,:::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::+++++++++******************::****::::::::::::::::::::::,:,,,,,,:
::::::::::::,,:#**++****+++*+:##*:,,.,,,,,,+:+*.:::::::::::::::::::::::::::::::::::::::::::::::+++**+++**********#********::++++++++++++::::::++++++:,,:,,,+,.,
::::::::::::,,:*##**********+###**::*++***##****+:::::::::::::::::::::::::++++++++++++++++++++++++++++++********++++****++**++++++**++**++++++++++++++**:#,***+
::::::++::::+++***##******########**********+****+::::::::::++++++++++::++++++++++++****++++++++****++++++++++++++++::++++++++++::::::::++++++++:::::::::**#**+
++***+++++++**********++++++++::::::::++++++::::::::::::::::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::***#**#
****++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++********++++++::++::++++++++++++++++++::::::::::::++++++++++::++++++++++::++++++++**#####
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....,.....:....
...................................+*...........................,,*...,,......,......,.......,.....,:,,,,,,:,,,,,.,,,,+,..,,+,,,,,+:,,,,+.,,,,+,,,,,:,,,,,:,,,,
......,............................:*...... ....    .. .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,:,,,,,,::,,+,,,:,+,,,:,+:,,,,+:::::*,,,,,:,,,,,+,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,,,,,:,:::::,,,,.,,,,,,,,,:*,,,::,:,,:,+:,,,,::::,,,,::::::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::*:::::+:::::+:::::+:,++
:::::::+::,,,,,,:::::::::::::::::::**:::::::::::::::::::::::::::::*::::+:::::,++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::*::++
:,,,,,,,,,,,,,,,,,:::::::::+++++++:**+::+:::++::::::::+::::::::+::+::::+:::,::*+::::,::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,::,,,,,,,,,,,:::::::::+:+++++++++++++:::+:,,::::::+::++++:+++:*:::::,,:::+:::+++:::++++++*++++++:+++::++++::::::::+:::::+:::::+:::++++::::++::::+++++++++++
,,,,::::,,,,,,,,,,::::,,::::++++::::++::++::++++++++++++++++++++++*+++++++++++++++++++++++++::++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,::::,,,,,,,,::::::::::::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::,
,,,,,,,,,,,,,,,,,,::::,,::,,::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::+:::::::::::::,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::,:**::++++++::::::::::::::::::++++++::::::::::++++++++++++++::::::::::::::::::,,,,::++++++**++:,:,:::,::::::::::::::::::::,,,,,,,,,::::::
++++++:::::::::::::::***+***++++:::::::::::+++++++++++++++++++++++++++++++::::::::++::::::++++,+++++++++++++++****++++*+*+++:::::::::::::::::::::::::::::::::::
++::::::::::,,::::::*:::::++::::::,:::::::,,,,::::::::::::::::::::::::::::::::::::::::::::+++++++++******************++****::::::::::::::::::::::::::::::::::::
::::::::::,,,,+##*++**++**+++:+#**:::,,+++++++:*,,:::::::::::::::::::::::::::::::::::::::+++++++++******************+:,*++****::::::++::::::::::++++++++++:::::
::::::::::::,,####***********+####*,:+++++++++***+::::::::::::::::::::::::++++++++++++++++++++++**++****++************++++**++****************++**++++******+++
::::::++++++:::+*##***#############*****+++++++++*::::::::::++++++++++::++++++++++++****++****++++++++++++++++++++++::++++++++++::::::::++++++++++::::++:::::::
++***+++++++**********++++++++++++++++++++++++++++++::::::::::::::::::::::++++++++++::++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++:::::::::
****++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++********++++++::::++::++++::::++++::::::::::::::::::::::::++++++++::++++:+++++++:+++++:+:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,..,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+...................................................,.....,..................................
...................................**.............................*........................................,......,,..:.....:,....:,....:.....:.....,.....:....
...................................+*...........................,,*...,,......,......,.......,.....,:,,,,,,:,,,,,.,,,,:,..,,+,,,,,+:,,,,+.,,,,+,,,,,:,,,,,:,,,,
................,..................:*...... .......... .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,:,,,,,,::,,+,:::,+:,,:,+:,,,,+:::::+,,,,,::,,,,+,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,,,,,:,::::,,,,,.,,,,,,,,,:*,,,::,:,,,,+:,,,,::::,,,,,:,,::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::+:::::*:::::+:::::+:,++
:::::::+::,,,,,,:::::::::::::::::::**:::::::::::::::::::::::::::::*::::+:::::,*::::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::*::++
:,,,,,,,,,,,,,,,,,:::::::::+++++++:**+::+:::++::::::::+:::::::::::+::::+:::,::++:::::+:::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,::,,,,,,,,,,,:::::::::+:+++++++++++++:::+:,,::::::+::++++:+++:*::::::,:::+:::+++:::++++++*++++++:+++::++++::::::::+:::::+:::::+:::++++::::+:::::+++++++++++
,,,,,,::,,,,,,,,,,::::,,::::++++::::++::::::++++++++++++++++++++++*+++++++++++++++++++++++++::++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,::::::::::::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.::::::+:::::::::::,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::,:**::+++++++:::::::::::::::::++++++::::::::::++++++::::++++:::::::::::::::,,,::::++++*++:++:::,,,::::::::::::::::::::::::,,,,:::::::::::
++++::::::::::::::,::*******,++++++::::,,+:+++++++++++++++++++++++++++++++::::::::++:::::+*:++++++++++++++++******+++**+::::::::::::,,:::::::::::::::::::::::::
::::::::::,,,,,:::::++:::::+:::::::,::::::::,,:::::::::::::::::::::::::::::::::::::::::++++++++*+*****************+:****:::::++::::::::::::::::::::::::::::::::
::::::::::,,,,,#*#++******++:+:+#*::,,,:****+**+*,:::::::::::::::::::::::::::::::::::::+++++++++******++******##**+:*++++++***+:::::++++++::++::++++++++++++::+
:::::::::::,,,*##*#************####+,:++:+::++:+*+::::::::::::::::::::::::++++++++++++++++++++++****++++++****++******++++++****************++++****++********+
::::::++++++::::*#######**#########***********+++**:::::::::++++++++++::++++++++++++****++****++++++++++++++++++++++::++++++++++::::::::++++++++++:::::::++:::+
++***+++++++********++++++++++++++++++++++++*****+++::::::::::::::::::::::++++++++++::++++++++++++++++++++++****+++++++++++++++++++++++++++++++++:::::::::::,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++++******++++++::::++::::++::::::::::::::::::::::::::::::::++++++++++++++++++++++**++++++:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,....,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....,.....:....
...................................+*...........................,,*...,,....,.,......,.......,.....,:,,,,,,:,,,,,.,,,,:,..,,+,,,,,+:,,,,+.,,,,+,,,,,:,,,,,:,,,,
...................................:*...... .......... .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,:,,,,,,::,,+,:::,+:,,:,+:,,,,+:::::+:,,,,::,,,,+,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,,,,,:,:::::,,,,.,,,,,,,,,:*,,,::,:,,,,+:,,,,::::,,,,,:,,::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::+:::::*:::::+:::::+:,++
:::::::+::,,,,,,:::::::::::::::::::**:::::::::::::::::::::::::::::*::::+:::::,++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::*::++
:,,,,,,,,,,,,,,,,,::::::::::++++++:**+::+:::++::::::::::::::::::::+::::+:::,::*+::::,::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,::,,,,,,,,,,,,::::::::+:+++++++++++++:::+:,,::::::+::++++:+++:*::::::,:::+:::+++:::++++++*++++++:+++::++++::::::::+:::::++::::+:::::++::::+:::::+++++++++++
,,,,,,::,,,,,,,,,,::::::::::++++::::++::::::++++++++++++++++++++++*+++++++++++++++++++++++++::++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,::::::::::::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.::::::+:::::::::::,,,,,,,,,,,,,,,,,,,,:
:::::::::::::::::::::::::++::++++++:::::::::::++::::++++++::::::::::++++++++::++++++++:::::::::,::::+++++++*:++::::::,,,::::::::::::::::::::::::::,,:::::::::::
++::::::::::::::::,:*+*#**+*+:++++::::::::++++++++++++++++++++++++++++++++::::::::++::+*+:*:**++:+++++++++++++*+*+++*+::::++:::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::+*:::::++::::::,::::::::,,::::::::::::::::::::::::::::::::::::::+++:+++++*******************++***+:::::::+++:::::::::::::::::::::::::::::::
::::::::,,,,,,,*##++******++::+:**+::,:,:+******++,:::::::::::::::::::::::::::::::::+*++++++++********++*******++:+:++++++*****+::::++++++::++++++++++++++++::+
:::::::::,,,,,:##*#***********+*####:::+:::+++::++++::::::::::::::::::::::++++++++++++++++++++++****++++++**********++++++++****************++++**++++******++*
::::::++++:::::+########*******##*##*+**************::::::::++++++++++::++++++++++++****++****++++++++++++++++++++++::++++++++++::::::::++++++:+++::::::::+:+++
++***+++++++********++++++++::++::++**************++::::::::::::::::::::::++++++++++::++++++++++++++++++++++++**++++++++++++++++++*++++++++++++::::::::::::::::
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++******++++******++++::::::++::::++:::::::::::::::::::::::::::::::::::+++++++++++::+++**++*+::+:::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,......,,..,,..,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....,.....:....
...................................+*...........................,,*...,,....,.,......,.......,.....,:,,,,,,:,,,,,.,,,,:,..,,+,,,,,+:,,,,+.,,,,+,,,,,:,,,,,:,,,,
...................................:*...    .......... .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,+,,,,,,::,,+,:::,+:,,:,+:,,,,+:::::+:,,,,::,,,,+,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,:::,:,:::::,,,,.,,,,,,,,,:*,,,::,:,,,,+:,,,,::::,,,,,:,,::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::+:::::*:::::+:::::+,,++
:::::::+::,,,,,,:::::::::::::::::::**:::::::::::::::::::::::::::::*::::+:::::,++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,::::::::::++++++:**+::+:::++::::::::+::::::::+::+::::+:::,::*+::::,::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,::,,,,,,,,,,,:::::::::+:+++++++++++++:::+:,,::::::+::++++:+++:*::::::,:::+:::+++:::++++++*++++++:+++::++++::::::::+:::::++::::+:::::++::::+:::::+++++++++++
,,,,,,::,,,,,,,,,,::::::::::::++::::++::::::++++++++++++++++++++++*+++++++++++++++++++++++++::::++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,::::::,,::::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,.::::::+:::::::::::,,,,,,,,,,,,,,,,,,,,:
:::::::::::::::::::::::::+*+::++++++::::::::::++++++++++++::::::::::++++++++::++++++++++::::,,:::::+++*+*+++::::::::,,,,:::::::::::::::::::::::::::::::::::::::
++:::::::::::::::::::+******#+++++::::::,,+:++++++++++++++++++++++++++++++::::::::+:+*+*++**++++++++++++**+++++*+++:++::::++:::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::+:::::++::::::,,:,::::,,,,::::::::::::::::::::::::::::::::::++++++++++#****************++***+:::::::::::+++::::::::::::::::::::::::::::::
::::::,,,,,,,,,:##*+++****++++:+++*+:,,:,:****+*+++,::::::::::::::::::::::::::::+:+++++++++*#*****++++*******::*+:::+++++*+*****+:::++++++++++++++++++++++++:::
:::::::,,,,,,,:#####***********+#####:,:+::::+*+++*+::::::::::::::::::::::++++++++++++++++*******+++++++++++********++++++++****************++++****++++++*****
::::::++::::::::*#####********########************#*+:::::::++++++++++::++++++++++++****++********++++++++++++++++++::++++++++++::::::::++++++:::::::::::::::::
++****++++++++******++++++++++::::++************##**++::::::::::::::::::::++++++++++::++++++++++++++++++++++++**++++++++++++++++++*+++++++++::::::::::::::,::::
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++******++++******++++::::::++::::++:::::::::::::::::::::::::::::::::::+++++++:::::+++++*+++++++++:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,,,..,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..:.....:,....:,....:.....:.....,.....:....
...................................+*...........................,,*...,,....,.:,.....,.......,.....,:,,,,,,:,,,,,...,,+,..,,+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................:*...    .......... .........,,*.,,,,,,,,,,+,....,,,,.....,..,,,,:,,,,,,+,,,,,,::,,+,::,,+:,,:,+:,,,,+:::::+:,,,,::,,,,+,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,:::,:,:::::,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,::::::::,:,,::,,+:::,,:+::::,:::::+::::,+,::::+:::::+:::::*:::::+:::::+:,++
:::::::+::,,,,,,:::::::::::::::::::**:::::::::::::::::::::::::::::*::::+:::::,++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,::::::::::++++++:**+::+::::+::::::::::::::::::::*::::+:::,::*+::::,::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++:::+:,,::::::+:::+++:++++*::::::,:::+:::+++:::++++++*++++++:+++::++++::::::::+:::::++::::+:::::++::::+:::::++:++++++++
,,,,,,::,,,,,,,,,,::::::::::::++::::++::::::++++++++++++++++++++:+*+++++++++++++++++++++++++::::++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,::,,,:::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::.::::::+:::::::::::,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::**+:++++++::::::::::++++++++++++::::::::::++++++++++++++++++++::::::::++++*++++:::::::::::,,,,,::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::+:*#***+*+:++++::::::::++++++++++++++++++++++++++++++::::::++**+*+***++++++++++++**++++++*+::++++::::++::,::::::::::::::::::::::::::::::::
::::::::,,,,,,,::::::::+:::::+::::::::,:::::,,,,::::::::::::::::::::::::::::::++:+++++++**#**#************:+***+::::::::::::::++:::::::::::::::::::::::::::::::
::::::,,,,,,,,::###*++++++++++::+:***,:,:::***++++++,::::::::::::::::::::::::::++**+****+****#**++**++***+::++:+++++++++**++***+++::++++++++++++++++++++:::::::
::::::,,,,,,,,::##**************+*####:,:+::::*+++*+++::::::::::::::::::::++++++:+++++++**********++++++************++++++++******************++++++++++++++***
:::::::::::::::::*########*******##*###*+************+::::::++++++++++::++++++++++++****++**********+++++++++++++++++++++++++++:::::::::++:++:::::::::::::::::+
++***+++++++++******++++++++++++++******####******##*:::::::::::::::::::::++++++++++++++++++++++++++++++++++++**++*+++++++++++++++*+++++++::::::::::::::::,,:::
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++******++++******++++::::::::::::++:::::::::::::::::::::::::::::::::::+++++:::::::+++*+++++++++++:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,........,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+,..................................................,.....,..................................
...................................**.............................*........................................,......,,..:.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,.....,......,,.....,:,,,,,,:,,,,,...,.:,..,,+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................:*...    .......... .........,,*.,,,,,,,,,,:,....,,,,,,,,.,..,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,:,+:,,,,+:::::+:,,,,::,,,,+,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,:::,:,:::::,,,,,,,,,,,,,,:*,,,,+,:,,,,+:,,,,::::,,,,::::::,,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::*:::::+:::::+::++
:::::::*::::,,,,:,,,:::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
::,,,,,,,,,,,,,,,,::::::::::++++++:**+::+:::++::::::::::::::::::::*::::+:::,::*+::::,::::::::+::::::+:::::+*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++::++:,,::::::+:::+++:+++:*:,::+:,:::+:::+++:::++++++*++++++:+::++++++::::::::+:+++:++::::+:::::++++::+:::::++:++++++++
,,,,,,::,,,,,,,,,,::::::::::::++::::++::::::++++++++++++++++++++:+*+++++++++++++++++++++++++++::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::,,::::,,,,,,,,::::::::::::::::::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::.::::::+,::::::::::,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::***+++++++::::::::++++++++++++::::::::::::+++++++++++++:,::::+:+++*+*:+::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::+*,*#***+**,+++++:::::,:+++++++++++++++++++++++++++++::**+++**+**++++*+++++++++++++:::::::::::++:::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,::::::::*::::::+:::::::,,::::,,,,,,::::::::::::::::::::::+:***+::++**###************:***:::::::::::::::::::::::++:::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,::###*++++++++++:::::+**,,,,:,****+++++,::::::::::::::::::++****###**##*#***********::+:::++++***+++++++++++****++++++++++++::::++::::++:::::::
::::::,,::::::,,:*##*##************+#####+,::::::*:+**+++:::::::::::::::++++++++++++****************++**************++++++++++**************+:::::+++++++++++++
::::::::::::::::::**######********########++**********##*:++++++++++++::++++++++++++****++**********+++++++++++++++++++++++++++:::::::::+++::::::::::::::::::::
++***+++++++++******++++++++++++++******#*******+++:###*::::::::::::::::::++++++++++++++++++++++++++++++++++++**++*+++++++++++++++*+++++++::::::::::::,,,,:,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++++******++++++::::::::::++:::::::::::::::::::::::::::::::::::+++++:::::++++++++++++++::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..:.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,.....,......,,.....,:,,,,,,:,,,,,...,,:,..,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,,*.,,,,,,,,,,:,....,,,,,,,,.,..,,,,:,,,,,,+,,,,,,::,,+,:::,+,,,:,+:,,,,+:::::+:,,,,::,,,,+,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,:::::,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,::::,,,,,:,,::,,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::*:::::+:::::+,:++
:::::::*::::,,,,:,,,:::::::::::::::**:::::::::::::::::::::::::::::*::::+::::::++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
::,,,,,,,,,,,,,,,,::::::::::::::++:**+::+:+:++::::::::::::::::::::*::::+::::::*+::::,::::::::+::::::+:::::+*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
::,,,,,,,,,,,,,,,,::::::::::+++++++++++++::++:,,::::::+:::+++:+++:*:,:++:,:::+:::+++:::++++++*++++++:+::++++++::::::::+:+++:++::::+:::::++::::+:::::++:++++++++
,,,,,,::,,,,,,,,,,::::::::::::++:::+++::::::++++++++++++++++++++:+*+++++++++++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,:::::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::,,::::,,,,,,,,::::::::::::::,,::::,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::.:::::,::::::::::::,,,,,,,,,,,,,,,,,,:::
:::::::::::::::::::::::::::::+**+:++++::+:::::++++++++++++::::::::::++++++++++++::,:::++:+**+*:+:::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::++********::+:++::::::,++++++++++++++++++++++++++:+*:*+**+###+++**++++++++++++::::::::::::::++:::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,::::::::*::::::+::::::::,,::::,,,,::::::::::::::::::::++***+:::+*####***********+***:,,,::::::::::::::::::::::+++::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,:*#**+++++++++++++++:***:,,::,****+++++,:::::::::::::+******###**##************::+:::::+++*****+++++++++++++****++++++++++::::::::::++:::::::
::::::::::::::,,:,+#####*************+#####:,::::::*++++++:::::::::::::+++++++**********************++++++**********++++++++++*************+::::::::::+++++++++
:::::::::::::::::::+##*##************#######************#**+++++++++++::++++++++++++****++**********+++++++++++++++++++++++++++:::::::::++::::::,,,,,,,,:::::::
++***+++++++++******++++++++++++++******##******++++++###+::::::::::::::::++++++++++++++++++++++++++++++++++++**++*+++++++++++++++*++++++:::::::::::::,,:::,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++++******++++++::::::::::++:::::::::::::::::::::::::::::::::::+++++:::+++++++++:+++++:::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,............,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..:.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,....,,......,,.....,:,,,,,,:,,,,,...,,:,..,,+,,,,,+:,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,,*.,,,,,,,,,,:,....,,,,.....,,,,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,:,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,:::::,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,::,,::::,:,,::,,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,:++
::::::,+::::,,,,:,,,,::::::::::::::+*:::::::::::::::::::::::::::::*::::+:::::,++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
::,,,,,,,,,,,,,,,,::::::::::::::++:**+::+:+:++::::::::::::::::::::*::::+::::::*+::::,::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
::,,,,,,,,,,,,,,,,::::::::::+++++++++++++::++:,,::::::+:::+++:+++:*:,:++:,:::+:::+++:::++++++*++++++:+::++++++::::::::+:+++:++::::+:::::++::::+:::::++:++++++++
,,,,,,::,,,,,,,,,,:::::::::::+++:::+++::::::++++++++++++++++++++:+*+++++++++++++++++++++++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,:::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::,,,,::::,,,,,,,,::::::::::::::,,::,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,.::::,:::::::::::::,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::+*#*::++::::::::++++++++++++::::::::::::++++::+::,::::++++++*++:::::::::::::::::::::::,,,,,::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::#:********:+++++,,::,,:++++++++++++++++++++++++:*++*+*###+:+*+++++++*+++::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,:::::::+:::::::+::::::::,,::::,,,,:::::::::::::::+++###::,:+**##***********+**+:::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,:+#*#+:++++++++++::+::*#*,,,,:,******+++,::::::::+***###*###**#**#*********::::::::::+++++*****++++++++++++++**++++++++++::::::::::::++:::::
::::::::::::::,,,,,+#####*************++##*##+,,+::::+:+*++++::::::::+++++++****#*#*******************++++************++++++++++***********+::++:::::::++++++++
::::::::::::::::::::**########*********#######************##*+++++++++::++++++++++++****++**********+++++++++++++++++++++++++++:::::::::++::::::,,,,,,,,:::::::
++***+++++++++******++++++++++++********+*###+++++++:::+###+::::::::::::::++++++++++++++++++++++++++++++++++++**++*+++++++++++++++*++++++:::::::,,::::::,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++++******++++++:::::::::::::::::::::::::::::::::::::::::::::::+++++:::+++++++::++++:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,......,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..:.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,....,,......,,.....,:,,,,,,:,,,,,...,,:,..,,+,,,,,+:,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,.*.,,,,,,,,,,:,....,,,,.....,..,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,:,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,:::::,,,,,,,,,,,,,,:*,,,,+,:,,,,+:,,,,,:,,::::::::::,,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,:++
:::::::+::::,,,,:,,,,,:::::::::::::+*:::::::::::::::::::::::::::::*::::+::::::++:::::+::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
::,,,,,,,,,,,,,,,,::::::::::::++++:+*+::+:::++::::::::::::::::::::*::::+:::,::*+:::::::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,::::::::++++++++++::+::++:,,::::::+:::+++:+++:*:,:+::,:::+:::+++:::++++++*++++++:+::++++++::::::::+:+:+:++::::+:::::++::+++:::::++:++++++++
,,,,,,::,,,,,,,,,,,,::::::::::++::++++::::::++++++++++++++++++++:+*+++++++++++++++++++++++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,:,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::,,::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::,:::::::::,,::,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::**#*::::::::::::++++++++++++::::::::::++++::::::+++++++*++::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,:,::+++*#**+**#:+++::::::,,:++++++++++++++++++:+++++*+**#**:*++++++++++++::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,:::::::*:::::::+::::::::,,::::,,,,::::::::::::+:###+,,:+**##**********+**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::,,,,,,::,,,,,,,,,,,:###*:+++++++++++:++::*#*+::,:,:+*****++,:::+******#*###**##*#*##*****:,::::::::::+++++++++**++++++++::++++++*+++++++++:::::::::::::::::::
::::::::::::::,,,,,,:*#####*************++#####*,,:+:::+:+::++++::++++++****##*##*********+***++****++++++************++++++++++**++*******+::+::::::::++++++++
::::::::::::::::::::::######************#*######*+***********#*+++++++::++++++++++++****++**********+++++++++++++++++++++++++++:::::::::+:::::::,,,,,,,,::::::+
++***+++++++++******++++++++++++++++****+:++###*++::::++++###*::::::::::::++++++++++++++++++++++++++++++++++++**++*+++++++++++++++*+++++::,,,,::,,,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++**++++++******++++::::::::::::::++:::::::::::::::::::::::::::::::::+++++::::+++::::::+:::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,......,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,....,,......,,.....,:,,,,,,:,,,,,.,,,,:,..,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... ....... .,.*.,,,,,,,,,,:,....,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,:::::,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,,:,,,,,,,:::::,,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,:++
:::::::+::::,,,,:,,,,,:::::::::::::+*:::::::::::::::::::::::::::::*::::+::::::++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
::,,,,,,,,,,,,,,,,::::::::::::++:::+*+::+:::++::::::::::::::::::::*::::+:::,::*+:::::::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,::::::::+:::++++++::+::++:,,::::::+:::+++:++++*:,:+::,:::+:::+++:::++++++*++++++:+::++++::::::::::+:+++:++::::+:::::++::+++:::::++:++++++++
,,,,,,::,,,,,,,,,,,,::::::::::++::++++::::::++++++++::++++++++:::+*+++++++++++++++++++++++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::,,::::,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::,:::::,,::,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::*###::::::::::,:++++++++++::::::::++::::::::::++*++*++++++::::::::::::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::+:*#*****+*::++::::,,,,:+++++++++++++::+*#*********+*+++++++:++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,::::::::*:::::::+:::::::::,,:::::,,::::::::,:##**::,:**##*****#***+*+::::::::,,,,::::::::::::::::::::::::::::+::::::::::::::::::::::::::
::,,,,,,::,,,,,,,,,,,,:+###*:+++++++++++::::++##*:,,:,:+++++++++:+**########****#*******:::::::::::::+:+*****+++**++++++++::::++++++++++++++:::::::::::::::::::
::::::::::::::::,,::::+######+*************+######,,,+::::+::+++*+++++**##**###*******++++++++++**++**++++**************++++++++++*********++++:::::::::+++++++
::::::::::::::::::::::,*#*######************#######++*************++++::++++++++++++****++**********++++++++++++++++++::+++++++::::::::++:+:::,,,,,,,,::::,,:::
++****++++++++****++++++++++++++++++++****+:*+###*::::++::++####::::::::::++++++++++++++++++++++++++++++++++++**++*+++++++++++++++*+++++::,,,,,,,,,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++****++++++******++++::::::::::::::++:::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,....,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,....,,......,,.....,:,,,,,,:,,,,,.....:,..,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,.*.,,,,,,,,,,+,....,,,,.....,,,,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,::::,,,,,,,,,,,,,,,:*,,,,+,:,,,,+:,,,,,:,,::::,:,,::,,+:::,,:+::::,:::::+:::,,+:::::+:::::+:::::+:::::+:::::+,:++
:::::::+::::,,,,:,,,,,,,:::::::::::+*:::::::::::::::::::::::::::::*::::+::::::++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,::::::::::::++:::+*+::+:::++::::::::::::::::::::*::::+::::::++:::::::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,::::::::::++++*+::+:::+:,,:::::::::++++:+++:*:,:+::::::+:::+++:::++++++*++++++:+++++++::::::::::+:+++:++::::+:::::++::::+:::::+++++++++++
,,,,,,::,,,,,,,,,,,,::::::::::::::++*+::::::++++++++++++++++++:::+*+++++++++++++++++++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::,,::::::,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::,,,:::::,,::,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::,,,,::::::::::::::::::::::*####+::::::,,,:++++++::::++::::++::+++:+*++++++++++::::::::::::::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::+::::::::+********#:++::::,,,,,::++++:+*#*#******++*+++++:::::::::::::::,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,:::::::::::::::::+:::,,::::,,,:,:::,::+**+++:++*#******+*::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::
::::,,,,::,,,,,,,,,,,,,,,::+###*::++++++++++:::::,:###+,,,:,:+*******,##**#*******::::::::::::::+++++++++***+++++++*++++++::::::++++++++++++:::::::::::::::::::
::::::::::::::::::::::,,,:+######*************+*+*#*####,,:+::+:*+:+**:*###*****++++++++++++++**++++++****************++++++++++++**********++:::::::::::::::::
::::::::::::::::::::::,,:::**########***####******######*+***********#*+++++++++++++****++**********++++++++++++++++++::+++++++::::::::+::++,,,,,,,,,,::,,,,,,,
++****++++++++****++++++++++++**++++++::++###*,,:*+**##*::++:::::####*::::++++++++++++++++++++++++++++++++++++++++*+++++++++++++++*+++::::::,,,,,,,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++****++++******++++:::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,......,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*.,,,,....,.:,....,,......,,.....,:,,,,,,:,,,,,.....:,..,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,.*.,,,,,,,,,,+,....,,,,.....,,,,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,::::,,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,,:,,::::,:,,::,,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::,,,,:,,,,,,,:::::::::::+*:::::::::::::::::::::::::::::*::::+::::::++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,:::::::::::::::::+*+::+:::++::::::::::::::::+:::*::::+::::::*+:::::::::::::+::::::+::::::*::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++*+::+:::+:,,::++::::::+++:++++*:,:+:,,:::+:::+++:::++++++*++++++:+++++++::::::::::+:+:+:++::::+:::::++::::+:::::++++++**+++
,,,,,,::,,,,,,,,,,,,,,::::::::::::++*+::::::++++++++::++++++++:::+*+++++++++++++++::++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:
,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::,,,:::::,,::,,::,,,,,,,,,,,,,,:::::::
::::::::::::,,::::::::::::::::::::::::::**##*#::::::::,,::++++++:::::::::+::*:++++++++++++::::::::::::::::::::::::::,,,,,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::++*:******+*+*:::::,,,,,,,:+********#**+*+::::::::::::::::::::::,,::::::::,,:::,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,:::::::::#::::::::+:::::::::,,:::::,,,,+++++******++:::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,::,,,,::::::,,,,,,,,::##*#+:++++++++++++:::::+###+::,,,,****++++:***+++:::,,,,::::::::::++++++++****+++++++**+++:::::::::+++++++++++:::::::::::::::::::
::::::::::::::::::::::::,,:,+*#####*************++*+*######:,::::::*:****+***+++++++++++++++++++++++++**++************++++++++++**++********++:::::::::::::::::
:::::::::::::::::::::::::::::+##+###**##**########**#######*++**+*******#*++++++++++****++**********++++++++++++++++++::+++++++:::::::+++++:,,,,,,,,,,::,,,,,,,
++****++++++++******++++**++++++****++::::::####:,,:*+*###++++++++:+####++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++*++:::::::,,,,,,,,,,,,,,,,,,:
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++**++**********++++:::::::::::::::::::::::::::::::::::::::::::::::::+::::,,:::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,.........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................+*...........................,,*...,,....,.:,.....,......,,.....,:,,,,,,:,,,,,.....:,..,,+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,.*.,,,,,,,,,,+,....,,,,.....,..,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,:,::::,,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,,:,,::::,:,,::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::,,,,:,,,,,,,:::::::::::**:::::::::::::::::::::::::::::*::::+::::::++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,:::::::::::::::::+*+::+:+:++::::::::::::::::::::*::::+::::::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,::::::::::::++*+::+:::+:,,::++::::::+++:+++:*:,:+:,,:::+:::+++:::++++++*++++++:+++++++++::::::::+:+:+:++::::+:::::++::::+:::::++++++**+++
,,,,,,::,,,,,,,,,,,,,,::::::::::::++*+::::::::++++++::++++++++:::+*+++++++++++++++++++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,:::::,,::,,::,,,,,,,,,,,,,,:::::::
::::::::::,,,,,,,,,,,,:::::::::::::::::::::*#####::::::::,,:++::++::::++:+::::++++++++::++::::::::::::::::,,,,::,,::,,,,,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::+::::++**********:++::,,,,,,::******++**::::::::++::::::::::::,,,:::,,:::::,::::,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,::::::::::*::::::::+:::::::::,,:::,,,,:,++++*+:::,,::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,::,,,,::,,,,::::,,,,,,::+###*::+++++++++++::::+::+#*+::,:,,+**++++::::::,,,,,,::::,,::::+++++++++***+++++++**+++:::::::::+++++++++++:::::::::::::::::::
::::::::::::::::::::::,,,,:::::+####*#+*************++++######:,,:::::++**++:+::+:++++++++++*+++++**++**++************++++++++****++********++:::::::::::::::::
:::::::::::::::::::::::::::::::+*######*****########****#######++************+++++++****++**********+++++++++++++++++++++++++++:::::++++++::,,::,,,,::,,,,,,,,,
++****++++++++******+++++++++++++******:::::,:*###*:::+*:+*###++*******####*++++++++++++++++++++++++++++++++++++++*+++++++++++++++*++:::::,,,,,,,,,,,,,,,,,,,,:
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++**++++******++++++::::::::::::::::::::::::::::::::::::::::::::::::++::::,,:::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..............,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....,....
...................................:*...........................,,+,..,,....,.:,.....,......,,.....,:,,,,,,:,,,,,.....:,....+,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
.................,.................:*...... .......... .........,.*.,,,,,,,,,,:,....,,,,.....,..,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*,,,::,,::::::,,,,,.,,,,,,,,,:*,,,,+,:,,,,+:,,,,,:,,::::,:,,::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::,,,,:,,,,,,,:::::::::::+*+::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,:::::::::::::::::**+::+:+::+:::::::::::::::::+::*::::+:::,::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+*+::+:::+:,,::::::::::+++:++++*:,:::,,:::+:::+++:::++++++*++++++:+++::++++::::::::+:+:+:++::::+:::::++++::+:::::++++++**+++
,,,,,,,,,,,,,,,,,,,,,,::::::::::::++*+::::::++++++++::++++++++:::+*+++++++++++++++++++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::++:::::::::::::::::::::::::::::+:::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::,,,:::::,,::,,::,,,,,,,,,,,,,,:::::::
::::::::::::,,,,,,,,,,::::::::::::::::::++++:+*####*::::::::,:::::++:+:*::::::++++++++::++::::::::::::::::,,,,::,,::,,,,,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::,+:+******+++#+:++::::,,,,:*++*+:,::::::::++::::::::::::,,::::,,::::::::::,,:::,:::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::*:::::::,*::,,,,::::,,::::,,,,,,::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,::::,,,,::::,,::::,,,::+###*::++++++++::::::::+::**+:,,,:,,*+++++::,,,,,,,,,,,,,::::+++++++++**+++++++++*+++++::::::::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::,,:+*#*####+**************+::***####,,::,,::+++**+::::++++++++*+++++++++++++************++++++++++++++********++:::::::::::::::::
::::::::::::::::::::::::::::::::::**######**############***#######*++**********#**++****++**********++++::++++++++++++++++++++++::::::+++:,,,,::::,,,,,,,,,,,,,
++****++++++++******++++++++++::++++**###+:::::::####*+:++**+*####**##**###*###+++++++++++++++++++++++++++++++++++*+**++++++++++++*+::::::,,,,:::,,,,,,,,,,,,,:
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++**************++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:::::,,:::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,............,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....,....
...................................:*...........................,,+,..,,....,.:,....,,.......,.....,:,,,,,,:....,.....:,....+,,,,,+:,,,,+,,,,,+,,,,,+,,,,,:,,,,
.................,.................:*...... .......... .........,.*.,,,,,,,,,,+,....,,,,.....,..,,,,:,,,,,,+,,,,,,::,,+,::,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,+*.,,::,,::::::,,,,,.,,,,,,,,,:*,,,::::::,,+:,,,,,:,,::::,:,,::,,+:::,,:+,,,,,:::::+::::,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::,,,,:,,,,,,,:::::::::::+*+::::::::::::::::::::::::::::*::::+::::::++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,:::::::::::::::**+::+:+::+::::::::::::::::::::*::::+:::,::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+*+::+:,:+:,,::::::+:::+++:+:++*:,:+:,,:::+:::+++::::+++++*++++++:+++::++++::::::::+:+:+:++::::+:::::++++::+:::::+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+*+:::::::+::++++++++++++++:::+*+++++++++++++++::++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,:::::::::::::,,,,,,,,,,,,,,:::::::
::::::::::::,,,,,,,,,,::::::::::::::+:::++++++:::*#####*::::::::::::+:::::::::++++++++::++::::::::::::::,,,,,,::,,::,,,,,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::+::::++*#****+****:+++::,,,,,,::::::::::::++::::::::::::,,::,:,,:::::,::::::::,,:::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,++::::::::#::::::::++::,,,,::::,,,,::,,,,::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,::::,,,,::::::,,,,+:*###*::+++++++::::::::,:+::+*+,:,,,,,*++++::+.,,,,,,:::::::::::+++++++++++++++*+++++::::::::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::,,,,,,,:+*######+***************+::####*##,,:::::::+++*+:+++++++++++++++++++++************++++++++++************++:::::::::::::::::
::::::::::::::::::::::::::::::::,,,:+**#####**########*********#######*++***+***********++**********++++::++++++++++++++++++++++::::++:++:,,::::::,,,,,,,,,,,,,
++***+++++++++******++++++++++::::::++**####+:::,,:*####*********###*#####**#######+++++++++++++++++++++++++++++++*+++++++++++++++*++::::,,,,,:::,,,,,,,,,,,:::
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++****++**********++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,....,,........,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:,....:,....:.....:.....,.....:....
...................................:*...........................,,+,..,,....,.:,....,,.......,.....,:,,,,,,:,,,,,...,.:,....+,,,,,+:,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,*.... . .......... .........,,*.,,,,,,,,,,+,....,,,,,,,,.,..,,,,:,,,,,,+,,,,,,:::,:,,,,,+,,,,,+:,,,,+:::::+:,,,,::,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,::::::::::,,,,,.,,,,,,,,,:*,,,,+::::,,+:,,,,,:,,,,,,,:,,::,,+:::,,:+,,,,,:::,,+:::,,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::,,,,:,,,,,,,,::::::::::+*:::::::::::::::::::::::::::::*::::+::::::++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,:::::::::::::::+*+::+::::+::::::::::::::::::::+::::+:::,::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,::::::::::::++*+::::::+:,,:+++::+:::++++++++*:,:+:,,:::+:::+++::::+++++*++++++:+++::++::::::::::::+:::+++:::+:::::+++++++:::::+++++++++++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+*+::::::::::++++++++++++++:::+*+++++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,:,::::,,::::::,,::::,,,,,,:::::::::
::::::::::::,,,,,,,,,,:::::::::::::++:::+++++++++++:::::*###*##+:::::::,,:::::++++++++++++:::::::::::::,,,,,,,::,,,,,,,,,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++*+:::++++*#***++****:++::::,.,,:::::++::::::::::,,::::,,,,::::::,,:::::::,:::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::+::::::::,*:::::,,,:*+,,,,,,,,:::,:::,,,,,::,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,::::::::::::,,:::::::,+++*###+::++++++::::::::::,:+:::++:,,,,,.:++:::::,::::::::::++++++++++++++++++:+::::::::::++++++++++::::::::::++:::::
::::::::::::::::::::::::::::::::,,,,,,,,,:++#######++*************+++:,+##*##*#:,,:::::+:+*++:++++++++++**********++**++++++++**++++********++++++++::++,,::,,:
::::::::::::::::::::::::::::::::::,,,,,,,::**#######**####**##**********########+++#********#+******+++++++++++++++++++++++++++:::::+:::::::::::::,,,,,,,,,,,,,
++***+++++++++******++++++:::::::::::::::::++*#####*:::::*####***########*######******#####**+++++++++++++++++**++*++++++++++++++++++:::,,,,,::::,,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++****++********++++::::::+:::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,::::,::::::,,,,,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,.......................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,.......................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:.....:,....:.....:.....,.....:,...
...................................:*...........................,,+,..,,....,.:,....,,.......,.....,:,,,,,,:,,,,,.....:,....+,,,,,+:,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,*................. .........,,*.,,,,,,,,,,+,....,,,,.....,,,,,,,:,,,,,,+,,,,,,::,,:,::,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,+,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,::,,::::::,,,,.,,,,,,,,,,:*,,,,+::::,,+:,,,,,:,,::::,:,,::,,+:::,,:+,,::,:::,,+::::,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::,,,,:,,,,,,,:,:::::::::+*:::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+:::::,:::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,:::::::::::::::**+::+::::+:+::::::::::::::+:::+::::+::::::*+::::,::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+*+++::,:+:,,::::::+:::+++:+:+:*:,:::,,:::+:::+++::::+++++*++++++:+++++++++::::::::::++::+++:::+:::::+++++++:::::++:++++++++
,,,,,,::,,,,,,,,,,,,,,,,:::::::::::+*+::::::::::++++++++++++++++:+*+++++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::,,::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,:,::::,,::::,,,,::,,,,,,:::::::::::
::::::::::::,,,,,,,,::::::::::::::::+:::++++++++:+:+:::::::+*####*#*:::::::,,:++++++++++++++:::::::::::,,,,,,,,,,,,,,,,.,:,,::,::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++**+::**::::+++**##**++**+*::::,,:,,,,::::::::::::,,,::::,,,,:,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::,::::::::::::*:::::,,:::*,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,::::*###+::::++++::::::::::::::::,::::,,.,,:+++:::,::::::++++++++:::::+++++::::::::::::::++++++++::::::++++++::::+
::::::::::::::::::::::::::::::::::::,,,,,,,,,++*####*##++*****++++++++++++,,*###*###,,::,:::::++::++++++**********++**++**++++++++**+*******++++++++++++,,,,,,:
::::::::::::::::::::::::::::::::::::::,,,,,,::+*###*###***######**********+*#####*###+++****####****+++++++++++++++++++++++++++:::::+:::::::::::::,,,,,,,,,,,,,
++****++++++++******++++++:::::::::::::::::::::++*#####++++:#########################*******##*#**++++++++++++**++*+**+++++++++++++++:::,,,,,::::,,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++++****************++++++:::::::+::::::::::::::::::::::::::::::::::::::,,,,,,,,,::::,::::::,,,,,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,....,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................:*...........................,,+,..,,....,.:,....,,.......,.....,:,,,,,,:,,,,,...,.:,....+,,,,,+:,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................:*...... .......... .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,::,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,::,,::::::,,,,,,,,,,,,,,,:*,,,,+::,,,,+:,,,,,:,,,,,,,:,,::,,+:::,,:+,,::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+,,:+
:::::::+::::,,,,:,,,,,,,:,:::::::::++:::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+::::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+*+::+:::::::::::::::::::::+:::+::::+::::::*+:::::::::::::+::::::+::::::+::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::::::+:,,::::::+:::+++:+:+:*:::+:,,:::+:::+++,,::+++++*++++++:+++++++++::::::::::+:::+++:::+:::::++++++++::::+::++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::*+::::::::++++++++++++++++++:+*+++++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:::::,,::::,,,,::::,,,,:::::::::::
::,,::::,,,,,,,,,,,,,,::::::::::::::+:::++++++:+++::::::::::::::*######*:::::::,,:++++::::::::::::::::,,,,,,,,,,,,,,,,,.,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++*********+:::+++**##****+***+:+:,,,,:,,:::::::::,,::::,,,,:,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,,,,,,,,,,,,,,::::,,::::::::::::,::::::::::::::::*::::,,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,::::::::::::::::::::::,,::::::++:*##*+:::::+::::::::::::::,:::,,::,,:,.,,:++:::,,:++++++::::::::++++::::::::::::::++++++++::::++++++++::+++
::::::::::::::::::::::::::::::::::::,,,,,,,,:::::++*####*##*++****+++++++++++++,:+*####*#:,,::,,::::+::+****++********++******++++****++****++++++::::++,,,,,::
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,:***##*####*******************++#########+++****####***+++++++++++++++++++++++:::::+:++::::::::::,,,,,,,,,,,,,
++****++++++********++++++::::::::::::::::,,,,,,:::++*#####*****###############**#########************++++++++**++*++++++++++++++++++:::,,,,:::::,,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++**++++++++****++************+++::+:+::::+++*++++::::::::::::::::::::::::::::::::,,,,,,,,::::,,::::,,,,,,,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,.............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................:*...........................,,+,..,,....,.:,....,,.......,.....,:,,,,,,:,,,,,...,.:,....+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,*...... .......... .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,::,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,::,,::::,,,,,,,,,,,,,,,,,:*,,,::::,,,,+:,,,,,:,,,,,,,:,,::,,+:::,,:+,,::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+,,:+
:::::::+::::::,,:,,,,,,,:,:::::::::++:::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+::::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::+*+::+:::::::::::::::::::::+:::+::::+::::::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::+:::+:,,::::::+:::+++:+:+:*::::::,:::+:::+++,,::+++++*++++++:+++++++++::+:::::::+:::+++:::+:::::++::++++::::+::++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++::::::::++++++++++++++++++++*+++++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:+::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,:::::,,::::,,,,::::,,:::::::::::::
::,,,,::,,,,,,,,,,,,,,::::::::::::::+++++++:::::::::++::::::::::::,:+*######*::::::,,:++::::::::::::::,,,,,,,,,,,,,,,,,.,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::+++:+++###******:::+::::::*,+*##**********:,:,,,,,,:::::,,::::,,,,:,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,::,,::,,::::::::::::,:::::++::::::::,,,*,,,,,,,,:,*+,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::++:+###+::::++::::::::::,,::,,::::,,:,,,:,,,,+::::,:++:::::::::+::::::::::::::::++++++++++::+++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::*++#######*:+****++++++++++++++:,:#######*,::,,,:::::,:++*******+++******++++++**++****+++++++:::++:,,,::+
::::::::::::::::::::::::::::::::::::::,,::::,,,,::::,++**#######********************++####*#####+++***#####*+++++++++++++++++++:::::+:::::::::::::,,,,,,,,,,,,,
++****++++++********++++++::::::::::::::::::,,,,,,::,::++*######*###########**####****##########******++++++++**++*++++++++++++++++++:::::::::::::,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++**++++++++++++++++++********++::::+::+++******+*****++++::::::::::::::::::::::::,,,,,,,,::::,,::,,:,,,,,,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,...........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,.................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:.....:,....:.....:.....:.....:,...
...................................:+...........................,,+,..,,....,.:,....,,......,,.....,:,,,,,,:,,..,...,.:,....+,,,,,+:,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,+...... .......... .........,.*.,,,,,,,,,,+,....,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,:::,+,::,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,,,,,::::,,,,,,,,,,,,,,,,,:*,,,,+::,,,,+:,,,,,:,,,,,,,:,,::,,+:::,,:+,,,,,::::,+:::::+:::::+:::::+:::::+:::::+:::::+,,:+
:::::::+::::::,,:,,,,,,,:,:::::::::++:::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+::::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::+:::::::::::::::::::::::::+::::+::::::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::+:::+:,,::::::+:::+++:+++:*::::::,:::+:::+++,,::+++++*++++++:+++++++++::+:::::::::::+++:::+:::::++::::++::::+::++++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::::::::++++++::++++:+++++++*+::++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,:::::::::::,,,,::::,,:::::::::::::
::,,,,::::,,,,,,,,,,,,::::::::::::::+++++:::::::::++::::::::::::::::::::++*######*::::::,,::::::::::,,,,,,,,,,,,,,,,,,,.,:,,:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::++*#**+++++++++::,,,::::::::*+***##***+*****:::::,,,,,,::::,,,,:::::,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::,:+::,,::::,,,:#,,,,,,,,,:++,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,::::::::::::::::::::::,:::::::::::::::::::++::*##*+,,:::::::::::::,,::,,,,,,::,,,,::,,.,:+::,,::::::::::::::::::::::::++++++++++::+++++++++++++
:::::::::::::::::::::::::::::::::::::::::+:::::::::::::::*++########+:++++++++++++++++++:+,:*###*#*#:,,,::::,,,::+****++********++++**++****+++++++::::++:,,::+
::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,:+*#########********************++*#########*:++***#####++++++++++++++:::::::::::::::::::,,,,,,,,,,,,,
++****++++++********++++++::::::::::::,,::::,,,,::::::,,,:::+*################****##****#**#####+#####******:+:::+*++++++++++++++++++::::,::::::::,,,,,,,,,,,,,
***+++++++**++++++++++++++++*+++++++**++++++++++++++++++++++++**++************++++++::::::++****###*++++*###*:++::::::::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,.......................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**.............................,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**.............................*........................................,......,,..,.....:.....:,....:.....:.....:.....:,...
...................................:+...........................,,*...,,......:,....,,.......,.....,:,,,,,,:,,..,...,.:,....+,,,,,+:,,,,:,,,,,+,,,,,+,,,,,:,,,,
......,........................... ,+...... .......... ....... .,.*.,,,,,,,,,,:,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,::,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,,,,,::::,,,,,,,,,,,,,,,,,:*,,,,+::,,,,+:,,,,,:,,,,,,,:,,:::,+:::,,:+,,::,::::,+::::,+:::::+:::::+:::::+:::::+:::::+,,++
:::::::+::::::,,::,,,,,,,:,,:::::::++:::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+::::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::+:::::::::::::::::::::::::+::::+::::::*+::::,::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++::+:::::,,::::::+:::+++:+++:*::::::,:::+:::+++,,::+++++*++++++++++++++++::+:::::::::+:+++:::+:::::++::::++::::+::++++++++
,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::++::++::::::++++::++++++++++:+*+::++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,::::::::::::,,::::::,,:::::::::::::
,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::::::+:::::::::::::::::::::::++++:::::::::+*#######*::::,,,,,,,,,,,,,,,,,,,,,,.,:,,:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::++*+*++**++:::+::::::::::::::::++++++:::::*,+**#*#*+++*#***:,,,,,,,,:,:::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,,,::::::::+:::*:::::::::::,,,,,,,,,,,,,,:+::::::::,,,,++,,,,,,,,,:**,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::,,:::::::::::::::::::::::::,::++++++++::++::::::::,,,,,,,,,,,:::::+*#*:,,,::::::::::,,,,,,,,,,,,,,,,::::,,...,::::,:::::::::::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::++++++::::::::::::::,,,,,,,,,,++++######*#+:++++++++++++++++++::+:,:+#######,,,:,:+:::::++**++++**++****++++++++::::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,++**####**###*********************+:+*#########*::+*+*###**++:::::::::::::::::::,,,,,,,,,,,,,
++****++++++********++++++::::::::::::::::,,,,::::::::,,,,,,,,,,,,,::++*##########**********************##########*********+++++++++++::::,:::::::,,,,,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++****+*******+*++++++++++++**********+++*++#####*:::####*:::+::::::::,,,,,,::::::,,,,:,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**.............................,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:.....:,....:.....:.....:.....:,...
...................................:+...........................,,*...,,....,.:,....,,.......,.....,:,,,,,,:,,..,...,.:,....+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
......,............................,+...... .......... ....... .,.*.,,,,,,,,,,:,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,::,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,::::::,,,,,,,,,,,,,,,:*,,,,+:::::,+:,,,,,:,,,,,,,:,,:::,+:::,,:+,,::,::::,+::::,+:::::+:::::+:::::+:::::+:::::+,::+
:::::::+::::::,,::,,,,,,,:,,:::::::+*:::::::::::::::::::::::::::::*::::+:::::,++::::::::::::::::::::+::::::+::::,::::,+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::+:::::::::::::::::::::::::+::::+::::::*+:::::+:::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++:::::,,::::::+:::+++:+++:*:,::::,:::+:::+++::::+++++*++++++++++++++++::+:::::::::+:+++:::+:::::++::++++::::+:++++*+++:
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::++::::::++++::++++++++++++*:::++++++++++++::++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,:+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,::::,,,,::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,:::::,,::::,,::::::,,:::::::::::::
,,,,,,,,::::,,,,,,,,,,,,::::::::::::+:::::::::::::::::::::::::::::::::++::::::::::++:::::+*#######+:::,,,,,,,,::,,,,,,,,,:,,:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::+++**++****+:::::::::::::::::++++::::::::::::::::+:,+**#*#*+++*##**:,,,,,,,:::::::::,:::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,,,,,:::::::::+::++,:++++::+:,,,,,,,,,,::::,,,,,,,:++::::::::,,,,*,,,,,,,,,:,**,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::,,:::::::::::::::::::::::,::++++++::::::::::::::,,,,,,,,,,,,,,,,,,::::::+++::,,,::+:::::::,,,,,,,,,,,,::,,,,,,,,,,..+:,,,:::::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::++++++::::::::::::::::::,,,,,,,,,,,,,,,:+++*########+:++++++++++++++++:::::*:::###**##*,,,::+:,,::++**++****+++++++++:::+++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,+*+**##*#:*###**********************+:+##########+:+********:::+:::::::::::,,,,,,,,,,,,,
++***+++++++********++++++::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,::++*#######*#**###*****++************##########**********+++++:::::::::::,,,,,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++******************:+++++************++++++++:*++*#####::*#####::::::,,,,,,:::::::,,,:,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**.............................,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................**............................,*........................................,......,,..,.....:.....:,....:.....:.....:.....:,...
...................................:+...........................,,*...,,......:,....,,.......,.....,:,,,,,,:,,,,,...,.:,....+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,+................. ....... .,.*.,,,,,,,,,,:,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,::,,,,,,,,,,,,,,,,,,,:*,,,,+::,,,,+:,,,,,:,,,,,,,:,,:::,+:::,,:+::::,:::,,+::::,+:::::+:::::+:::::+:::::+:::::+:::+
:::::::+::::::,,:,,,,,,,,:,,:::::::+*:::::::::::::::::::::::::::::*::::+::::::*:::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::+:::::::::::::::::::::::::+::::+::::::*+:::::+:::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++:::+:::::,,::::::+:::+++:+++:*:,::::,:::+:::+++,,::+++++*++++++++++++++++::+:::::::::+:+++:::+:::::++::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::::::::::::::::++++++++++++*:::++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:+:,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,::::::,,,,:::::::::::
::,,,,,,::::,,,,,,,,,,,,::::::::::::::::::+:::::::::::::::::::::::::::++:::::::::::::::::::::::+*#######+:,,,,,,,,,,,,,,,:,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++***+++**++::::,,::::::::::::++++++::::::::::::,:,:::::*:,+**####++:*###+,:,,:,,,:::,:::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,,,::,:+::::::::::+::++++::::::,,,,,,,,,,,,::,,,,,,,,,,,,:+++:,::::,,,,,,*:,,,,,,,,,,:#::::,,::,,,,,,,,,,:::::::::::::::::::::::::::::::::
::::,,::::::::::::::::::::::::::++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::+:,,,,::+:::::,,,,,,,,,,,,,,,,,,,,,,,,:,..,:,,,:::+++++++++++++++++++++++
::::::::::::::::::::::::::::::++++++:+::::++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,*+++*###+###*::++++++++++++++++++::+*::,+##*####+,,:::+,,,:++**+++++++++::::+++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::++***###**####*********************+*+:*##########:::*+*++++:::::::::::,,,,,,,,,,,
++****++++++++******++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,::+**##########************************###########*******++::::::::+:,,,,,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++*****************+++****#+**###*+++++++++++++:++::+*#::######+#####*:::::,::::::::,,:,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,.,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....:.....:,...
...................................:+...........................,,*...,,......:,....,,.......,.....,:,,,,,,:,,,,,...,.:,....+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,+...... .......... ....... .,.*.,,,,,,,,,,:,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,,,+,,,,,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,::,,,,,,,,,.,,,,,,,,,:*,,,,+::,,,,+:,,,,,:,,,,,,,:,,:::,+:::,,:+::::,:::,,+::::,+:::::+:::::+:::::+:::::+:::::+:::+
:::::::+::::::,,:,,,,,,,,:,,:::::::++:::::::::::::::::::::::::::::*::::+:::::,*:::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,,,,,:::::::::::+++::+:::::::::::::::::::::::::+::::+::::::++:::::+:::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++:::+:::::,,::::::+:::+++:+++:*:,::::,:::+:::+++,,::+++++*+++++++++++++*++::+:::::::::::+++:::+:::::++::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::++::::::::::::++++++++++++*:::++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+:::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::::,,::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,::::::,,,,:::::::::::
::::::,,::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::+**######*+:,,,,,:,::,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::+***++++++,:*+,,,,,,::::::::::++++:::::::::::::::::,,,,:::,,:::+,+**####**++##**+,,,,,,,::+::::::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,,,::::::::::::+:::+::+++:+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:+::::::,,,,,,:*,,,,,,,,,,,+#:::::::,,,,,,,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::::,:::++++++++:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::,,,,,,,*::,,,,,,,,,,,,,,,,,,,,,,::,,:,..,,::,::++++++++++++++++++
::::::::::::::::::::::::::::++++++++::+++++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*++:+########::++++++++++++::++++::::#:,,:###*###+,,,,,::::::++++++:::+++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,::::::,,,,,,:+++*#####*####************************+:*####*#####:::++++++:::::,,,,,,,,,,,
++****++++++++******++++++::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::++***#*#######************########******#########**::::++++:+:::,,,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++****************++++++****#####*#####:::::::::++::+::::::*##+*#####*:::::::+::::::,,:,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,.,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....:,....:.....:.....:.....:,...
...................................:+,..........................,,*...,,....,.:,.....,.......,.....,:,,,,,,:,,,,,...,.:,....+,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
......,............................,+...... .......... ....... .,.*.,,,,,,,,,,:,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,+,,,,,+,,,,,+:,,,,+:::::+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,::,,,,,,,,,.,,,,,,,,,:*,,,,+:::::,+:,,,,,:,,,,,,,:,,:::,+:::,,:+::::,:::::+::::,+:::::+:::::+:::::+:::::+:::::+:::+
:::::::+:::::::::,,,,,,,,:,,:::::::++:::::::::::::::::::::::::::::*::::+:::::,*:::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::+++::+::::+::::::::::::::::::::+::::+::::::*+:::::::::::::+::::::+::::::+::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++::+:::::,,::::::+:::+++:+++:*:,::::,:::+:::+++,,::+++++*+++++++++++++*++++::::::::::::+++:::+:::::++::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::++::++::::::::++++++++++++*+::++++++++++++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::::::::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,::::::,,::::,,:::::::::::::::::::::
::::::,,::,,,,,,,,,,,,,,::::::::,:::++::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::,,,,:::+*#######*::,,,,,::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::++:+++::+++:,:++:::,,,,,,,::::::::::::::::::::::::::::,,,,,,::::,::,::::,*.,***####+*+###+++,,,,,,:::::::::::::::::::::::::::::::
::::::::::::,,,,,,,,::::::::::::+:::++:,++::++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:++:::::::,,,,,*:,,,,,,,,,,,*#++::,,::::,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::++++++::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,::,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,:,,:++++++++++++
:::::::::::::::::::::::::+++++++++::+++++++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*++:+########+:::::++++++::::++++::::+*,,,:*##**##*,,,,::,,,:+::+++**+
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::,,,,,,+****###########++*********************++:+####******+::++++::,,,,::::,
++****++++++++******++++++::::::::::::::::,,::::::::,,::,,::,,,,,,,,,,,,::,,::,,,,,,,,,,::++***#########**********############*****###*++++***+++*::::,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++****************++++++++++++****###########+::::::++++++**++++******+::::::+*****::::,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,.,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....:,....:.....:.....:.....:,...
..................................,:+...........................,,*...,,....,.:,.....,.......,.....,:,,,,,,:,,..,...,.:,....:,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................:+...... .......... .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,,,+,,,:,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,::,,,,,,,,,,,,,,,,,,,:*,,,,+::,,:,*:,,,,,:,,,,,,,:,,:::,+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
:::::::+:::::::::,,,,,,,,,,,:::::::++:::::::::::::::::::::::::::::*::::+:::::,*:::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::*:::::+:::::+::++
:,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::++:::+::::+::::::::::::::::::::+::::+::::::*+::::::::::::::::::::*::::::+::::::::::+:::::::::::+:::::+:::::+:::::+:::::++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::+:::::,,::::::+:::+++::++:*:,::::::::+:::+++,,::+++++*++++++++++++:+++::::::::::::::+++:::+:::::++::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::++::++++::::::++++++++::++*+::++++++++++++::++++++++::++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::+:::,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,:::,,,,:::::::::::::::::::::::::::
::::::,,::::::,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,::,,::,,,,:::+#######*::,,,,:::::::::::::::::::::
::::::::::::::::::::::::::::+++++:++++::::+:::::::::::,,,,::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,#,:**#####*#**#+:**::,,,,:::::::::::::::::
::::::::::::::::::::::::::::::+:::++::+++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***+::::::::,,,,,::,,,::,,,,::+*#*+++:::,,,,:::::::::::
::::::::::::::::::::,:++++++++++++:::::+:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::,,,,,,,,,.:#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,.,,:
:::::::::::::::::::::+++++++++++++++++++++++++:+::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::**++++########::::::::::::::::::::::::::+:,,,:**++**+:,,,
::::::::::::::::::::::::::::::::::::::::++++++::::::::::,,::::::::::::::::::::::::::::::::::::::::::,:**+++###########++************+++++++++++:::***::::+++:::
++****++++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,::+****##+#######********##*******+++++++++++*+:::,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++++**************++++++::::::::,,::::::::+****###########++++**#####*++::::++*****+::::,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,.,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....:.....:,...
..................................,:+...........................,,*...,,....,.:,.....,....,,.,.....,:,,,,,,:,,..,...,.:,....:,,,,,+,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................:+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,::,,,,,,,,,,,,,,,,,,,:*,,,,+::,,:,+:,,,,,:,,,,,,,:,,::,,+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
:::::::+::::::::+,,,,,,,,,,,,,:::::++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::++:::+:::::::::::::::::::::::::+::::+::::::*:::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::+:::::+:::::++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::+:::::,,::::::+:::+++:+:++*:,::::,:::+:::+++,,::++++++++++++++++++:+++::+:::::::::::++::::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::++++::::::++++++++:::+*+::::++++++++++::++++++++++++++++++++::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,::,,,,,,:::::::::::::::::::
::::::,,::,,::,,,,,,,,::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:::::::::::,,,,,,,,,,::,,::,,,,,,,,::::::+*######*+::,,:::::::::::::::
::::::::::::::::::::::::++:::+++::::::,:+:::::::::::,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::*:+:**#####*#:#*:***:,,,,::::::::::
::::::::::::::::::+::::::::::::::++::+++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++++::::::,,,,,,,+,,,,,,,,::++**#*++++::,,:::::
::::::::::::::::::::++++++++++*++:::::::+++:+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,:::::::,,,,,,,,,*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::+:+++++++++**+++*+++*****++:+:::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,::,,,,,,,,,,,,::::::,,,,:++++::*#######*::::::::::::::::::::::::::::,,,,+*+
::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:+**+*###########*++******+:+++++++++++++:::,:+****
++***+++++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::,,::,,::,,::,,,,,,,,,+****#*#####**##**********+++++++++++++::,,,,::,,:
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++++**************++++++::::::,,::::,,,,,,:::::::+****############****++::::++******::::,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,.....................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**.............................,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....:.....:,...
..................................,:+...........................,,*...,,....,.:,.....,....,,.,.....,:,,,,,,:,,..,...,.:,....:,,,,,+,,,,,:,,,,,+,,,,,:,,,,,:,,,,
...................................:+...... .......... .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,:,,,,,,,,,,,,,,,,,,,,:*,,,,+::,,:,+:,,,,,:,,,,,,,:,,::,,+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
:::::::+::::::::+,,,,,,,,,,,,,:::::++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::,:::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::+:::::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::+:::::,,::::::+:::+++++:+:*:,::::,:::+:::+++,,::++++++++++++++++++:+++::+:::::::::::+++:::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++::++++::::::++++++++:::+*+::::++++++++++::++++++++::++++++++++::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::::,,::::::,,,,,,,,,,::,,::::::::::::::::::::::,,::::::::,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::,:,,,,::::::::,,,,,,::::::::::::::::::::::::::::,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::,,,,,,,,::::::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,::::::::::::,,:::::::::::::
::::::,,::::::,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:::::::::::,,,,,,,,,,::,,::,,,,,,,,,,::::::::::::++*#####*+::,,:::::::
:::::::::::::::::::::::::+:::::::+::::::::::::::::::,,::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,:::#+****####*##:#:++*+::,,,::
::::::::::::::::+:::::::+++++:::+++:::++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:**+++:,,::,,,,,,,:,,,,,,::::+**###::+++
:::::::::::::::::::+++++++++**++::::+:++++:::::,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+:::::::::,,,,,,,,,*:,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::++++++++++**++**+++*******:+::::::::::::::,,,,,,,,,,::::,,,,,,,,,,::::::::,,,,::::::::,,,,,,,,,,,:++::::+*#######+:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,:,++**+*###########*+++++++++++++++::::::::::
++***+++++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,,,,,,,,,,,:+++***##########*+++++*****++*+::::,,::::,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++++++************++++::::::::,,::::::,,::::::::,,::::::++****#######*++++::+*******+:::,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**.............................,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*.............................*........................................,......,,..,.....:,....:.....:.....:.....,.....:,...
..................................,:+...........................,,+,..,,....,.:,.....,....,,.,.....,:,,,,,,:,,,,,...,.:,....:,,,,,:,,,,,:,,,,,+,,,,,:,,,,,:,,,,
...................................:+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,+:,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,:,,,,,,,,,,,,,,,,,,,,:*,,,,+::,,:,+:,,,,,:,,,,,,,:,,::,,+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
:::::::+::::::::+,,,,,,,,,,,,,:::::++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::,:::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::+::::::::::::::::::::::+::*::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+:::+:::::,,::::::+:::+++++:+:*:,::::,:::+:::+++,,::++++++++++++++++++:++++++:::::::::::+++:::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++::::::++++++++:::+*+::::++++++++++::++++++++::++++++++++::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::::::::::::,,,,,,,,::::,,::::::::::::::::::::::,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::,,::::::::,,,,,,::::::::::::::::::::::::::,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::,:,,,,::::::::,,::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,::,,:::::::::::::::::::::::
::::::,,::::,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:::::::::::,,,,,,,,,,::,,::,,,,,,,,,::::::::::::::::::::::+*######*::,
::::::::::::::::::::::::+:++::::::+:::+:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,:::::::,,::::#*+***#####**+*:+**
:::::::::::::::+:+::::::+++::::+++:+::++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:++***+,,,,,,,,,,,,,,,,::::++**#
::::::::::::::+::+++++++++**+*++::::++++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+::,:::::::,,,,,,,,,+*,,,,,,,,,,,:
:::::::::::::::::++++++++++*+*+**++++******++:::::::::::::::::,,,,,,::,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,::++++:::*#######+:::::::::::::::::::
::::::::::::::::::::::::::::::**++++++++**++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,:****++####*******+++++++++:::::::::
++***+++++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::,,,,,,,,,,,,,,,:+*++***#***++***********+:::::::::,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++++**++**********++::::::::::::::::::,,::::::::::,,,,,,,,:::::++++***+++++++*******+:::,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**.............................,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
..................................,:+...........................,,+,..,,....,.:,.....,....,,.,.....,:,,,,,,:,,,,,...,.:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
................,..................,+...........................,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,,,,,,,:,,,,,,,,,,...,,,,,,,:*,,,,+::,,:,+:,,,,,:,,,,,,,:,,::,,+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
:::::::+::::::::+,,,,,,,,,,,,,:::::++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::,:::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+::::::::::::::::::::::::::+::*::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::::::+:::+++++:+:*:,:+::,:::+:::+++,,::++++++++++++++++++:++++++:::::::::::+++:::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++::::++++++++:::+*+::::++++++++++::++++++++::++++++++++::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::,,,,::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::,,::::::::::::::::::::::,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::::,,,,,,::::::,,,,,,::::::::::::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::,,::::,,,,::::::::,,,,::::::::::::,,,,::::::::::,,,,,,,,,,::,,,,,,,,,,,,,:::,,,,::,,:::::::::::::::::::::::
::::::,,::::,,,,:::::::::,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::,,,,,,,,,,,,,,,,::,,::,,,.,,,,,,:::::::::::::::::::::::::::::+**#
::::::::::::::::::::::::::::::,::::,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::::::::,,:::::#*****#*##
::::::::::::++::++++::::::::::++++++++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,:::,,,,,,::++***+::,,::,,,,,,,,:::
:::::::::::::+::++++++++++***+++:::+:++++:++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,,,,:+:,:::::::,,,,,,,,,,#,,,,
::::::::::::::::+*+++++++++******+++++**++*:+:::::::::::::::::,,,,,,,,::,,,,,,,,,,::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,:++++::::**##***+:::::::::::
::::::::::::::::::::::::::++******++++++**++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,++++++****#***##**::::::+++
++****++++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,:++++:+***#****##*+:::::::::
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++******++******++++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:,::::::::++****##++::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**.............................,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....:,....:.....:.....:.....:,...
..................................,:+...........................,,+,..,,......:,.....,....,,.,.....,:,,,,,,:,,,,,.....:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,::,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,,,::,,,,,,,,..,,,,,,,:*,,,::::,,:,+:,,,,,:,,,,,,,:,,::,,+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,::::::::::::::+,,,,,,,,,,,,,::,,:++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::,:::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+::::::::::::::::::::::::::+::*::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,::::::+:::+++++:+:*::::::,:::+:::+++,,::++++++++++++++++++:++++++:::::::::::+++:::+:::::::::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::++++++::::::++++++:::+*+::::++::::++++::++++++++::::++++++++::::::::::::::::::::::::::+::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,::::::::::::::::::::::,,,,,,::,,::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::,,,,::::::::,,,,::::::::,,,,,,::::::::::::::::::::::::,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,::::::::::::::::::::::::,,::::::::::,,,,::::::::::,,,,,,,,,,::,,,,,,,,,,,,::::,,,,::,,,,:::::::::::::::::::::
::::::,,,,::,,,,::::::,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,::,,::,,,.,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::::::::::::++::::::::,,::::::::::::::::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,:,,::,,,,,,,,,,,,::::::::,,,,:::,,,:::
:::::::::++++++++++++++++:++:+**++++:+++::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:+***
:::::::::++:::+++++++++++***+++:::::****::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,::::
:::::::::::+,+++++++**************++****++:*::::::::::::::::::,,,,,,,,::::,,,,,,,,::::::::::::::::::::::,,::,,,,::,,,,::::::::::::::,,,,,,,,,,,,,,::,:::::::::*
::::::::::::::::::::::++++********+++++**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,++:::::+**
++***+++++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,,,,,,,,::::::::+++
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++******++++**++++::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,:::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....:.....:,...
..................................,:+,..........................,,+,..,,.....,:,.....,.......,....,.:,,,,,,+,,,,,.,,..:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
................,..................,+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,,,::,,,,,,,...,,,,,,,:*,,,:::::::,+:,,,,,:,,,,,,,:,,::::+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,::::,:::::::::+,,,,,,,,,,,,,::,,,++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::+::*::::+:::,::*+::::::::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,::::::::::+++++:+:*:,::::,:::+:::+++,,::+++++++++++++++++++++++++:++::::::::+++:::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::::::++++++::::::++++++::::*+::++::::::::::::++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,::,,::::::::::::::,,,,::,,,,::,,,,,,::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::,,,,,,::::::::,,::::::::,,,,,,,,::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,::,,,,,,::,,::::::::::::::,,::,,,,,,,,,,,,::::::::,,,,,,,,,,,,::,,,,,,,,,,,,::::,,,,::,,,,,,::::::::::::,,:::::
::::::,,,,,,,:,:::::::,:::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,::::::,,,,,,,,,,,,::,,::,,,.,,,,,,:::::::::::::::::::::::::::::::::
::::::::::::++++++::::++::::::::,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,,,,,::::,,:::::::::::::::
::::::::++++++++++++++++::+::+**++::++++::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::++:+:+++++++++*******+::,+::****,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::+:+*++++**********************++*+::::::::::::::::,,,,,,,,::::::::,,,,,,::::::::::::::::::::::::::,,,,,,::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,:
::::::::::::::::++++++++********++++::**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,::::::::::,,,,,,,,,,,,+
++***+++++++++****++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,:
****++++++**++++++++++++++***+++++++**++++++++++++++++**++++++++****++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........,,....,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,.............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*.........................................................,..................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
..................................,:+,..........................,,+,..,,......:,.....,.......,....,.:,,,,,,+,,,,,.,,..:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,:,,,:,+:,,,,+:::,,+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,:,::::,,,,,,..,,,,,,,:*,,,:::::::,+:,,,,,:,,,,,,,:,,::::+:::,,:+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,::::::::::::+:,,,,,,,,,,,,::,,:++:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+::+::::+:::,::*+:::::+::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::,,::::::::::+++++:+:*:,:++,,::+::::+++::::++++++++++++:++++++++++++:++::::::::+++:::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::::::++++++::::::::++++::++*+::++::::::::::::++++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::,,,,::::::,,,,::,,,,::::::::::::::::::,,::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::,,,,,,,,::::::,,::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,:::,,,,::,,,,,,:::::::::::::::::::
::::::,,,,,,::::::++::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::,,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::::++++++:::+++::::::,,,:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:,,,,,,::::::,,,,,,::::::,,,,,,::,,:::
:::::::+++++++++++++++++++::++*+*+:++:++::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,:,,,,,,,,,,,,,,::,,,,,,,,,,,,,
:::::::+++::++++************++::,+,:****,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,::::::::::::::::,
:::::::::+,:**++++**********************++*+::::::::::::::::,,,,,,,,::::::::,,,,,,::::::::::::::::::::::::::,,,,::::::::::::::::::::,,,,::,,,,::::::::::::,,::,
::::::::::::::::++++********+*++::::++**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::,,,,,,,,,,,
++***+++++++++****++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
****++++++**++++++++++++++***+++++++**++++++++++++++++**++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,.......................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*.........................................................,..................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
..................................,:+,..........................,,+,..,,......:,.....,.......,....,.:,,,,,,+,,,,,.....:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,:,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,:,::::,,,,,...,,,,,,,:*,,,:::::::,+:,,,,,:,,,,,,,:,,::::+::::::+::::,::::,+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,::::::::::::+:,,,,,,,,,,,,::,,,:+:::::::::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::::::::::::::+::*::::+:::,::*+:::::+::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,:::::::::++++++:+:*:,:::,,::+::::++:,,::++++++++++++:++++++++++++:++::::::::+++:::+:::::+:::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::::::::::::++::::::::++++::::*+::++::::::::::::::++++++::::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::,,,,,,::::,,,,::,,,,::,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,::::::::::,,,,:::::
::::::,,,,,,::::::::+:::::::,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::++++++++:::::::::::::,,:::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,::,,,,,,,,,,::::::::,,,,:::
::::::++++++++++++++++++++++:+*+*+++::+:,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,::::::::::,:,
::::::++*::+++********+*******::,:::****.,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,:::::::::::::::::::::
::::::::+:,++***************************+**+::::::::::::::::::,,,,,,::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::,,:
::::::::::::::::++**********++++++::++**++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::,,,,,,,,,,,
++***+++++++++****++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
****++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,.......................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,.................................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*............................................................................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
..................................,:+,..........................,,*...,,......:,.....,....,,.,....,.:,,,,,,:,,,,,.,,,.:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. .........,.*.,,,,,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,:+,.,,,,,:,::::,,,,,,..,,,,,,,:*,,,:::::::,*+,,,,,:,,,,,,:,,,::,,+::::::+::::,::::,+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,::::::::::::+:,,,,,,,,,,,,,,,,,:+::::::::::::::::::::::::::,::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::::::::::::::+::+::::+:::,::*+::::::::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,:::::::::++++++:+:*:,:::,,::+::::++:::::++++++++++++:++++++++++++:++++::::::+++:::+:::::+:::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::::::++++::::*+::++::::::::::::::::++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,::,,::::,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::::::,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,:,,,:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,::,,,,::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,,,,,::::::,,,,:::
::::::,,,,,,::++++::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,::::::::::,,,,:::::::::::::::::
::::::::::++::++++:::+::::::,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::,,,,::::::,,,,,,:::::::::::
:::::+++++++++++++++++++++:+++*+*++++:+:,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::::,,:::
:::::+**:::*++********+*****+++:::,:****,,,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::::::,+:*****************************+**+::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
::::::::::::::++**************++++++++**+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::,,,,,,,,,,,
++***+++++++++****++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
****++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,....,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,........................................
...................................+*.............................*........................................,......,,..,.....:,....:,....:.....:.....,.....:,...
...................................:+,..........................,,*...,,......:,.....,.......,....,.:,,,,,,+,,,,,.,,..:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
......,............................,+................. ....... .,.*.,,,,,,,,,,+,....,,,,,,,,.,,,..,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,:+,.,,,,,:,::::,,,,,,..,,,,,,,:*,,,:::::::,*+,,,,,:,,,,,,:,,,::::+::::::+::::,::::,+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:,,::::::+:::,,,,,,,,,,,,,,,:::,,:::::::::::::::::::::::,::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::::::::::::::+::+::::*:::,::*+:::::+::::,:::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::+++++++:*:,::+:,::+::::++::::+::++++++++++:++++++++++++:::+++:::::+++:::+:::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++::+++:::++++::::::::::::::::++++::++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::,,::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::,,::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::::::::::,,,,::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,,,,,,,,,,,,,,,::::,
::::,,,,,,::::++++::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,::::::::,,,,:::::
:::::::::+++::++++:::+::::::,,:,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::,,,,,,:::::
::::++*+++++++++++++++++++::++*++++++++::,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,,::::,,,,,,::::,
::::***+::+******************+++:.,,+***+,,:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
::::::++:,********************+*************:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::++++++********++++******++++++***+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::,,,,,,,,,
++***+++++++++****++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,,,.............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*.............................*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
...................................:+...........................,,*...,,......,,.....,.......,....,.:,..,,,+,,,,,.,,..:,....:,,,,,:,,,,,+,,,,,+,,,,,:,,,,,:,,,,
......,............................,+................. ....... .,.*.,,,,,,,,,,+,....,,,,,,,,.,,,..,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,::,.,,,,,:,::,,,,,,,,..,,,,,,,:+,,,:::::::,*+,,,,,:,,,,,,:,,,::::+::::::+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:,,::::::+:::,,,,,,,,,,,,,,,:::,,,:::::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::::::::::::::+::+::::+::::::*+:::::+::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::+++++++:*:,::::,::+::::++:::::::++++++++++:++++++++++++:::::::::::+++:::+:::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::+++::++++++++++:::::::::::::::::::::::+::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,::,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::,,::::::,,,,::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,:::
::::::,,,,::::++++++:::::::::,,,,,::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,:::
::::::,::+++::+++++++++::::,,,:,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::::::::::::,,,,,,:::
::::++*+++++++++++++++++++::+++++*++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,
:::+***++:+******************+++,,:::***+,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
:::,:++,:,******************#***************:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++++************++*****+++++++++++*+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
++***+++++++****++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..,,...........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,....,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*.........................................................,..................................
...................................+*.............................*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
...................................:+...........................,,*...,,......,,.....,.......,.....,:,..,,,:,,,,,.,,..:,....:,,,,,:,,,,,:,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. ....... .,.*.,,,:,,,,,,+,....,,,,,,,,.,,,....:,::,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,::,.,,,,,,,,,,,,,,,,,..,,,,,,,:+,,,:::::::,*+,,,,,:,,,,,,:,,,::::+::::::+::::,::::,+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:,,::::::+:::,,,,,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::+::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::,:::,,::::::::::+++:+++:*:,::::,::+::::++:::::::::++++++++:++++++*+++++:::::::::::+++:::+:::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::++::++++::++++:::::::::::::::::::::::+::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,:::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,::,,,,,,,,,,,,,:,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:
::::,,,,,:::::++++++::++:::::,,,,,::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,
:::::::::+++++++++++++:++::,,,,,::,:::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,
::::++*+++++++++++++++++++::+*++:++++:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::,,,,,,,,,,,
::,+***++:+******************++++:,:++****,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::
:::,:+*:,:**********************************+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++******++++**##********:+++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
++***+++++++****++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,..,,.........................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*..,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*.........................................................,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....:.....:....
...................................:+,..........................,,*...,,......:,.....,.......,.....,:,..,,,:,,,,,.,,..:,....:,,,,,:,,,,,:,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. ....... .,.*.,,,:,,,,,,+,....,,,,,,,,.,,,....:,::,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::,,+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,::,.,,,,,:,,,,,,,,,,,..,,,,,,,:+,,,:::::::,*+,,,,,:,,,,,,:,,,::::+::::::+::::,::::,+::::,+:::,:+:::::+:::::+:::::+:::::+:,:+
,,,,,,,:,,::::::+:::,,,,,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::+::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::+:::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::,:::,,::::::::::+++:+++:*:,::::,::+::::++:::::::::++++++++:++++++*+++++:+:::::::::+++:::+:::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::++++::++::::::++::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::,,,,::::++++++:::::::::,,,,,::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,::::::,,,
::::::::::+++++++++:**+:+::,,,,,::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,
::,:++#*****++++++++++++++:::***++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::,,,,,,,
::,+***++++*****************#***+:::::****+,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
:::::++,::*********************+**************:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::+*****++++++***#**#******+++++++:+++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::,,,
++***+++++++******++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,..........,,...................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,...................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,...................................................................................................................
,,,,,,,,............,,,,,,..,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,...........................*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*,,,,,,.....................................................................................................................
,,,,...............................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*.........................................................,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
...................................:+,..........................,,*...,,......,,.....,.......,.....,:,,,,,,:,,,,,.,,..:,....:,,,,,:,,,,,:,,,,,+,,,,,:,,,,,:,,,,
...................................,+................. ....... .,.*.,,,:,,,,,,+,....,,,,,,,,.,,,....:,::,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,::,.,,,,,:,,,::,,,,,,..,,,,,,,:+,,,:::::::,*+,,,,,:,,,,,,,:,,::::+::::::+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:,:+
,,,,,,,:,,::::::+:::,,,,,,,,,,,,,,,:::,,:::,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+:::::,::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::+::::+::::::++::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::,,::::::::::++++++++*::::::,::+::::++:::::::::++::::++:+++::+++++++:::::::::::::::::+:::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::++++::++::::::++::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,
::::::,,,,::::++++++::::+:::::,,,,::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,::::,
::::::,:,:*+++++++*+++*::::,,,::,:::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,,,,,,,,::::::::::::::::,,,,,,,,,,,
::::++**+***++++++++++*+++::++**++:++++:::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::::::::::::::::::::::::,,,
::,+****::+*********************++:,::+****:,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
:::,:+*::,+***********************************+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::+++*****::::+++***##********:+++++::::+:++::::::::::::::++::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
++****++++++++****++++++++++::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,................,,,,,,,,,,.*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,..................,,......,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*..............................................,....,.....,..................................
..................................,+*............................,*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
..................................,:+,..........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,.,,..:,,,..:,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,:................. .........,.*.,,,:,,,,,,+,,,..,,,,,,,,.,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,::,,,,,:,:,,,,,,,,,,,,,,,,,,,,:*,,,,+:::::,*+,,,,,:,,,,::,:,,::,,:,:::::+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:,:+
,,,,,,,:::::::::+:::,,,,,,,,,,,,,,,::::::::,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+::+::::+::::::*+::::::::::::::::::::+::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::,:::,,::::::::::+++++:++*:,::::,::+::::++:::::++::::::::+::::::::+::++::::::::::::::::::+:::::::::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++::++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::,,,,,,::::::,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::,,,,,,:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,
:::::::::::::::+****++::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,,,,
:::::::::::+++++*++++:++*::+:,,,,,::::::::::::::::++::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,::::::::::::::::::::::::::::,
::::+++*****+++++++++++**+++::++**++:+++::::::::::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::,****#:#+**********************+*::::++++*+,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::,,,::::::::::::::::::::::::::::::::::::::::::
:::::+**::,:************************************+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::
::++++++****#++++++*####****#****#:+++++++++*+::::::::::::::++::::::::::::++::::::::::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++****++++++******++++++++++::::::::++++++*+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,................,,......,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*..............................................,....,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
..................................,:+...........................,,*...,,......,,....,,....,,.,.....,,.,,,,,:,,,,,.,,..:,,,..:,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
................,..................,:................. .........,.*.,,,:,,,,,,+,....,,,,,....,,,,,,,:,,,,,,+,,,,,,:::,:,:::,+,,,:,+:,,,,+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,.,+,,,,,,,,,,,,,,,,,,::,,,,,:,:,,,,,,,,,,,,,,,,,,,,:*,,,,+:::::,*+,,,,,:,,::::::,,,:,,:,:::::+::::,:::::+::::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:::::::::+:::,,,,,,,,,,,,,,,:::,,:::,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+::+::::+::::::*+::::::::::::,::::::::::::::+::::::::::+:::::::::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::,:::,,::::::::::::::++++*:,::::,::+::::++::::::::::::::::::::::::+::++::::::::::::::::::::::::::::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,:::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::,,,,,,,
::::::::,,::::::++**++++::++::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,::::::::::::::::::::::,,,,,
::::::::,:::**+++*++*++++*:::,,,,:::::::::::::::::++::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::::::::::::::::::::::::::
:::::++*#+**+++++++++++++*++:+++***++++++:::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::,,******:**+****************##**++++::++++++++,:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,::::::::::::::::::::::::::::::::::::::::::
::::,+***,::+**********************+************+*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::
:::::::++*+*#*++++***##***++******#++++++++*****++::::::::::++::::::::::::++::::::::++++++++++++++++::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::
++****++++++********++++++::::::::++*********+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,.............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*..............................................,....,.....,..................................
...................................+*............................,*........................................,..........,.....:,....,.....:.....:.....,.....:....
..................................,,+...........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,.,,..:,,,..:,,,,,+,,,,,+,,,,,+,,,,,+,,,,,:,,,,
...................................,:................. .........,.*.,,,:,,,,,,+,....,,,,,....,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,+,,,:,+:,,,,+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,::,,,,,:,:,,,,,,,,,,,,,,,,,,,,:*,,,,+:::::,*+,,,,,:,,::::::,,,:,,:,:::::+::::,:::::+::::,+:::::+:::::+:::::+:::::+:::::+:::+
,,,,,,,:::::::::+:::,,,,,,,,,,,,,,,:::,,:::,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::+::::::+::::,:::::::::::+:::,:+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+::*::::+::::::*+::::::::::::,:::::::+:::::::::::::::::+:::::::::::::::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,:::,,::::::::::::::+++:*:,::::,::+:::::+::::+:::::::::::::::::::+::+++:+:::::::::::::::::::::::::::+:::::+:::++++:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,,,,
:::::::::::::::::+******+:::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::::::::,,,
:::::::::::::*++++**++++++*+::,,:,,,::::::::::::::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::::::::::::::::::::::::::
::::::+++#**++++++++++++++**++++:+**++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::
:::::******:********************##*+++:+::::+++*+:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,+***,,+**********************#+**+*********+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::
:::::::::+*+**#*+****###**+++******#+**********#**++::::::::++++::::::::::::::::::::++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++****++++++********++++++::::::::++++**********++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::,,,,
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,.............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*.............................*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
..................................,,+...........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,.,,..:,,,..:,,,,,+,,,,,:,,,,,+,,,,,+,,,,,:,,,,
...................................,:................. .........,.*.,,,:,,,,,,+,....,,,,,....,,,,,,,:,,,,,,+,,,,,,:::::,,,:,+,,,:,+:,,,,+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,:*,,,:::::::,*+,,,,,:,,:::::,,,,:,,+::::::+:::::::::::,:::,+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:,,::,,::+:::::,,,,,,,,,,,,,:::,,:::,::::::::::::::::::::::*::::+::::::*+:::::::::::::::::::::::::::+::::,:::::::::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::::::::+::*::::+::::::*+::::::::::::::::::::::::::::::::::::::+:::::::::::::::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::::::::::::::+++:*::::::,::+:::::+::::+::::+++::::::::::::+::+++:::::+:::::::::::::::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::,,,,,
::::::::::::::::::++*****+::+:::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::::::::::,
::::::::::::::*++++*+++++*+*:+::::,,,,::::::::::::++::::::::++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::::::::::::::::::::::::::
::::,::++*#+****++++*++++++*++::+++*****++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::,,****#*+*#+******************#*++++::++++++**+:::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::***#,:+*#****************#*****+*++**++***++*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::
::::::::::+*.+******####***+******##*#*******+####**::::::::++++::::::::::::::++::++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++****++++++********++++++::::::::++*+*******#**++++::::::::::::::::::::::::::::::::::::::::::::::++::::::::++++::::::::::::::::::::::::::::::::::::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++**++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,..,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,........................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,.............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*...................................................,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
..................................,,+...........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,,,,,.:,....:,,,,,:,,,,,:,,,,,+,,,,,:,,,,,:,,,,
..................................,,:................. .........,.*.,,,:,,,,,,+,....,,,,,....,,,,,,,:,,,,,,+,,,,,,:::,:,,,:,:,,,:,+:,,::+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,.,:,,,,,:,:,,,,,:,,,,,,,,,,,,,,:*,,,,+:::::,*+,,,,::,,::::,:,,,:,,+:::,,:+:::::::::::,::,:+:::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:,,::,,::+:::::,,,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*+:::::::::::::::::::,:::::::+::::,:::::::::,:+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::::::::+::+::::+::::::*+:::::+::::::,:::::::::::::::::::::::::+:::::::::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::::::::::::::+++:*::::::,::+:::::+::::+::::::+::::::::::::+::::::+:::+:::::::::::::::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,:::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::,
:::::::::::::::::::+******+:++::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,::::::::::::::::::::::::::,
::::::::::::,::+++++****++++*+++:,,,:,,:::::::::::++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::::::::::::::::::::::::::
::::::::*+******+++++++++++++*++::+++**+++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::,,,******++#**********************++++:+:::::++*::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,:::****,.++******########********#*+*++++++++**++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::
::::::::::++*::*#***####****++****#*##**********#*****::::::++++::::::::::::::++++++++++++++++++++++++::::::::::::::++::::::::::::::::::::::::::::::::::******#
++****++++++********++++++::::::++++********++*#**++::::::::::::::::::::::::::::::::::::::::::::::++::::::::++++::::++::::::::::::::::::::::::::+:++*#########*
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++**++++++++**++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*######*********
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,......................,,,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,.............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+..............................................,....,.....,..................................
...................................+*............................,*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
...................................::,..........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,,,,,.:,..,.:,,,,,:,,,,,+,,,,,+,,,,,+,,,,,:,,,,
..................................,,:................. .........,.*.,,,:,,,,,,+,....,,,,,,,,.,,,,,,,:,,,,,:+,,,,,,:::::,,,:::,,,,:+:,,::+:::::+,,,,,+,,,,,:,,,,
,,,,,,,:,,,,,,,,+,,,,,,,,,,,,,,,,,.,:,,,,,:,:,,,,,,,,,.,,,,,,,,,,:*,,,:::::::,*+,,,,::,,,,,,,:,,,:,,:,:::::+:::::::::::,::,::,::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,:,,::,,::::::::,,,,,,,,,,,,,:::,,:::,::::::::::::::::::::::*::::+::::::*+:::::::::::::::::::,:::::::+::::,:::::::::,:+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::::::::+::+::::+::::::*+::::++::::::::::::::::::::::::::::::::+:::::::::::+:::::::::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::::::::::::::++++*,,::::,::+:::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::
::::::::::::::,,::::::********:+::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::++**+++***++:+++:+::::,,,,:::::::+++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::::::::::::::::::::::::
::::::::::+++*#++++++++++++++++**+:+++++****++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::::::::::::::::::::::::::::::::::::
::::::::,:****#*:+********************##*+++++++:+::++*+::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::**##########**+::::::::::::::::::::::::::::::::::::
::::::::,:*#***::+:******************#*******++*++++++++::::::::::::::::::::::::::::::::::::::+++++*++**************++::::::::::,,,,,,,,::++::++++++:::::::::::
::::::::::::::*+::****###*****++******#####*#**#*****##**++:++++++::::::::++::::++++**##############################********++*++***************####*+:::::::::
++****++++++**********++++::::::++++**###*++++++:+##*:::::::::::::::::::::::::+**############***######################*###**+:::*##*++++++++++*###########*+,::
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++**++++++**+**####*********+*****################**####**+,,.......:*****#**+++#################
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,................,,......,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,.............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+..............................................,....,.....,..................................
..................................,+*............................,*........................................,......,,..,.....,.....,.....:.....:.....,.....:....
...................................::,..........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,,,,,.:,,,,,:,,,,,:,,,,,:,,,,,+,,,,,:,,,,,:,,,,
................,..................,:................. .........,.*.,,,:,,,,,,+,..,,,,,,,,,,.,,,....:,,,,,,+,,,,,,:::::,,,,::,,,:,+:,,::+:::::+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,,:,:,,,,,,,,,,,,,,,,,,,,:*,,,:::::::,*+,,,,::,,,,,,,:,,:::,:,::,,:+:::::::::::,::,::,::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::::::::::::::,:::::::::,:+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::,::::::::::::::::::::::::::::+::+::::+::::::*+:::::+::::::::::::::::::::::::::::::::+:::::::::::+:::::+:::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::++::::::::+++++:*:::+:,,::::::::+::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::
::::::::::::::,,,,,,:::+*******+::++::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::++*++++***++:*+*+::,,,,,,,+:++++++::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::::::::::::::::::::::::
::::::::::::*++#*****+++++++++++***+::++++**+*++++::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::*****#+:*********************#**+**:+:+:++++**+::::::::::,,:,,:++*#############*+,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::****,+:,*#****##**********#*****************++::++**********************++++::::::::::,,::++++++++++++++++++::::::::::::::::::::::::++++++:::::::::
:::::::::::::::+#,*:####***************######***##+#***###########################**##*******++++****************###**+:+::::::::::::::::::::::::::::::::::::::
++****++++++**********++++::::+:++++++****#*+++++*######***#########################***#*#+,...,+*#**+++********############*+++::::::::::::::++++::+:::::::,,,
****++++++****++++++++++++***+++++++**++++++**####****************##############**#####+,.......,:*****##**+++*##################*+:::::::::::::::::::,,::,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+..............................................,....,.....,..................................
..................................,:*............................,*........................................,......,,..,.....:,....,.....:.....:.....,.....:....
...................................::,..........................,,*...,,....,.:,....,,....,,.,.....,:,,,,,,:,,,,,,,,,.:,..,.:,,,,,:,,,,,:.,,,,+,,,,,:,,,,,:,,,,
...................................,:................. .........,.*.,,,:,,,,,,+,..,,,,,,,,,,.,,,....:,,,,,,+,,,,,,:::::,,,,::,,,:,+:,,::+:::::+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,,,,:,,,,,,,,,..,,,,,,,,,:*,,,,+:::::,*+,,,,::,,,,,,,:,,:::::,::,,,:,,,,:::::::,::,::,::,:+:::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*+::::::::::::::::::::::::::::::::::::::::::,:+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,::::::::::::::::::::::::::::+::+::::*::::::*+:::::+::::::::::::::::::::::::::::::::+:::::::::::+:::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::::::::::::+++++:*:,:::,,::::::::+:::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::+:::::+:::++++++:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::
::::::::::::::,,,,:::::::+*******+::::::::::::::::::::::::::::::::::::::,,,,::::::,,,,,,,,::::::::,,,,::,,,,,,,,,,::,,,,,:,,,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::::+*++++****++**+++::::,,,,+:++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::::::::::::::::::::::::
::::::::::::,:+++#+*+++++++++++++++**+:+::++**+*++::,:::::::,,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::*****#++************************################*+:::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::**#**::*+#*******************************++++++:::::::::+++********++++::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::++++++:::::::::
:::::::::::::::::++,:+#**###############################*******++++****************#####**++++++++++++++::++++::::++++:::::::::::::::::::::::::::::::::::::::::
++****++++++*********###########*#################*******#*:.   ,:**#*++++********############**+:++::::::::++++++:::+::::::::::::::::::::::::++++::::::::::,,,
****++++++*******####***************##############**##*#:,..,,....+#*****##*+++**###################*+::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,................,,......,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*..............................................,....,.....,..................................
...................................:*............................,*........................................,......,,..,.....,.....,.....:.....:.....,.....:....
...................................::,..........................,,*...,,......:,....,,....,,.,.....,:,,,,,,:,,,,,,,,,.:,..,.:,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
..................................,,:................. .........,.*.,,,:,,,,,,+,,,,,,,,,,,,,.,,,,,.,:,,,,,,+,,,,,,:::::,,,,::,,,,:+:,,::+:::::+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,..,,,,,,,,,:*,,,,+:::::,*+,,,,::,,,,,,,:,,,,:,:,::,,,:,,,,:::::::,::,::,::::+:::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*::::::+::::::::::::::::::::::::::::::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,::::::::::::::::::::::::::::+::+::::+::::+:*+:::::+::::::::::::::::::::::::::::::::+:::::::::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::++::::::::+++++:*:,:::,,::::::::+:::::++::++:::::::::::::+::::::::::++::::::::::::::::::::::+:::::+:::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::::::,,,,,,::::::*******+::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,::::::::,,,,::::,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::*++++****++++*++:,,,,,::++++::::::++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::++++#++*++++*++::::+++++::::::+***+*+::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::,:::**###################***++*++*##*+++++:::+++++**::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::
:++************************+++++:::::+++*****###************+*++::::::::::::::::::::::::::::::::::++++::::::++++++++++++::::::::::::::::::::::++++++++:::::::::
############################********+++****************#######**++++++++++::::++++++++++++++++++++++++++::++++::::++++:::::::::::::::::::::::::::::::::::::::::
********############********#*,.....:***#*+++*********#############*::::::::::++++++::::++++++++::++::::::::++++++:::+++::::::::::::::::::::++++++++::::::::,,,
*********#############*####+.......,:***#***##**++***###################******++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,......................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,,...........................................................................................
..................................,**.............................+............................................................................................
...................................**.............................*..............................................,....,........................................
...................................:*.............................*........................................,......,,..,.....,.....,.....:.....:.....:.....:....
...................................::,..........................,,*...,,......:,.....,,,,,,,.,.....,:,,,,,,:,,,,,,,,..:,..,.:,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
...................................,:...........................,.*.,,,:,,,,,,+,,,,,,,,,,,,,.,,,,,,,:,,,,,,:,,,,,,:::::,,,:::,,,,:+:,,,,+:::::+,,,,,:,,,,,:,,,,
,,,,,,,:,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,..,,,,,,,,,:*,,,:::::::,*+,,,,::,,,,,,,:,,,:,:::::,,,:,,,,::::,::,::,::,::::::::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,::::::::::::,,,,,,,,,,,:::,,,,:,::::::::::::::::::::::*::::+::::::*::::::+::::::::::::::::::::::::::::::::::::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::::::::::::::::::::::::+::+::::+::::::++:::::+::::::::::::::::::::::::::::::::+:::::::::::+:::::+:::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::::::::::::::+++:*:,:::,,::::::::+:::::++::+++::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::++++::+
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::::,,,,,,,,::::::::+******+::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,::::::,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::::::::+*+++:*++++++:+*:::::::::*+::::::++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:::::::::::::::::::::::::::::::::::::::
::::::++++++::,,::+++*++++++++*++++++++***++::++***++++:+:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
##########+:::::+*****##*#********************###*+**++:++++:+**+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::++++:::::::::
**++++:::+****************##*****#######****###*###*************++::::::::::::::::::::::::::::::::++++::::::++++++++++++::::::::::::::::::::::++++++++:::::::::
##********+++***************#######***+****##**##########+**##**#*:+++++++++:+++++++++++++++++++++++++++::++++::::++::::++::::::::::::::::::++::::::::::::::::,
**,......:**##**++*********#############**++++*###+:::++++####::::::::::::::::++++++::::++++++++::++++::::::++++++:::+++::::::::::::::::::::::::++++::::::::,,,
:,,,,,::+##*******#**++***####################**++++++****++++++**************++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
..................................,**.............................+............................................................................................
...................................**.............................+..............................................,....,........................................
..................................,:+.............................*........................................,......,,..,.....,.....,.....:.....:.....:.....:....
...................................::,..........................,,*...,,......:,.....,..,,,,.,......:,,,,,,:,,,,,,,,..:,..,.:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
...................................,:...........................,.*.,,,:,,,,,,+,,,..,,,,,,,,.,,,,,,,,,,,,,,:,,,,,,:::::,,,,::,,,,:+:,,,,+::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,:+,,,:::::::,*+,,,,::,,,,,,,:,,,::,::,,,,,:,,,,:::::,:,::,::,::,:::::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,,,,,:,::::::,,,,,,,,,,,,:,,,,,:,:::::::::::,:::::::,::*::::+::::::*::::::+::::::::::::::::::::::::::,:::::+:::::+:::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::::+::::::+::::::+::::::::::::::::::::::::::::::::+:::::::::::+:::::::::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,:::::::::::::::++:*,,:+::,::+::::::::::+++::++::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::+++++++
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+:::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::,,,,,,,,,,:::::::::::::+*******+::::::::++::::::::::::::::::::::::::::,,,,,,,,,,::::::,,,:::,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::+:*::+:**+++:+++*:+:,,,::,:++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::,,:::::::::::::::::::::::::::::
::::::::::::::::::::::+++*#++*++++++++++++++***+:+++:+***++++:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::+********++********************##****++:++::::+++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++++:::::::::
::::::::::::::::::::+**#*#*:::+*****####****#####*###*###*******++**++++::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++++++:::::::
::::::::::::::::::::::::++*,*,+#*+**********########*####*##*##*#+###***++++++++++++++++++++++++++++++++::++++::::++::::++::::::::::::::::::++::::::::::::::::,
++****++++**********++++++++++++++++++**#*+++++++++:**##++:::::*###*::::::++++++++++::++++++++++++++++::::::++++++:::+++++::::::::::::::::::++::++::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++**++++******++++++++************++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,................,,......,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
...................................+*.............................+..............................................,.............................................
...................................:+.............................*........................................,......,,..,.....,.....,.....:.....:.....:.....:....
....,,.............................::,..........................,,*...,,......:,.....,,,,,,,.,......:,,,,,,:,,,,,,,,..:,..,.:,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
...................................,:...........................,.*.,,,:,,,,,,+,,,..,,,,,,,,.,,,,,,,,,,,,,,:,,,,,,:::::,,,,::,,,,:+:,,,,+::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,:+,,,:::::::,*+,,,,::,,,,,,,:,,,,:,::,,,,,:,,,,::::,::,::,::,::::::::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,,,,,:,::::::,,,,,,,,,,,,:,,,,,:,::,,:::::::,:::::::,::*::::+::::::*::::::+:::::::::::::::::::::::::::,::::+:::::::::::+:::::+:::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::::+::::::+::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,:::::::::::::::++:*,,:+::,::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::++++::+
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+:::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::,,,,,,,,,,:::::::::::::::+********+:::::::::::::::::::::::::,,::::::::,,,,,,,,,,::::::,,,:::,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::++:*+++:*++++:+++*:::::,,:,++++::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::,,:::::::::::::::::::::::::::::
:::::::::::::::::::::::::+++**++++++++*+++++++++**++::+++****++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::******##*+**********************#*+***+::*:,+:**++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::++++++:::::::
::::::::::::::::::::::::*#***++,:*#*****########****####***#***++****+**+:::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::++++++++++++++:::::
:::::::::::::::::::::::::++++#,+*:************######***######***####********++++++++++++++++++++++++++++::++++::::++::::++::::::::::::::::::++::::::::::::::::,
++****++++**********++++++++++++**+:++::+*##*+++++++::+*###*::::::#####:::::++++++++::++++++++::++++++::::::++++++::++++++::::::::::::::++++++::::::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++++++++****++++++++**************++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..................,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
..................................,+*.............................+..............................................,.............................................
..................................,:+.............................*........................................,......,,..,.....,.....,.....:.....,.....:.....:....
....,,.............................::,..........................,,*...,,......:,....,,..,,,,.,......:,,,,,,:,,,,,,,,..:,,,,.:,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
...................................,,,..........................,.*.,,,,,,,,,,+,,,..,,,,,,,,.,,,,,,,,,,,,,,:,,,,,,:::::,,,,::,,,,:+:,,,,+::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,,+,,,:::::::,*+,,,,::,,,,,,,:,,,,:,::::,,,:,,,,::::,::,::,::,::::::::::+:::::+:::::+:::::+:::+
,,,,,,,,,,,,,,,,:,::::::,,,,,,,,,,,,:,,,,,:,:,,,:::::::,:::::::,::+::::+::::::*::::::+:::::::::::::::,::::::::::::::::::::::::::::+:::::+:::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::::+::::::+::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,::::::::::::::+:+:*:::+::,::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::++++::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::+++:::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::+:::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::
::::::::::::,,,,,,,,:::::::::::::::::::::+****++*+::::::::::++::::::::::,,::::::::,,,,,,,,,,::::::,,,:::,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::++:++*::+:*+++++++*+:+:,,,::::+:::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::,,:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::+++#*++++++++++++++++++***+:++++***+*+::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::+*****#***++********************###*+++++:+:,::++*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::++++++:::::::
::::::::::::::::::::::::::+*****:*+:*#****##****####****###***##*****+**++*++:::::::::::::::::::::++::::::::++++++++++++::::::::::::::::::::::++++++++++++++:::
::::::::::::::::::::::::::::++++*:::+#************########*#####*#*###**+*###**:++++++++++++++++++++++++::++++::::++::::++::::::::::::::::::++::::::::::::::::,
++****++++********++**++++::++++++****:::::*###*++++::++++**###+++:::*##*#++++::++++::++++++++++++++++::++++++++++++++++++::::::::++::::++++++::::::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++++************++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
...................................:*............................,+..............................................,.............................................
...................................:+.............................*........................................,......,,..,.....,.....,.....:.....,.....:.....:....
....,,............................,::...........................,,*...,,......,,....,,..,,,,.,......,.,,,,,:,,,,,,,,..:,,,,.:,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
...................................,,,..........................,.+.,,,,,,,,,,+,,,..,,,,,,,,.,,,,,,,,,,,,,,:,,,,,,:::::,,,,::,,,,:+:,,::+::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,,+,,,,::::::,*+,,,,::,,,,::,:,,,,:,::::,,,:,,,,:::::::,::,::,,,::::::::+:::::+:::::::::::+:::+
,,,,,,,,,,,,,,,,:,::::::,,,,,,,,,,,,:,,,,,:,:,,,:::::::,::::::::::+::::+::::::*::::::+:::::::::::::::,::::::::::::::::::::::::::::+:::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::::+::::::+::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::,,,:::::::::::::::++:+:,::::,::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::+:::::+:::++++::+
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::+:::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,::::::::,,,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::
::::::::::::::,,,,,,,,:::::::::::::::::::::+********++,,::::::::::::::::::::::::,,,,,,,,,,,,::::::,,::::,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::+:++++:++++++:+*+*::,,,,,,,:::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::,,,,++*+****++++++++++++++++***++++++***+*+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::+******###***********************###++++++,*::::+*++:,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::+*#***+*:+*#****###****####*****##***#*+*+*:++++++++:::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::++++++++++++++++:
::::::::::::::::::::::::::::::::+++*:*,*#*####******########*#**####***##*#*+####*++++++++++++++++++++++::++++::::++::::++::::::::::::::::::++::::::::::::::::,
++****++++********++++++++++++::+++***##*:::+++###*+++::++:::+**###+++::+####*++++++::++++++++++::++++::++++++++++++++++++::::::::::::::++++++::+:::::::::::,,,
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++**************++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+............................................................................................
..................................,:+.............................+,.............................................,....,........................................
...................................:+.............................*........................................,......,,..,.....,.....,.....:.....,.....,.....:....
..,,..............................,,:,..........................,,+,..,,......,,....,,..,,,,.,......,.,,,,,:,,,,,,,,..:,,,,,:,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
...................................,:,..........................,.+,,,,,,,,,,,+,,,..,,,,.....,,,,,.,,,,,,,,:,,,,,,:::::,,,,,:,,,,::,,,::+:::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,.,,,,,,,,,,+,,,,::::::,*+,,,,::::::::::,,,,:,::::,,,:,,,,:::::::,,,:::,,,::::::::+:::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,::::::,,,,,,,,,,,,:,,,,,:,:,,,:::::::,::::::::::+::::+::::::*+:::::::::::::::::::::::::::::::::::::::,::::::::::::::::+:::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::::+::::::+::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::,,,:::::::::::::::+::+::::::,::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::+:::::+:::++++::+
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::+:::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::,,:::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::::::::::
::::::::::::::,,,,,,,,,,:::::::::::::::::::::::+****++**+:::,,::::::::::,,::::::::,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::+:*::+++*++++:+++*+:::,,,,,:+:::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::,:+++*#++*++++++++++++++++***++++++***+++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::*******####+*************************++*+++:+:::+**+:,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::+####**+,,++*#**####************####**#*+++++**+::++::::::::::::::::++::::::++++++++++++++::::::::::::::::::::+++++++++++++++++
:::::::::::::::::::::::::::::::::::+++*,#:#*#*##****############***#####***#**#*+***#*++++++++++++++++++::++++::::++::::++::++::::::::::::::++:::::::::::::::::
++****++++********++++++++++++::++++++**####:::::+####++++::::::++*####*****#####***++++++++++++::++++::::++++++++++++++++::::::::::::::++++++::::::::::::::::,
****++++++****++++++++++++***+++++++**++++++++++++++****++++++++**************++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..................,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
..................................,**.............................+,...........................................................................................
...................................:+.............................+,.............................................,....,........................................
...................................::.............................*........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
...................................,:...........................,,+,..,,......,,....,,..,,,,.,......,.,,,,,:,,,,,,,,,.:,,,,,,,,,,,:,,,,,:.,,,,:,,,,,:,,,,,:,,,,
...................................,:,..........................,,+,,,,,,,,,,,+,,,..,,,,,....,,,,,,,,,,,,,,:,,,,,,,,:,:,,,,,:,,,,::,,,,,+::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,,+,,,,::::::,*+,,,,::,,::::,:,,,,:,::::,,::,,,,,::::,:,,,:::,,,::::::::+:::::+:::::::::::+:::+
,,,,,,,,,,,,,,,,:,::::::,:,,,,,,,,,,:,,,,,:,:,,,,,:::::,::::::::::+::::+::::::*+:::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::+:::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::,,,:::::::::::::::+::+::::::,:::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::+:::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::,,::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::,,,,:::::::::::
::::::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::****++****::::::::::::::::::::,,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,,,:,,,:::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::++::++++*+::++*+++++:+**+::,,,,,,:::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::++++*#+*++++++++++++++++++*#*+++**++++++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::+*****+####+*****+*******************+++++++:*+:+**:::,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::::::::::::::::::::::::::::::*******+:::+#****############****###***#***++++*+*+++:,::::::::::::::++++++++++++++::::::::::::::::::::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::++*#:*.*+####################***#*####****#**#+*****++++++++++::++::::++++++::++::::::::::::::::::++:::::::::::::::::
++****++++********++++++++++++::::::::::++++++*####*::::#####***++++++++****##**************++::::++++::::++++++++++++++++::::::::::::::::::++::::::::::::::::,
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++**************++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,......................,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
...................................**.............................+,...........................................................................................
..................................,:+.............................+..............................................,....,........................................
...................................::.............................+,.......................................,......,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,..........................,,+,..,,......,,....,,....,,.,......,.,,,,,:,,,,,,,,,.:,,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
...................................,:,..........................,,+,,,,,,,,,,,+,,,..,,,,,....,,,,,,,,,,,,,,:,,,,,,,,:::,,,,,:,,,,,::,,,,+:::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,,+,,,,::::::,*+,,,,::,,:::::,,,,,:,::::,,::,,,,:,:::,:,,,:::,,,::::,,::+:::::::::::+:::::+:::+
,,,,,,,,,,,,,,,,::::::::,:,,,,,,,,,,:,,,,,:,:,,,,,:::::,:::::::::,+::::+::::::*+:::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,::,,,:::::::::::::::+::+:,::::,:::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::+++++++
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::+:::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,::::::,,::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::,,,,:::::::::::
::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::+:::+******++**+:::::::::::::::,,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++::++::+::+*+::++*+++++:+++*+:,,,,,,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::,:*+++**+*++++++++++++++++***#*+++***+++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::+******###*************************+*++++++::+++++*:::,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::+++
:::::::::::::::::::::::::::::::::::::::::::#****#*:::+******####****####*****##****#*++++:++:++*,:::::::::::++++++++++++++++::::::::::::::::::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::****::,*+#####################*##*#####****#***+*****+++++::++::::++++++::++::::::::::::::::::++:::::::::::::::::
++****++++********++++++++++++::::::::::::::::++++#*###*::,+#####***************##*##***********+:::++::::++++++++++++++++::::::::::::::::::++++:::::::::::::::
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++***************+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::::,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,..........................,*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**............................,,............................................................................................
...................................+*.............................+,...........................................................................................
..................................,:+.............................+,.............................................,....,........................................
..................................,::.............................*........................................,......,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,......................... ,,+,..,,......:,....,,....,,.,......,.,,,,,:,,,,,,,,,.:,,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,...........................,:,..........................,,+,,,,,,,,,,,+,....,,,,,,,,.,,,,,,,,,,,,,,:,,,,,,,,:::,,,,,:,,,,,::,,,,+:::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,:,:,,,,,,,,,,.,,,,,,,,,,+,,,,::::::,*+,,,,,:,,,,,,:,,,,,:,::::,,::,,,,:,:::::,,,:::,,,:::,,,,,+:::::::::::+:::::+:::+
,,,,,,,,,,,,,,,,::,,,:::,:,,,,,,,,,,:,,,,,:,:,,,,,:::::,:::::::::,+:::::::::::*+:::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::+::::+::::::+:::::::::::::,::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,::,,,:::::::::::::::+::+:,::::,:::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::+++++++
,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::,:+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,::,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::,,,,:::::::::::
::::::::::::::::,,,,,,,,::::::::::::::::::::::::::::::::::::+++*****++**+:::,,::::::,,,,,,,,,,::,,,,::,,,,,,,,,,,,,,,,,,,:,,,,::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++::::++++::::::+::+*+::++*++++++:*+++:,,,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++**+*++++++++++++++*****#**++****++:+::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::+******###**************************+++++++++:+++**+:,,,,,,,,::::::::::::::::::::::::::::::::::::::++::::::+++++
:::::::::::::::::::::::::::::::::::::::::::::::#****#*::,:*#****####**************##*****+++++++::+++,::::++++++++++++++++::::::::::::::::::::+++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::+****:,,+:#####################*#*##*###*********+****+::++::::++++++::++::::::::::::::::::++++::::::::::+::::
++****++++********++++++++++++:::::::::::::::::::::+++#***##,,:*#####*########***#**#####*++++**++++++::+:++++++++++++++++::++::::::::::::::++++::::::::+::::::
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++**************+++++:::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::::,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
...................................++.............................+,...........................................................................................
..................................,::.............................+,.............................................,....,........................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
...................................,:...........................,,+,...,......,,....,,....,,.,......,.,,,,,:,,,,,,,,,,:,,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
................,..................,:,..........................,,+,,,,,,,,,,,+,....,,,,.....,,,,,,,,,,,,,,:,,,,,,:::::,,,,,:,,,,,::,,,,+:::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,,,,:,,,,,,,,,,.,,,,,,,,,,+,,,,:,::::,*:,,,,,:,,:::::,,,,,:,:,,,,,::,,,,:,::,::,,,:::,,,,,:,,,,,::::::::::::+:::::+:::+
,,,,,,,,,,,,,,,,::,,::::,:,,,,,,,,,,:,,,,,:,:,,,,,,,:::,:::::::::,+::::+::::::++:::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,:,,,,::::::::::::::::::::::::::+::::+::,:::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,::,,,:::::::::::::::+::+::::::,::::::::::::::::::+++::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::,,::::::::::::,:+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::,,,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::,,,,,,:::::::::::
::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::*****++**++:::::::,,,,,,,,,::,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::,*:*::::+*+++++:++++::,,::,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::,:++*+**++++++++++++++++******#*++****++::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::+*****+**#*******+*+***************++++++++++::+++++:,,::,,::::::::::::::::::::::::::::::::::::++::::::::+++
:::::::::::::::::::::::::::::::::::::::::::::::::::******#:+,++*****####**********######******+++++::::+*+,:++++++++++++++::::::::::::::::::::+++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::+***#:+,:######################*##******#++*+**********++::++++::::++::::::::::::::::::++:::::::::::::::::
++***+++++********++++++++++++::::::::::::::::::::::::::++#*+**#+++*#####*##########*##******#::+:+++++:::::::++++++++++++++++::::::::::::::::++:::::::::::::::
***+++++++**++++++++++++++***+++++++**++++++++++++++++++++++++++****++********++::::::::::++++::++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::::,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
...................................++.............................+,...........................................................................................
..................................,::.............................+,.............................................,....,........................................
..................................,::.............................+,.......................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
...................................,:,..........................,,+,...,......,,....,,....,,.,......,.,,,,,:,,,,,,,,,,:,,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,........,..................,:,..........................,,+,,,,,,,,,,,+,....,,,,,,,,.,,,,,,,,,,,,,,:,,,,,,::,,:,,,,,:,,,,,::,,,,::::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.,,,,,,,,,:,,,,,,,,,,.,,,,,,,,,,+,,,,:,::::,+:,,,,,:,,,,,,:,,,,,:,:,,,,,::::,,:,::,::,,,:::,,,,,:,,,,,:::::::,::::::::::+:::+
,,,,,,,,,,,,,,,,::,,::::,:,,,,,,,,,,:,,,,,:,:,,,,,,,:::,:::::::::,+::::+::::::++:::::::::::::::::::,:::::::+::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::,:::+::::+::,:::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,::,,,::::::::::::::::::+::::::,::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::,,::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::,,,,,,:::::::::::
::::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::+*********+::::::,,,,,,::,,,,::,,,,,,,,,,,,,,,,,.,:,,,:::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++::::++::::::::::,+++:::::+++++++++++*+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++*+**+++++++++++*+*******#*++****++:::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::++****+**#**+************************++++++++::+++**+::::::::::::::::::::::::::::::::::::::++::::::::+++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::******#++,:+******#********##*******#******+++++:::,,**+.++++++++++::::::::::::::::::::+++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+***#,#:,++#*#################*#**#**********+**********+++::::++++::::::::::::::::++++:::::::::::::::
++***+++++********++++++++::++:::::::::::::::::::::::::::::::+*#::*#****################**********#++++++:++++++::++++++++++++::::++::::::::::+++:::::,::::::::
***+++++++**++++++++++++++++*+++++++**++++++++++++++++**++++++++**++++++******++++:::::::::::+++++++::+***+:::::::::::::::::::::::::::::::::::::::,,,,,::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
..................................,**...........................,,,............................................................................................
...................................++.............................+,...........................................................................................
..................................,::.............................+,..................................................,........................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,..........................,,+,..,,......,,....,,....,,.,......,.,,,,,:,,,,,,,,,.:,..,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
...................................,:,..........................,,+,,,,,,,,,,,+,....,,,,,....,,,,,,,,,,,,,,:,,,,,,,,:,:,,,,,:,,,,,:,,,,,::::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.,,,,,,,,,,+,,,,:,::::,+:,,,,,:,,::::::,,,,:,:,,,,,::,,,,:,::,::,,,:::,,,,,:,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,::::,:,,,,,,,,,,:,,,,,:,:,,,,,,,:::,:::::::::,+::::+::::::++::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::+::::+::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,::,,,::::::::::::::::::+::::::,::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::++::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::,,,,::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,::::::,,,,::,,:::::::
::::::::::::::::::,,,,,,::::::::::::::::::::::::::::++::::::::::::::::,,:::::::::+********+::::::,::::,,,,,,,,,,,,,,,,,,,:,,::::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++::::++::::::::::::::::,,::,*:*::+++*++++++++++*:,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++*+++++++++++++++**********++****+++:,,,,:::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+******++*+********+*******++++++++++++++++++++:+**+:::::::::::::::::::::::::::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*****#:+*++#****##****************+********++*++,,,,,**,::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::::+******:+:,+###########**********************+******#*****+::::::::::::::::++++:::::::::::::::
++***+++++********++++++++::::::::::::::::::::::::::,,::::::::::::::::+**,.,*#############*****+++++**********++++*+++++**++++::++++::::::::::++++::::::::++:::
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++****++********++++::::::::::++++++++++:+****+++:*****:::::::::::::::::::::::::::::::,,:::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,.....................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**...........................,,,............................................................................................
...................................++.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,..........................,,+,..,,....,.,,....,,....,,.,......,.,,,,,:,,,,,,,,..:,..,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,...........................,:,..........................,,+,,,,,,,,,,,:,....,,,,,....,,,,,,,,,,,,,,:,,,,,,,,:,:,,,,,:,,,,,:,,,,,:::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,.,,,,,,,,,,+,,,,:,::::,+:,,,,,:,,::::::,,,,:,:,,,,,::,,,,:,::,::,,,:::,,,,,:,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,::::,:,,,,,,,,,,:,,,,,:,:,,,,,,,:::,:::::::::,+::::+::::::++::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::+::::+::,:::+:::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::,,,::::::::::::::::::+::::::,::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,::::::::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::,,::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::,,,,::,,:::::::
::::::::::::::::::,,,,,,::::::::::::::::::::::++++::++::::::::::::::::,,:::::::::::::::+******++:::::,::,,,,,,,,,,,,,,,,,:,,,:::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++::::++:::::::::::::::::,,,:::,,:++*+::::*++++++:++++:,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:+++++++++*++++++++**************++***+++:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:++******++++*********+++++++++++++++++++++++++:::+**++:::::::::::::::::::::+++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**###*##::+::#***********************************+:,,,:**+,::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*****+,,+,+*#####********************************#********:::::::::::++++::+::::::::::::
++***+++++++******++++++++::::::::::::::::::::::::::::::::::,,,,,,,,:::::::+**,,:**########*****++++++++*********##******+**+***+:++::::::::::++++::::::::++:::
****++++++****++++++++++++***+++++++**++++++++++++++++++++++++++**************++++::::::::+:+++++++++++++++:******:::+****+:::::::::::::::::::::::::,,,,:::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................*+............................,,............................................................................................
...................................++.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,..........................,,+,..,,......:,....,,....,,.,......,.,,,,,:,,,,,,,,,,:,..,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,...........................,:,..........................,,+,,,,,,,,,,,:,....,,,,,....,,,,,,,,,,,,,,:,,,,,,,,:::,,,,,:,,,,,::,,,,:,::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,,,,,+,,,,:,::::,+:,,,,,:,,::::::,,,,:,::,,,,::,,,,:,::,::,,,:::,,,,,:,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:,,,,,,::,,,,,,,:::,:::::::::,+::::+:::::,++:::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,:::::::::::::::::::::::+::::+::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::,,,::::::::::::::::::+::::::,::::::::::::::::::+++::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,::::::::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::,,::,,:::::::
::::::::::::::::::,,,,,,,,::::::::::::::::::::++++::++::::::::::::::::,,::::::::::::::,,::::++****++++::::,,,,::,,,,,,,,,:,,::::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::,,,,,,,,,,,,,,::,++:++::++++++++:+++++,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,:+++++++++*++++*****************+:+++++++:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,::+******++++******++**+++++++++++++++++++++++++++++*++::::::::::::::::+++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,:*******#+:+:+**********************************+++::,,,:**,,::::::+++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##****:+:+,:*********************************+**+*********+:::::++++:::::::::::::::
++****++++++******++++++++::::::::::::::::::::::::::::::::::::,,::::,,,,::::::+++**.+,+#####******++++++++++**+*#*******#******+******:+:::::::++++::::::::::::
****++++++**++++++++++++++***+++++++**++++++++++++++++**++++++++****++********++++:+++:+::++++*+**++++++++++++::::**##*+:::#**#*+:::::::::::::::::::::,,::::,,:
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++...........................,,,............................................................................................
...................................+:.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
...................................,:,......................... ,,+,...,......:,....,,....,,.,......,.,,,,,:,,,,,,,,,,:,..,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,........,..................,:,..........................,,+,,,,,,,,,,,:,....,,,,,....,,,,,,,,,,,,,,:,,,,,,,,:::,,,,,:,,,,,::,,,,:,::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,,,,,+,,,,:,:,,:,+:,,,,,:,,::::,:,,,,:,:,::,,,:,,,,,:::,::,,,:::,,,,,:,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:,,,,,,,:,,,,,,,:::,:::::::::,+::::+:::::,++:::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,:::,,,,,:::::::::::::::::::::::+::::+::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::::::::+,:::::,::::::::::::::::::++:::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::+:::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,:::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::,,::,,,,:::::
::::::::::::::::::,,,,,,::::::::::::::::::::::++++::++::::::::::::::::,,::::,,::::::,,,,,,,,::::,:+++*+++++:::::,,,,,,,,,:,,::::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::,,,,,,,,,,,,::::::::,:.*++::+++*++++++++++*:,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::+++++++++**+++++++******++*****+++++++++:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::+******+++++****++++**+++++++++++++++++++++++++++++*+:::::::::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::*##****##:+:+*#++***********************#******++**+,,,,:+*.:+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#*****#,#,*,:*#*******************************#+************+:++::::::::::::++:
++++**++++++******++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*.+*:*##*****++++++++++++++***********#*********++***:::++++::::::::::::
****++++++**++++++++++++++***+++++++**++++++++++++++++**++++++++**************++++++++++++++*++++****+++++::::::::::::::******::******++:::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................+:.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
...................................,:,..........................,,+,..,,......:,....,,....,,.,......,.,,,,,:,,,,,,,,,,:,..,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,........,.......,..........,:,..........................,.+,,,,,,,,,,,:,....,,,,,....,,,,,.,:,,,,,,:,,,,,,,,:::,,,,,:,,,,,::,,,,:,::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,+,,,,:,:,,,,+:,,,,,:,,::::,:,,,,:,:,::,,,:,,,,:,::,::,,,:::,,,,,:,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:,,,,,,,:,,,,,,,,,:,:::::::::,+::::+::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::+::::+:::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::::::::+,,::::,::::::::::::::::::++:::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,::,,,,,,::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,::::::::,,::,,,,:::::
::::::::::::::::::,,,,,,::::::::::::::::::::::++++++++::::::::::::::::,,::::,,::::::,,,,,,,,::::,,,,::,:+++++++++:::,,,,,,::::::,,,,,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::,,,,,,,,,,,,,::::,,,,,:::,:::+:*::+++*++++++:+++*:::,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::++++**+***********+*******+::++::++:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::****+**+++++++++++++**++++++++++++++++++++++++::+++*++::+++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,:::::::*******#*+:::**********************************+++++:,,,:*+:,+++++++++++++
::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#*#****:,:*::**********************************++**********++:::::::::+++
++++**++++++******++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*+,+:,****++++++++++++********#****************++++***++:::::::::::
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++**************++++++++++++++++*****++++****+::++::::::::::::+:******:+*****+:::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++...........................,,,............................................................................................
...................................::.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,..........................,,+,..,,......:,....,,....,,.,......,.,,,,,:,,,,,,,,,,:,..,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,...........................,:,..........................,,+,,,,,,,,,,,:,....,,,,,....,,,,,.,:,,,,,,:,,,,,,,,:::,,,,,:,,,,,:,,,,,:,::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,+,,,,:,:,,,,+:,,,,,:,,::::,:,,,,,,:,::,,,:,,,,:,::,::,:::::,,,:::,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:,,,,,,,:,,,,,,,,,:,:::::::::,+::::+::::::++:::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:::,,,,::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::+:::::+,,::::,:::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::,,::,,::::::::,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::,,,,:::::
::::::::::::::::::::,,,,::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::,,,,,,::::,,::::::::,,,,,:::::,::+++++++:::::::::,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::++::++++++++++::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,::::,,,,::+++:+++*++++++:+++++,:,,,,,::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+++++********++****++++++*+:::::,,::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**++***+++++++++++++**++++++++++++++++++++++++::+*:++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*******#*+::+**************************++******+*+++*+,::++*:+
::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::********,:::,+***********************************+++++:::::+::
++***+++++++******++++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::++*:,,*:+*******************##********+*******+++:::::***
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++**++**********++++++++++::::::::::::+++++*****#:::******::++++::::::++++++++++***+++++:::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................+:.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::...........................,.+........................................,......,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,:,..........................,,+,..,,......:,....,,....,,,,......,.,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,........,.......,..........,:,..........................,.+,,,,,,,,,,,:,....,,,,,,,,.,,,,,.,:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,.,:,,,,,,,,,,,,,,,,,..,,,,,,,,,,+,,,,+,:,,,,+:,,,,,:,,,,,,,:,,,,,,:,::,,,:,,,,:,:::::,:::::,,,:::,,,,,::::::::::,,::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:,,,,,,,:,,,,,,,,,:::::::::::,+::::+::::::++:::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,::,:,,,,,,,,,:::,,,,,,::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::+:::::+,,::::,::+::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::,,::,,::::::::,,,,::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::,,,,,,::::::::::::::,,,,,,::,,,,,,,,::::++++++::::::,,:::::::::::::::::::::
::::::::::::::::::::::::::::::::::++::++++++++++::::::::::::::::::::,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::,++*+:::++++++++:++++::::,,,::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::+++***************+++++++*+:::::,,:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:**+++**++++++++++++++*++++++++++++++++++++++++++:**++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+********+::+#***************************+******+++++++:
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::::::::::+*******:+::,::********************************++++++:++
++***+++++++******++++++++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::*#*************######*********++++++::::+*
****++++++****++++++++++++***+++++++**++++++++++++++****++++++++**++**********++++++++++::::::::::::::::::++++++******::+*##**++******++++++++++**+++++++:::++*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,................,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,..........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................+:.............................+............................................................................................
..................................,::...........................,.+..............................................,.............................................
..................................,::...........................,.+........................................,......,,..,.....,.....,.....:.....,.....,.....:....
......,,...........................,,,..........................,,+,..,,......:,....,,....,,,,......,.,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,........,..................,,,........................ .,,+,,,,,,,,,,,:,....,,,,,,,,.,,,,,.,:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,::::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,..,,,,,,,,,,+,,,,+,:,,,,+:,,,,,:,,,,,,,:,,,,,,:,::,,,:,,,,:,:::::,:::::,,,:::,,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,,:,,,,,,,::,,,,,,,,:::::::::::,+::::+::::::++:::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:::,,,,,,::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::::::::+,,::::,:::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,::::::,,,,,,::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::,,,,,,::::::::,,,,,,,,::::::::::::,,,,,,::,,,,,,,,,,,,::::::++++++::::,,,,:::::::::::::::
::::::::::::::::::::::::::::++::::++::::::++++++::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,::+:*++++*+++++++++**::,,,,,,:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++**********++++++++++++*::::,,,:::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*++++**++++++++++++++*+++++++++++++++++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*********+++**+************************++***###*+
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++::::::::::::::::********,:::::****************************+++++**
++***+++++++++****++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++**.:,,::*#**********##**********++++:::++**
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++**++**********++++++++::::::::::::::::::::::::::::::+++****#*:,*****#*****++++++****++++:::+++*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................::.............................+............................................................................................
..................................,::...........................,.+..............................................,.............................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,,,.........................,:,..........................,,+,..,,......:,....,,....,,,,......,.,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
......,,........,..................,:,........................ .,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,..,,.,:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,::,,,,::::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,.,,,,,,,,,,+,,,,+,,,,,,+:,,,,,:,,,,,,,::::,,,:,::::::,,,,:,:::::::::::,,,::::::::::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:::,,,,,,,,:,,,,,,,::,,,,,,,,:::::::::::,+::::+::::::++:::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:::,,,,::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::+::+::+,,::::,::+::::::::::::::::::::::::::::::+::::::::::+:::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::,,,,,,::::::,,,,,,::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::,,,,:::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,::::::::::::::::,,:::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::,,,,::::::::::,,,,::::::::::::::,,,,,,::,,,,,,,,,,,,::::::::::::::::++::::::,,:::::::::
::::::::::::::::::::::::::::++::::++::::++++++::::++::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::+:+++++*****++++++++::,,,,,::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,,,,:++++*******+*+++++++++++++*+:::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,:::+*+*+***+++**++++++++++++++++++++*++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::,,::::+*********+++*****************************+
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++::::::::::::::::::::::*********:,:,:+*********************++++++*
++***+++++++******++++++++::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++****,+:,:+*#***************++++++++++*
****++++++****++++++++++++***+++++++**++++++++++++++****++++++++**++**********++++++::::::::::::::::::::::::::::::::::::::+++**++***++******++******++++++:::+*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,.............................................................................................
...................................::.............................+............................................................................................
..................................,::...........................,.+..............................................,.............................................
..................................,::...........................,.+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,,,.........................,:,..........................,,+,..,,......:,....,,....,,,,......:,,,,,,:,,,,,,,,,.:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
........,,.......,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,::,,,,::::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,:,,,,,,,,,,.,,,,,,,:,,+,,,,+,:,,,,+:,,,,,:,,,,,,,::::::::,::::::,,,,:,:::::,:::::,,,::::,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,:,::,,,,,,,,:,,,,,,,::,,,,,,,,:::::::::::,+::::+::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::+::++
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,:::,,,,::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::+:::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::+::+::+,,:+::,::+::::::::::::::::::::::::::::::+::::::::::+:::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::,,,,,,::::::,,,,,,::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::
,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,::,,::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,::::::::::::::,,:::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::,,,,,,::::::::,,,,,,::::::::::::::,,,,,,::,,,,,,,,,,,,::::::::,,::::::::,,::++::::::::,,:
::::::::::::::::::::::::::::++::::++::::++++++::::++::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::::::::::,:*+*::++**++*+++++**++:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,:::+++**+++*++**++++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,::::::::+*+*++*#++++++++++**++++++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::+**********+*#********************++
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++:::::::::::::::::::::::::::+********:,::,:**************++++++*
++***+++++++++****++++++++::::::::::::++::::++::::::::::::::::::::::::::::::::::::++::::::++:::::::::::::::::::::::::::::::::++*****:+,,,************+++++++++*
****++++++****++++++++++++***+++++++**++++++++++++++++**++++++++**++**********++++++::::::::::::::::::::::::::,,:::::::::::::::::::+*+.,:**++*****#***++++++++*
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,....,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
...................................*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................::.............................+............................................................................................
..................................,::...........................,.+..............................................,.............................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,,,.........................,:,............................+,..,,......,.....,,....,,,,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
.................,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,::,,,,::::,,:,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,::,,+,,,,+::,,,,+:,,,,,:,,,,,,,::::::::,::::,:,,,,:,:::::,:::::,::::::,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,:,::,,,,,,,::,,,,,,,,,,,::,,,,:::::::::::,+::::+::::::++:::::+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,:::,,,,::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::+:::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,::::::::::::++:+::+:,::::,::+::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::+:::::++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::,,,,::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::,,,,,,,,::::,,,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,:::::::::::::::::::::::::
,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,::,,::::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::,,,,::,,::::::,,,,::::::::::::::,,,,,,::,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::,
::::::::::::::::::::::::::::::++::++::::++++++++::++++::::::::::::::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::+++*+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::+++**+++**+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,:,,,,,,,,,,,,,,::::::::::::::::::::,,:+++++*##+++++*++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::+*************+******
::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::++++::::::::::::::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::*********,++:+:++++++
++****++++++********++++++::::::::::++::::::++::::++::::::::::::::::::::::::::::++++::::++++++::::::::::::::::::::::::::::::::::::::::::::::++*++**:+,:,::+++++
****+++*++****++*+++++++++***+++++++**++++++****+++++***++++++****++**********++++++++::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::::::::++*,,,,+++++++
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................:+.............................+............................................................................................
..................................,::...........................,.+..............................................,....,........................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
......,,,,.........................,:,............................+,..,,....,.,.....,,....,,,,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
.................,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,::,,,,:::::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,:,,,+,,,,+::,,,,+:,,,,,:,,,,,,,::::::::,::::,:,,,,:,:::::,:::::,::::::,,,,::::::::::,,::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,:,::,,,,,,,::,,,,,,,,,,,::,,,,:::::::::::,+::::+::::::++:::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::+:::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,::::::::::::++:+::+,,::::,::+::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::+:::::++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,,,,,,,,,::::,,,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,:::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::,,,,,,::::::::::,,,,::::::::::::::::,,,,::,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::++::++::::::++++++++++++::::::::::::::,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::+++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::+++++*#*+**+
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::++***********
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::********+::::
++****++++++********++++++::::::::::++::::::++::::++::::::::::::::::::::::::::::++++::::++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::::
****+++*++****++*+++++++++***+++++++**++++++****+++++***++++++****++**********++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,.....................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,...................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................:+.............................+............................................................................................
..................................,:+...........................,.+..............................................,....,........................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
,,......,,........................,,:,............................+,..,,....,.,.....,,....,,,,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
.................,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,......:,,,,,,+,,,,,,,,,,:,,,,,:,,,,,::,,,,:,,,:::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,:,,,+,,,,+::,,,,+:,,,,,:,,,,,,,::::::,:,::::,:,,,,:::::::,:::::,,,::::::,,::::::::::,,::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,:,::,,,,,,,::,,,,,,,,,,,::,,,,:::::::::::,+::::+::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,::::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::+:::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,,,,,,::::::::::::::+::+,,::::,::+::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::+:::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,::,,,,,,::::,,,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,::::::::::::::::,,:::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,::,,,,::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::,,,,,,::,,::::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::
::::::::::::::::::::::::::::::++::::::::++++++++++++++::::::::::::::,,,,,,,,,,,,::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,:,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++***
::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::++++::::::::::::::++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::+++++
++***+++++++********++++++::::::::::++::::::++++::++::::::::::::::::::::::::::::++++::::++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
****+++*++****++*+++++++++***+++++++**++++++****+++++*++++++++****++**********++++++::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,.....................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................:+.............................+............................................................................................
..................................,:+...........................,.+..............................................,....,........................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
,,......,,........................,,:,............................+,..,,....,.,.....,,,,..,,.,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
.................,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,......:,,,,,,:,,,,,,,,,,:,,,,,:,,,,,::,,,,:,:::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,:,,,+,,,,+::,,,,+:,,,,,:,,,,,,,::::::,:,::,,,:,,,,:::::::,:::::,,,::::::,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,:,,,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,,,:::::::::::::,+::::+::::::++::::::::::::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,::::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,::::::::::::::+::+,,::::,::+::::::::::::::::::::::::::::::+::::::::++::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+:::::++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::,,,,,,::,,,,::::::,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,:::::::::::::::::::::::
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,:::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::,,,,,,::,,::::::,,::::::,,::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++++::::::::++++++++++++++::::::::::::::,,,,,,,,,,,,,,::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,,,,,,,::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++::::::::::++::::::::::::::::::::::::::::++++::::::::::++::++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
*****+++++++********++++++::::::::::++++::::++++::++::::::::::::::::::::::::::++++++::++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:
****+++*++****++*+++++++++***+++++++**++++++****+++++***++++++++**++**********++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,.....................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,.*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:,.........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................:+.............................+............................................................................................
..................................,:+...........................,.+..............................................,....,........................................
..................................,::.............................+........................................,....,.,,..,.....,.....,.....:.....,.....,.....:....
,,......,,........................,,:,............................+,..,,....,.,.....,,,,..,,.,......:,,,,,,:,,,,,,,,,,:,..,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
.................,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,......:,,,,,,:,,,,,,::,,:,,,,,:,,,,,::,,,,:,:::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,:,,,+,,,,+::,,,,+:,,,,,:,,,,,,,::::::,:,::,,,:,,,,:::::::,:::::,,,::::,,,,::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,::,,,,,,,,,,,::::,,:::::::::::,+::::+::::::++:::::::::::::::::::::::::::+::::::::::+::::::::::::::::::::::::::::::::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::,,,,,,:,::::::::::::::::::::+::::+::::::+::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::::::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::,,,,,,,,:::::::::::::::+::+:,::::,::+::::::::::::::::::::::::::::::+::::::::++::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::+:::::++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,::::::::::::::::,,::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::,,,,::::::,,,,,,::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::::,,::::,,,,,,:::::::::::::::::::::::
,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,:,,,,::::::,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::,,,,,,::::::::::,,::::::::::::::::,,,,,,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::++++::::::::++++++++++++++::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,::::::::::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::++++::::::::::++::::::::::::::::::::::::::::++++::::::::::::::++++++++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
*****+++++++********++++++++::::::::::++::::++++++++::::::::::::::::::::::::::++++++::++++++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,
****+++*++****++*+++++++++***+++++++**++++++****+++++***++++++++**++**********++++++::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,
$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...........................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,..,,.................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*,,,,,,,,,,,,...............................................................................................................
,,,,,,,,,,..........,,,,,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,..............,,,,,,,,,,,*,,,,,,,,,,.................................................................................................................
,,,,,,,,,,........................,*,,,,,,,,...................................................................................................................
,,,,,,,,...........................*...........................................................................................................................
...................................*...........................................................................................................................
..................................,*,..........................................................................................................................
...................................*,..........................................................................................................................
...................................*:..........................................................................................................................
...................................*:..........................................................................................................................
...................................*+..........................................................................................................................
...................................**..........................................................................................................................
...................................**..........................................................................................................................
...................................++............................,,............................................................................................
...................................:+.............................+............................................................................................
..................................,:+...........................,.+..............................................,....,........................................
..................................,::.............................+........................................,......,,..,.....,.....,.....:.....,.....,.....:....
,,,,....,,........................,::,............................+,..,,....,.,.....,,,,..,,,,......:,,,,,,:,,,,,,,,,,:,..,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,,:,,,,
.................,.................,:,..........................,,+,,,,,,,,,,,:,,,,,,,,,,,,,.,,,....:,,,,,,:,,,,,,:::::,,,,,:,,,,,::,,,,:,:::::,,,,,:,,,,,:,,,,
,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,..,,,,,,:,,,+,,,:+::::,,+:,,,,,:,,,,,,,::::::::,::::,::::::::::::,:::::,::::::::::::::::::::::::::::+:::+
,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,::,,,,,,,,,,,::::::::::::::::::+::::+::::::++:::::::::::::::::::::::::::+::::::::::+::::::::::::::::::::::::::::::::::::::++
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::::::::::::::::::::::+::::+::::::++:::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::+++++
,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::::::::::,,,,,,,,:::::::::::::::+::+:,::::,::+::::::::::::::::::::::::::::::+::::::::++::::::::::::::::::::::::::::::::::+++++++
,,,,,,,,,,,,,,,,,,,,::::,,,,::::,,::::,,::::::::::::::::::::::::::+:::::++::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::::::,,,,::::::::::::,,,,::,,::::::::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,:::::,,,,,,::,,,,::::::::,,::::::,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,,,,,:::::::::::::::::::::::
::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:::,,,,::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,::::,,::::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::,,,,::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::++::++::::++++++++++++++::::::::::::,,,,,,,,,,,,,,::::::,,,,::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::::,,,,,,::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++::::::::::::::::::::::::::::::::::::::::++++:::::::::::
::::::::::::::::++++++::::++++++::::::::::::::::::::::::::::++++::::::::++++++++++++++++++++++++++++++++::++++:::::::::::::::::::::::::::::::::::::::::::::::::
******++++************++++++::::::::::++::::++++++++::::::::::::::::::::::::::++++++::++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****+++*++****++*+++++++++****++++++**++++++****++**+*+++++++*****++**********++++++++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$::::::::::::++::::++++++++******++::::++++++************++************************++++**++++++++++::::::+::::::::::::,::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::++::++++++++++++++++++****++++++****+****************************+++++++++++++++++++++++++++++++++++++++++::+::::::::::::::
::::::::::::::::::::::::::::::::++::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++**+++++++++**************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++***********************
,,:::+++++++++++:+++++::::::::::::::::::++++::::::::::::::::::::::::::::+++:::::,,::::,,,,,,:+++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++::::::::++++::++++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,::::+++++++++++++++++++++++:::+:++::::::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::++::++++++**+
,,,,,,,,,,,,,,,,,,,,,:+++:::++++::++++++++++**++++++++:+::+:::+:::++++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,
::::::::::++++++++++::,::,,,,,,,,,,,,,::::::::::::::::++++++++::::++++++++++++++::::++++:::+++++++::++++++++++++++++++++++++++++++++**++++++++:+++++*++++++++*+
++++**::::++::++::::::+:::::::::::::::::::::::::::::::::++::::::::::,:::::::::::++++++++++++++++++::::++++::++::++:::::+++++++++++++++++++++++::++:,+++++++++++
:+++::++++++++++++::::+++++:::::::::++++::++::::::++::++++::++::::::::::::::::++:+::::::++++++::++::++++++++::::::::::::++::++++++++++++++++:++:++:::::,,:++:::
++++++++++++++++++++++::++:::+++::::::::::::::::::::++++::::::::::++::++++::::::::::::::::++++++::::::::::::::::::::::::::::++++++++++++::++++*+,+,:::::::,,,,,
+++++:::++++++*+++++++++++++++++++++++++++::::++:+++++::::++++++++::::::::++++::++**++::::::::++::++++++::::+:::::::++::::++++++:::::::+++::::::::++++:::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::::++***+++++++++*+**++++++++++:+++++++::++::++++++++*++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:::++************++++******++++++++++******++++++++:+++++++++++++++++++++****++*++++++++++++++++
:::::::::::::::::::::::::::::+++::::::++++::++++++++++*+++++*+++++++++++++++++++++++++++++++:::+++++**++++**++++++++++++++++++++*+++++++++++++++++++++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::++++++++**++++**++++++++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::++++++++*****
,,,,,,,,,,,,,,,,,,,,,,...,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,::::::,,,
:::::::::::::::::::::::::+,.,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,::::::::,,,,,,,,:::::::
::::::::::::::::::::,::::+:,+.,.+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::++::,,,,::::::,,:::+*:,:,:,*:::,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**********++::::::::,+##,::,,,:.::#,*##::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#######*##################::,,,,,+*###*:,,,,,,,,,,,,,,,,::::,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##########*#########******++*****+++*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##**:,::,:::***#####*********#******++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
############################*#**,+**++++:...,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
######******############**#*::+++#**++*,*,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
################################+********:,,,.,,,,,,,,....,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
################################:+**+++.+,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::
############################***#:,+++++++,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
################################*.:*#*+:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::,:::::::::::::::::::::::::::::::,,,
#################################,##****++++++++++++::::++++++::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
################################**++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::::
++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++:::::+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::,,,,,,,,::::::::::::::::::,,::::,,::,,,,,,:,,,::::::++++++++++::::++++++++++++++++++::++++:+++::::::,::+++:+++++++:+++++::++++++++++++++::::+++++++
:::::::::::::::,:::::::::,::++:::::+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++::::::::::::++++::+++++++++++++++++++++++
::+++++++++++*+++***+++++++++++++:++++++++++++::++::::+++++++++:++++::++++++++::++::++++++++++++++::::::::::::::++++++++++++++::::++++::::::++++++++++++::::++:
$::::::::::::++::::+++++++++***+*:::::+++++++************++************************++****++++++++:::::::::::::::::::::,::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::++++++++++++++++++++++****++++******+****************************+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++***************
,:::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::+++++++++++++++++++++++++++++++++++++***++++++++++++++++++++++++++***********************
,,::+++++++++++:++++++::::::::::::::::++++++::::::::::::::::::::::::::::+++:::::,,::::,,,,,,:+++++:::+++++++++++++++++++++::++++++++++++++++++++****++++**++***
,,,,::::::::++++++++++++++++++++++++++++++::::::::++++::::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::++++++++:::::++::::::::::++++++++++++**++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::++::**+++++++
,,,,,,,,,,,,,,,,,,,,,:+++:::++++::++++++++++**++++++++++::::::+:::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::,,,,,,,,,,::::,,,,,,,,,,,,,
::::::::::++::++++:+:::::,,,,,,,,,,,,,,:::::::::::::::++++::++::::++++++++++++++::::++::::++++++++::++++++++++++++++++++++++++++++++**+++++++:++++++*++++++++*+
+:++++::::++::::::::::+:::::::::::::::::::::::::::::::++++:::::::,,:::::::::::::++++++++::++++++++::::++++::++:+++:::::+::+++++++++++++++++++::+:+::+++++++++++
:+++:+++++++++++++::::+++++:::::::::::++::++::::::++::++++::++::::::::::::::::++++::::::++++++::++::::++++++::::::::::::++::++++++++++++++++:+:++::::::,,:++::+
++++++++++++++++++++++::++:::++++:::::::::::::::::::::++::::::::::::::++++::::::::::::::::++++++::::::::::::::::::::::::::::++++++++++++++:+++++::,:,,+:::,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::::++++++++::::++++::++::::::::++++::++**++::::::++++++++:+++++::+:::::::++::::++++++:::::::+++::::::::++++:::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++***+++++++++++**++++++++++:+++++++++++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++:::++************++++******++++++++++******++++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::::++::::::++++:::+++++++++*+++++++++++++++++++++++++++++++++++++:::+++:+**++++*+**++**++++++++++++++*+++++++++++++++++++++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::++++++++****+
::::+:,,,,::++++****++++::,,,,,,,.,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,::,,,,,,:
::::,+::::::::::::::::::::::,,::::+,,+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::++.,:*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::++:+******************++::::,:::+*,,:+*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+########################******##+,,,,***###++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####################################::,,,+*,,:,:,,,,,,,,::::,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
****:*##########*#############***********++*:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
******#####***::,,.+::***#####************++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**######**############################**+:++:*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
######################################*****+::*:..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
######################################**#*+++:*:,,,,,,....,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
######################################**#:+++.:,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
######################################**#:++++:,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
#########################################**###++++++::::::::::++++++++++++::++::::::::::::::::::::::++++++++++++++::::::::::,:::::::::::::::::::::::::::::::::,
######*####################################*****++++++++++++++::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
##############################**********++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::,,,,,,,,::::::::::::::::::,,::::,,::,,,,,,,,,,::::::++++++++++::::++++++++++++++++++++++++++++:::+::,::+++:+++++++:+++++++++++++++++++++::::+++++++
:::::::::::::::,:::::::::,::++:::::+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++::::::::::::++++::+++++++++++++++++++++++
::+++++++++++*++****+++++++++++++:++++++++++++::++::::+++++++++:+++++:++++++++::++::++++++++++++++::::::::::::::++++++++++++++::++++::::::::++++++++++++::::++:
$::::::::::::++::::++++++++******++:::++++*++**************++**********************++++**++++++++++::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::++++:+++++++++++++++********++++******+*****************************++++++++++++++++++++++++++++++++++++++++::+::::::::::::::
::::::::::::::::::::::::::::::++++::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++**++++*******************
,:::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++***********************
:::::+++++++++++++*+++::::::::::::::::++++++::::::::::::::::::::::::::::+++:::::,,,,::,,::,,:+++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++++::++::++++++++++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++++:++++++++:::::++++::::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,::::::::::++::+++++++++
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++**++++++++++::::::+:::+++++++++++++++++++++++++++*++++**++++++++++++++++++++++::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,
::::::::::++::++++:+:::+:,,,,,,,,,,,,,::::::::::::++::++++++++::::+++++++++++++++:::++:::::+++++++:+++++++++++++++++++++++++++++++++**+++++++::+++++**+++++++*+
++++**+:::++::++++::::+:::::::::::::::::::::::::::::::++++::::::::,:,,::::::::::++++++++++++++++++::::++++::++:+++:::::+++++++++++++++++++++++:+++::+++++++++++
:+++:+++++++++++++++::++++::::::::::::++::++::::::++::++++::++::::::::::::::::++:+::::::++++++++++::++++++++::::::::::::++++++++++++++++++++:+++++::::,,,:++:::
++++++++++++++++++++++::++:::++++:::::::::::::::::::::++::+:::::::++::++++::::::::::::::::++++++:::::+::::::::::::::::::++++++++++++++++++++++++,+,:::+:::,,,,,
+++++:++++++++*+++++++++++++++++++++++++++++++++++++++::::++++++++::::::::++++::++**++::::::++++::++++++++::+:::::::++::::++++++:::::::+++::::::::++++++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++***+++++++++++**++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++::+++************++++******++++++++++*******+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::++++:::::::+++++:+++++++++**++++++++++++++++++++++++++++++++++++++:+++:+**++++**++++**++++++**++++++*+++++++++++++++++++++++++**++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::,,::::++::++++++++****+
::::::::::::+:,:++****++::::::++++****++,:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,::::::::,,,,::,,::::,,:::::::::
:::::::::::::+::::::::::::::::::::,,::::::*,:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,::::::::::::::::,,,,:::::::
:::::::::::,+:::::::::::::::::::,,,,,,,::::*,+*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,+,+##########################*:,++,**:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::+#:+###############*+################,,:*#+#*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,+*###################################*,,*+,,,,,,::::,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::+***#########**#,,,,,,,***######********++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::********#####***,,,,,,:+**######*********:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++:++*#####################****#############**++*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::+++*#########################################*#+*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+++++***######################################***+,*,,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
+*++**+*#*#####################################*#*::::,,::,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::++++++++:
:::::::*##########################################,+,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,:+#########**###############################+***++++++++++++++++++++++++::::::::::::::::::::::++++++++++++++::::::::::,:::::::::::::::::::::::::::::::::,
:::::::*##########################################***+++++++++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
++++++**************************++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::
++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::::::::++++++:::::+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::,,,,::,,,,:::,,,::::::++::++++++::++++++++++++++++++++++++++:+++::::::,::+++++++++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::::::++:+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::::++++++::+++++++++++++++++++++++
::+++++++++++*+++***+++++++++++++:++++++++++++::++::::++::+++++:++++::++++++++::++::++++++++++++++++::::::::::::++++++++++++++::++++++++::::::++++++++++::::++:
$::::::::::::++::::++++++++******++:::++++*++************++++**********************++++**++++++++++::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::++++:+++++++++++++++********++********+*****************************++++++++++++++++++++++++++++++++++++++++::+::::::::::::::
::::::::::::::::::::::::::::::++++::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++**++++*******************
,:::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++***********************
:::::+++++++++++++++++::::::::::::::::++++++::::::::::::::::::::::::::::+++:::::,,,,::,,::,,:+++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++++::++::++++++++++::++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,:::::::::::::::++:++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++++:++++++++:::::++++::::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,::::::::::++::+++++++++
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++**++++++++++::::::+:::+++++++++++++++++++++++++++*++++**++++++++++++++++++++++::::::::::,,,,,,,,,,::,,,,,,,,,,,,,,,
::::::::::++::++++:+:::+:,,,,,,,,,,,,,::::::::::++++::++++++++::::+++++++++++++++:::++::::++++++++::++++++++++++++++++++++++++++++++**+++++++::+++++*++++++++*+
+++++++:::++::++++::::+:::::::::::::::::::::::::::::::++++::::::::,:,,::::::::::++++++++++++++++++::::++++:::::+++:::::+++++++++++++++++++++++:+++::+++++++++++
:+++:+++++++++++++++::+++++:::::::::::++::++::::::++::++++::++::::::::::::::::++++::::::++++++++++::++++++++::::::::::::++++++++++++++++++++:+:++:::::,,,:++:::
++++++++++++++++++++++::++:::++++:::++::::::::::::::::++::+:::::::++::++::::::::::::::::::++++++:::::+::::::::::::::::::::++++++++++++++++++++++::,:::+:::,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++::::++++++++::::::::++++::++**++::::::++++::++++++::::+:::::::++::::++++++:::::::+++::::::::++++++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++++**++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::+++************+++++*****++++++++++*******+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::::++++::::++++:::+++++++++**++++++++++++++++++++++++++++++++++++:::+++:+**++++****++**++++++**++++++*+++++++++++++++++**++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::++++++++****+
::::::::::::::::::::::**++::::::::::::::::::::::*:::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,,,::::,,:::
::::::::::::::::::+:,+:,,:::::::::::::::::,,::::,:+,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,:::::::
:::::::::::::::::::,++::,,,,,,::,,::::::,,,,,,:::::+.+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,*##::.:.###::::::::::::::::::::::::##*,,,::*#+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::,,::::,,,*##*:,#################+################:.+##+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,:++****########**********########******++::::,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,::********######**+:,+,:,:***#####*******++,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++::**#*##############**##################**+,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++::+:++++*+++::##########****************##########*+++,.,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+::::+++**######################################***,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+++++++:::::::*#*#####################################***,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++
++++**+::::::::########################################*#*,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
:::::::::::::::+######*###################################::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,::::##########################################******++++++++++++++::::::::::::::::::::::++++**++++++++::::::::::,:::::::::::::::::::::::::::::::::,
::::::::::::+++*####################################****++++++::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,:::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::,:++++++++++::::+++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++++::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,:,,,::::::++::++++++::++++::++++++++++++++++++++++++:::+::,::+++:+++++++:+++++++++++++++++++++::::+++++++
:::::::::::::::,:::::::::,::++:::::+++++::::::::++:+++:+++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::::++++++::+++++++++++++++++++++++
::+++++++++++*++****+++++++++++++:++++++++++++::++::::+++++++++:+++++:++++++++::++::++++++++++++++::::::::::::::++++++++++++++::++++++++::::::++++++++++::::++:
$::::::::::::++++::++++++++******++++:++++*++**************************************++++***+++++++++::::::+:::++::::::::::::::::::,,::::::::::+++++++++++++++++++
:::::::::::::::::::::::::::::::::+++++:+++++++++++++++**********++******+*****************************++++++++++++++++++++++++++++++++++++++++::+::::::::::::::
::::::::::::::::::::::::::::::++++::::::::,,::::++++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::+++++*++++++++++++++++++++++++++++++**++**++++++++++++++++++++++++*************************
:::::+++++++++++++++++::::::::++::::::++++++::::::::::::++++::::::::::+++++:::::::,,::,,:::::+++++++++++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++++::++++++++++++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,:::::::::::::::++:++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++++:++++++++:::+:++++::::++::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,:::::::::+++::++++**+++
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++++++++++++++::::::+:::+++++++++++++++++++++++++++*++++**++++++++++++++++++++++::::::::::::,,,,,,,,::::,,,,,,,,::,,:
::::::::::++::++++++::,::,,,,,,,,,,,,,,:::::::::::::::++++++++:::+++++++++++++++++::++++:::+++++++:+++++++++++++++++++++++++++++++++**+++++++::+++++**++++++**+
+++***+:++++++++++++::+:::::::::::::::::::::::::::::::++++::::::::,:,,::::::::::++++++++++++++++++::::++++::::++++::++:+++++++++++++++++++++++:+++::+++++++++++
++++:+++++++++++++++::++++::::::::::::++::++::::::++::++++::++::::::::::::::::++++::::::++++++++++::++++++++++:::::::::+++++++++++++++++++++:++++:::::,,,:++++:
++++++++++++++++++++++::++++:++++:::::::::::++::::::++++::+:::::::++++++++::::::::::::::::++++++++::++::::::::::::::::::++++++**++++++++++++++*+::,::::+::,,,,,
+++++:++++++++*+*+++**++++++++++++++++++++++++++:+++++++::++++++++::::::::++++::++**++++::::++++++++++++++::::::++::++::::++++++::::++:+++::::::::++++++:::::::
++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++*+**++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++*+++::+++************+++++*****++++++++++*******+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::++++++:::::+++++++++++++++**++++++++++++++++++++++++++++++++++++++:+++:+**++++**++++***+++++**++++++*+++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
:::::::::::::::::::::::::::::::::::,....,,,,,,::::::::::,,..,,,:::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,::::::::::,,::::++::++++++++*****
:::::::::::::::::::::::::::::::::*+:+:::::::::::::::::,,:::::::+::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,::::,,,,::::::::::,,::,,,,::,,:::::::::
:::::::::::::::::::::::::::::::+++:*::::::::::::::::,,,:::::::::+,::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,::::::::::::::,,,,:::::::::
:::::::::::::::::::::::::::::,*+*:+*.::+**#####################*+.::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::+####***:,,:###############*###############*:#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,,,::::::,,::::,**:,:*##################################::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,:,,,,,:++**********######**+:,:,,,***#####*******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,::::::::::,,::+++*********#####***,,,,,,::***##########*:,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::+++*+*****#####*###########################**:,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++:+:++++*+++++++++*+++#****########################################+,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+::+++*+++++++++*##***#**####################################**,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++::::::+++++:::::+*###*:######################################**#,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
***+**+:::::::::,:::::::,+##**,###########*#############################::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:
:::::::::+::::::::,,,,,,,,*###,######:+++*##############################++++++++++++::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,::::::::::::++++***########################################***++++++++++::::::::::::::::++++**++++++++::::::::::,::::::::::::::::::::::::::::::::::
::::::::::::::::::::++++++++++++******++********++++++++++++++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++++++++++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::,:++++++++::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,,,,,::::::::++++++++::::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,:,:::::+::++::++++++::++++++++++++++++++++++++++:+++::::::,:++++:+++++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::++:+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::++++++++:++++++++++++++++++++++++
::+++++++++++*++****++++++*++++++:++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::::++++++++++::::+++
$::::::::::::++++::++++++++****+*:::::++++*++**************************************++****++++++++++::::::+:::::::::::::::::::::::,,::::::::::++++++++++::+++++++
:::::::::::::::::::::::::::::::::+:+++++++++++++++**++**********++******+*****************************++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::+++++*++++++++++++++++++++++++++++++******++++++++++++++++++++++++*************************
:::::+++++++++++++*+++::::::::++::::::++++++::::::::::::::::::::::::::+++++:::::::,,::,,::,,:+++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++::++::++++++++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,:::+++++++++++++++:++++++++:::::++:+::::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,::::::::::++:++++++++++
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++**++++++++++::::::+:::+++++++++++++++++++++++++++*++++**++++++++++++++++++++++::::::::::::,,,,,,,,::,,,,,,,,,,::,,,
::::::::::++::++++++:::::,,,,,,,,,,,,,,:::::::::::++::++++++++:::+++++++++++++++++::++++::++++++++::++++++++++++++++++++++++++++++++**+++++++::+++++**++++++**+
+++***+:::++++++::::::+:::::::::::::::::::::::::::::::++++::::::::,:::::::::::::++++++++++++++++++::::++++++:::+++::++++++++++++++++++++++++++:+++::+++++++++++
:+++++++++++++++++++::+++++:::::::::++++::++::+:::++::++++::++::::::::::::::::++++::::::++++++++++::++++++++++::::::::::++::++++++++++++++++:++++::::::,,:++::+
++++++++++++++++++++++::++:::++++:::++::::::++::::::++++::+:::::::++++++::::::::::::::::::++++++::::++::::::::::::::::::::::++++++++++++++++++*+++::::+:::,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++::::++++++++::::::::++++::++**++::::::++++++++++++++::::::++::++::::++++::::::++:+++::::::::++::++:::::::
++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++*+++::+++************++++*******+++**++*********+++++++++++++++++++++++++++++****++*++++++++++++++++
:::::::::::::::::::::::::::::+++:::::::+++++:+++++++++**++++++++++++++++++++++++++++++++++++++:+++:+**++++*+++++**++++++**++++++**++++++++++++++****++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::::::::::+:,.,,,,::+++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,::::::::::,,::::++::++++++++*****
::::::::::::::::::::::::::::::::::::::#:,:*:::::::::::::::,,,:::::::,:,+::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::,,,,::,,,,,,::::::,,:::
::::::::::::::::::::::::::::::::::::+#::,*+:::::::::::::::,,::,,,,,::::+::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,::::::::::::::::,,:::::::::::
:::::::::::::::::::::::::::::+:::::*#++,:*+,:#######********+++++++++*##*.::::::::::::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::###**#**:,,:*###############**###############,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::,,::::::::,,::::::::::+#+:,::###########******+*****######******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:+++************####***:::.,::**######******::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,:::::::::,,,,::,*++**++*#*###################################*,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++::::::,..,**++*#***+*############************##########*+,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++:+:++++*++++:+:++*++++:::*##**##*#######################################+,,::,,:::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+::++**++++++++++++++*###****#**###################################*#,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*++++*++::::::++++++::::::::+:####*+*:##*#####################################::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+++***+:::::::::,:::::::::,,::*##***+:#######*##*#############################::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:
+:::,::::+::::::,,,,,,,,,,,,,:,*#####+########################################**++++++::::::::::::::++::++::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,,,,,::::::::::::+++++++**#################################********++++::++++::::::::::::++++**++++++++::::::::::,::::::::::::::::::::::::::::::::::
::::::::,,::::::::::::::::::::++::++++++++++++++++++++::::++++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,,,,,::::::::++++++++::::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,:,:::::+::++++++++++::++++++++++++++++++++++++++++++++:+::,:++++:+++++++:+++++::++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::++:+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::++++++++:++++++++++++++++++++++++
::+++++++++++*++****++++++*++++++:++++++++++++::++::::+++++++++:+++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::::++++++++++::::+++
$::::::::::::++::::++++++++****+*:::::++++*++**************************************++****++++++++++::::::+:::::::::::::::::::::::::::::::::::++++++++++::+++++++
:::::::::::::::::::::::::::::::::+:+++++++++++++++++++**********++******+*****************************++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::+++++*++++++++++++++++++++++++++++++******++++++++++++++++++++++++*************************
:::::+++++++++++++*+++::::::::++::::::++++++::::::::::::::::::::::::::+++++:::::::,,::,,::,,:+++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++::++++++++++++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,:::+++++++++++++++:++++++++:::::++:+::::::++++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++**++++++++++::::+:+:::++++:+++++++++++++++++++++**++++**++++++++++++++++++++++::::::::::::,,,,,,,,::,,,,,,,,,,::,,,
::::::::::++::++++++:::::,,,::,,,,,,,,,:::::::::::++::++++::++::++++++++++++++++++::++++::++++++++::++++++++++++++++++++++++++++++++**+++++++::+++++**++++++**+
++****+:++++++++::::::+::::::::::::::::::::::::::::+::::++::::::::::::::::::::::++++++++++++++++++::::++++++++:+++::++++++++++++++++++++++++++:+++::+++++++++++
:+++:+++++++++++++++::+++++:::::::::::++::++::+:::++::++++::++::::::::::::::::++++::::::++++++++++::++++++++++::::::::::++::++++++++++++++++:++++:::::,,,:++:::
++++++++++++++++++++++::++:::++++:::::::::::++::::::++++::+:::::::++++++++::::::::::::::::++++++::::++::::::::::::::::::::::++++++++++++++++++*++:::::+:::,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++++::++++++++::::::::++++::++**++++::::++++++++++++++::::::++::++::::++++++::::++:+++::::::::++::++::++:::
++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++*+++::+++************+++*+******+++**++*********+++++++++++++++++++++++++++++****++*++++++++++++++++
:::::::::::::::::::::::::::::+++:::::::+++++:+++++++++**++++++++++++++++++++++++++++++++++++++:+++:+**++++*+++++**++++++**++++++**++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::,:,,:+**++::::,,::::::::,,::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::::::,,::::::::++++++++*****
:::::::::::::::::::::::::::::::::::::::::::#:.::+:::::::::::::,,,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::::::::,,::,,,,,,::::::,,:::
::::::::::::::::::::::::::::::::::::::::+*#:.,:++:::::,,::::::::,:::,,,,:::::+::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,::::::::::::::,,:::::::::::
::::::::::::::::::::::::::::::::::::::::*#*,,,:+::*#*:::,,,,,,,::,,,,,,,,,,,,*#*::::::::++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::**#,*###:,,,:*###############+################::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::::::::++**+:+********#######################******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+++*************#####***:::.::,*#*####******::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,:::::::::,,,,,,,,,,,,*++***:+##********######################******+,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,,,++#*****#*+**#############**#####################*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++:+:++++*+++*++:++*++++:::::::,*###*******#####################################::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+:+++**++++++++++++++:::::#####**++##*###################################**:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*++++*++::::::++++++::::::::::::,,,###****+,########################################::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+++***+:,,::::::,:::::::::,,::,,::,*######+:##############################*########*::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::++++++++++:
+:::,::::+::::::,,,,,,,,,,,,,,,,::::**#####+#######################################*++++++++::::::::++++++::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,,,,,::::::::::::+:::::::+++++++*******************************+++++++++:++++::::::::::::++++**++++++++::::::::::,::::::::::::::::::::::::::::::::::
::::::,,,,,,::::::::::::::::::::::::::::::++++++++::::::::++++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++++++++++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,:::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,,,,,::::::::++++++++::::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,,,:::::+::++++++++++::++++++++++++++++++++++++++++++::::::,:++++:+++++++:+++++::++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++:::::+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::++::++++:++++++++++++++++++++++++
::+++++++++++*++****++++++*+++**+:++++++++++++::++::::+++++++++:+++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::::++++++++++::::+++
$::::::::::::++::::++++++++****+*++:::++++*++**************************************++*****+++++++++::::::+:::++::::::::::::::::::,,::::::++::+++++++++++++++++++
:::::::::::::::::::::::::::::::::+++++:+++++++++++**++******************+*****************************++++++++++**++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::++++:::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::+++++++++++++++++++++++++++++++++++******++++++++++**++++++++++++*************************
:::::+++++++++++++*+++::::::::++::::::++++++::::::::::::::++::::::::::+++++:::::::,,::,,::,,++++++++:+++++++++++++++++++++++++++++++++++++++**++****++++*******
,,,,::::++::++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,:::+++++++++++++++:++++++++:::::++++:::::::+++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,:::::::::::::++++++***+
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++**++++++++++::::::+:::++++:+++++++++++++++++++++**++++**++++++++++++++++++++++::::::::::::,,,,,,,,::,,,,,,,,,,::,,:
::::::::::++::++++:+::::::,,::,,,,,,,,,:::::::::::++::++++++++::++++++++++++++++++::++++::++++++++::++++++++++++++++++++++++++++++++**+++++++::+++++**++*+++**+
+++**++:++++++++++++::+::::::::::::::::::::::::::::+::::++::::::::::::::::::::::++++++++++++++++++::+:++++++:::+++++:::+++++++++++++++++++++++:+++::+++++++++++
:+++++++++++++++++++::+++++:::::::::++++::++::::::++::++++::++::::::::::::::::++++::::::++++++++++++++++++++++::::::::++++::++++++++++++++++:++++:,:::,,,:++:::
++++++++++++++++++++++::++:::++++:::++++::::++::::::++++::::::::::++++++++::::::::::::::++++++++++::++++++::::::::::::::::::++++++++++++::++++*++:::::+:::,,,,,
+++++:++++++++*+++++++++++++++++**++++++++::++++++++++++::++++++++::::::::++++::++**++++::::++++++++++++++::+:++++++++::::++++++::::++:+++::::::::++::++::++:::
++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::++++++++++:+++++**++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**++++++++++++++++++++++++++++++++++++++++++:++++:++++************+++*******++++**++*********+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::::++:::::::+++++:+++++++++**++++++++++++++++++++++++++++++++++++++:+++:+**++++*+**++**++++++**++++++**++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,....,,....,,,,:,,,::::::::::::::::::::::::::::::++++++****++++**++++++++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::+,,:++::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::,,,,::,,,,,,::::::::::,,::::++::++++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::+#:,::*+:::::::::::,,,,::::,,::::,+::::::::::::::::::::::::::::::::::,,,,::::::::::::::::,,,,::,,,,,,:::::::::::
:::::::::::::::::::::::::::::::::::::::::::::+##:,+::*+:::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::::::::::,,:::::::::::
::::::::::::::::::::::::::::::::::::::::###::##+,+,,,,+:##::::**######*#############**:+++::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::**#+##*,,,,::+#################################+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::::::::::::+++*******#*****+*#########*****########******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,:++*******#********####***+,,,,,,+**#####******::::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,:::::::::,,,,,:,,,,,,::::#*******+*###*********************##############,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,,,:++,,,##*****#**#######################################:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::
+++++:+:++++**+++++++++++++:::::,,,,,,,:###*********####################################*,:::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:::+*+**+++*++++++++++::,:,,:,,+####**++:*##*####################################,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++:::::::+++++::::::::::::,,,,,,.+###*****,+###########*###########################:::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+*+***+:::::::::,:::::::::,,::,,::,,,,,,######::,*#####*++**###################***#######:++++++::::::::::::::::::++++::++::::::::::::::::::::::::::++++++++++:
+:::,::::++:::::,,::,,,,,,,,,,,,::::::::++++*****#######################################**++++++::++++++++::++::::::::::++::::++++++++:::::::::::::::::::::::::
::,,,,,,,,,,,,,,::::::::::::+:::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::++++**++++++++:::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,::::::::::::::::::::::::::::::++::::++::::::::++++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++++++++++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,::::::::++++++++++::++:++++++*++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,,,:::::+::++++++++++::++++++++++++++++++++++++++++++:::+::,:++++:+++**++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::++:+++++::++::::++:+++++++++:+++++++++++++++++++++::+++:::::++++++++++++++++++++++++++++::::++++++++++:++++++++++++++++++++++++
::+++++++++++*++****++++++*+++**++++++++++++++::++::::+++++++++:+++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::++++++++++++++::+++
$::::::::::::++::::++++++++******++:::++++*++**************************************++++****++++++++::::::+:::++::::::::::::::::::,,::::::++::+++++++++++++++++++
:::::::::::::::::::::::::::::::::+++++++++++++++++**++******************+*****************************++++++++++**++++++++++++++++++++++++++++::+::::::::::::::
::::::::::::::::::::::::::::::++++:::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*************************
,:::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::+++++++++++++++++++++++++++++++++++**++**++++++++++**++++++++++++*************************
:::::+++++++++++++*+++::::::::++::::::++++++::++::::::::::++::::::::::+++++:::::::::::,,::::++++++:::+++++++++++++++++++++++++++++++++++++++**++****++++*******
,,,,,,::::::++++++++++++*+++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,:::+++++++++++++++:++++++++:::+:++++::::::::++++++++++++**++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,::::::::::::::::++++++**+
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++**++++++++++::::+:+:+:++++++++++++++++++++++++++**++++**++++++++++++++++++++++::::::::::::,,,,,,,,::,,,,,,,,,,::,,:
::::::::::++::++++++::,::,,,:,,,,,,,,,,:::+:::::::++::++++++++::++:+++++++++++++++::++++:::+++++++:+++++++++++++++++++++++++++++++++**++++++++:+++++**++++++**+
+++***+:++++++++++++::+::::::::::::::::::::::::::::+::::++++::::::::::::::::::::+++++++++++++++++++++:++++++::++++++++:+::++++++++++++++++++*+::++::+++++++++++
::++:+++++++++++++++::++++++::::::::++++::++::::::++::++++::++::::::::::::::::++:+::::::++++++++++++++++++++++::::::::++++::++++++++++++++++:+*++::::::,,::::::
+++++++++++++++++:++++::++++:++++:::++::::::++::::::++++::::::::::++++++++::::::::::::::++++++++++::++::++::::::::::::::::++++++++++++++::++++*+::,:::::::,,,,,
+++++:++++++++*+*+++++++++++++++**++++++++::++++++++++++++++++++++::::::::++++::++**++++::::++++++++++++++::+:++++++++::::++++++::::++++++::::::::++++++::++::+
++++++++++++++++*+++++++++++++++++++++++++++++++++++++++::++++++++++:+++++**++++++++++*+**++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++
++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++::+++************++++********++**+++********+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::++++++:::::+++++++++++++++**++++++++++++++++++++++++:+++++++++++++:+++:+**++++****++**++++++**++++++**++++++++++++++****++++++**++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,......,,,,,,,,,,,,..,:::::::::::::::::::::::::::++++++****++++**++++++++++++++++****::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::,:#:.,:*:::::::::::::::::::::::::,::::::::::::::::::::::::::::,,,,::,,,,,,::::::::::,,::::++::++++++++****+
::::::::::::::::::::::::::::::::::::::::::::::::::::##,.::++::::::::::,,,,::::,,,,:::::,::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::,,::,,,,,,,,:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::+##,.+,:++::::::++****#####*########**:,::::::::::::::::::::::::::::::,,::::::,,,,::::::::::::::,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::+###:+##*.:,,:::+###############*##############+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,:*#**,,,:::+*################################+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::::::::::::::::+******************#####***:::,,::########*****::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,:,+*********##********####***.,,,:++***#######**#:,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,::,,::::::,,,,,,,,,,,,::::,,,,*#*******#***#########################**########**:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,....,,:+*::,,,,,*#******#**#######################################::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::
+++++:::++++*++++++:+++++++:::::,,,,,,,,,...####******+#**###################################*:::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+:+++**+++++++++++++:::::,,,,,,,,.,#####*+++::#######################################:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+*++*++::::::++++++::::::::::::,,....,,,,,.###****:+:,#######**#**##########################*::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+*+***+:::::++::::::::::::::::::::,,,,,,,,,,+#####****+#############################**#######*++++::::::::::++::::++++::++::::::::::::::::::::::::::++++++++++:
+::::::::++:::::,,,,,,,,,,,,,,,,,,::::::::::+++++++******###########################********++++++++++++++::++::::::::::::::::++++++++++:::::::::::::::::::::::
:::,,,,,,,,,,,,,,,,,::::::::+:::::::::::::::::::::::::::++++++++++++++++++++++++::::::++::::::::::::++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::++++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:,,,::,
::::::::::::::::::::::::++++++++++::::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,:::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,::::::::++++++++++::++:++++++*++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,::,,,,,,:::::::+::++++++++++::++++++++++++++++++++++++++:+++::::::,:++++++++++++::++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::++:+++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::++++++++++++++++++++++++++++::::::++++++++:++++++++++++++++++++++++
::+++++++++++*++****++++++*+++***+++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::::++++++++++++::++:
$::::::::::::++::::++++++++****+*:+:::++++*++**************************************++++****++++++::::::::+:::++::::::::::::::::::,,::::::++::+++++++++++++++++++
:::::::::::::::::::::::::::::::::+:+++++++++++++++****************************************************++++++++++**++++++++++++++++++++++++++++::::::::++::::++:
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::+++++++++++++++++++++++++++++++++++******++++++++++++++++++++++++*************************
:::::+++++++++++++*+::::::::::++::::::++++++::::::::::::::::::::::::::++++::::::::::::::::,,++++++::++++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++++++++++++::++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,::+++++++++++++:::+++++++++::::++:++:::::++++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,:::::::::::::++++++***+
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++++++++++++++::::+:+:::++++:+++++++++++++++++++++**++++**++++++++++++++++++++++::::::::::::::,,,,,,::::,,,,,,,,::,,:
::::::::::++++++++:+++:+::,,,,,,,,,,,,,:::::::::::::::++++++++:::+++++++++++++++++++++++::++++++++::++++++++++++++++++++++++++++++++**++++++++:+++++++++++++**+
++++**+:++++++++++++::+::::::::::::::::::::::::::::+::++++::::::::::::::::::::::++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++:+++::+++++++++++
:+++++++++++++++++++:++++++:::::::::::++::++::::::++::++++::++::::::::::::::::++++::::::++++++++++++++++++++++++::::::::++++++++++++++++++++:++++:,::::,,:++:::
++++++++++++++++++++++::++:::++++:::::++::++++::::::++++::::::::::++++++++::::::::::::::::++++++++::++++++::::::::::::::::++++++++++++++++++++*++:,:::+:::,,,,,
+++++:++++++++*+++++++++++++++++**++++++++::++++++++++++++++++++::::::::::++++::++**++++::::++++++++++++++::++++++++++::::++++++::::++++++:::::::::+::++::++::+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++:+++++**+++++++++*****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**+++++++++++++++++++++++++++++++++++++++++++*+++:++++************+++********+++**++++*******+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::::++++::::++++++:+++++++++**++++++++++++++++++++++++++++++++++++++:+++++**++++*+**++**++++++**++++++**++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,:,,,::++****++++**++::.,::::::::::::::::::::++++****++++**++++++++++++++++****::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,*#:,,:++:::::::::,,,,::::::::::,:::::::::::::::::::,,,,,,,,,,::,,::::::::::,,::::::::++++++++*****
++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::###,,:,:++:::,,,,,:,,,:::::,,,,,,,,::::::::::::::::::::::::,,::::::::::::::::::,,::,,,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++##+:,:,:+**+:,*#####******************##+:::::::::::::::::::::::::::::,,,,::::::::::::::,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::+*#*,##**,::,,,::+###############:##############*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::,.:+:,::::+***##*#*####*******+*****#####****+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::::::::::::::::::::::,+*************#*******######*,,+.,::##*####******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,.+#+******##:+*#######***####################*******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:,,::::::,,,,,:,,,:,,::::,,,,,,,,,,,+##*******##*****###################################::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,....,::+++::,,,,,,,,,,,,+###******#*:##**##################################::::::::::::::::::::::::::::::::::::::::::::::::::::::+::
+++++:+:++++*++++++:+++++++:::::,,,,:,,,....,,.,,,,+####******++##**#################################*:::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+:+++**+++*++++++++++::::,,,,,,,,,,,,,,.,,*###*******,,##**##################################:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++:::::::+++++::::+:::::::,,..,,,,,,..,,,,,,,+#####:,,:+,+#####***################****########**++++++::::::::::::++::::::::::::::::::::++++::::::::::++:
++++**+:,,::++::::::+:::::::::,,::,,,,,,,,,,,,,,::::++**********#####################################*++++++++::++++++::++::::::::::::::::::::::::::++++++++++:
+:::,::::++:::::,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++**++++++****++++++++++++++++::::++++++::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,,,,,,,,,::::::,,::,,,,::::::::::::::::::::::::::::++:+++++::++++::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
::::::,,,,::::::::::::::::::::::::::::::::::::::++::::::::++::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:,,,::,
::::::::::::::::::::::::++++::++++::::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::
++::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,::::::,,::::::::++++++++++::++:++++++*++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,:::::+++++++++++++::++++++++++++++++++*+++++++++++::::::,::+++:+++++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::++:+++++::++::::++:+++++++++:+++++++++++++++++++++::+++:::::++++++++++++++++++++++++++++::::::++++++++:++++++++++++++++++++++++
::+++++++++++*++****++++++*+++++++++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++******++:::++++*++**************************************++*****+++++++++++::+++:::++::::::::::::::::::,,::::::++::+++++++++++++++++++
:::::::::::::::::::::::::::::::::+++++++++++++++++**********************+****************************+++++++++++++++++++++++++++++++++++++++++::::::::++:::::::
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::+++++++++++++++++++++++++++++++++++**++**++++++++++++++++++++++++*************************
:::::++++*++++++++*+++::::::::++::::::++++++::::::::::::::::::::::::::+++++:::::,,::::,,::::++++++:::+++++++++++++++*+++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,::++++++++++++++++++++++++:::::++++::::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::+++++++**+
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++**++++++++++::::+:+:::++++:+++++++++++++++++++++**++++**++++++++++++++++++++++::::::::::::::,,,,,,::::,,::,,,,::,,,
::::::::::++++++++:+::,::,,,,,,,,,,,,,,:::::::::::++::++++++++:::+++++++++++++++++++++++:::+++++++:+++++++++++++++++++++++++++++++++**+++++++::+++++**++++++**+
+++***+:++++++++++++::+::::::::::::::::::::::::::::+::++++::::::::,:,,::::::::::++++++++++++++++++++:+++++++++++++++::++::++++++++++++++++++++:+++::+++++++++++
::++++++++++++++++++::+++++:::::::::::++::++::::::++::++++::++::::::::::::::::++++::::::++++++++++++++++++++++++::::::++++++++++++++++++++++:++++::::::,,::+:::
++++++++++++++++++++++::++:::++++:::::++::++++::::::++++::::::::::++++++++::::++::::::::++++++++++::++++::::::::::::::::::++++++++++++++++++++*++:,:::+:::,,,,,
+++++:++++++++*+*+++++++++++++++**++++++++::++++++++++++::++++++++::::::::++++::++**++++::::++++++++++++++::++++++++++::::++++++::::++++++::::::::++::++::::::+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**+++++++++*****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++**++++++++++++++++++++++++++++++++++++++++++:++++:++++************++++******++++**++++*******+++++++++++++++++++++++++++++****++*++++++++++++++++
::::::::::::::::::::::::::::::++++::::++++++:+++++++++**++++++++++++++++++++++++++++++++++++++:+++++**++++*+++++***+++++**++++++**++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::,:::***+++::::::::::::+++:::::::::::::::::++++****++++**++++++++++++++++****::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,##+,,::++:::::::::,,,:::::::::::,:::::::::::::::,,,,,,,,,,::,,::::::::::,,::::::::++++++++*****
++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::###+,,+::++:::::,,,,,,,::::,,,,,,,,,,:::::::::::::::,,::,,,,::::::::::::::::,,::,,,,,,:::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##+:##*+,,+,:::++::##::::,,,,,,,,,,,,,,,,,::#*:::::::::::::::::,,::::::,,,,::::::::::::::,,:::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::**####*:,,::::++*###############:##############*::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,+,:+**+*+#**+*+***#########*##########*****+::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::,,::::::::::::::::::::,,+*********#***##*******######*,,:,++:##*####*****+:::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::+***********+*####**************####**#************+:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,:,,::::::,,,,,:,,,,,,::::,,,,,,,,,,,,,,#*#*******##+*######################################:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,::+++::,,,,,,,,,,,,,,,+###*********:#***##################################::::::::::::::::::::::::::::::::::::::::::::::::::+::
+++++:+:++++*++++++:+++++++:::::,,,,:,,,....,,.,,,,,,,+###********:+#####################################::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+:+++**+++*++++++++++::::,,,,,,,,,,,,,,..,,,,+###****:++*,,###########*#########################+:::::::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++:::::::+++++::::+:::::::,,,,..,,,,..,,,,,,,,,,:*####****##:*##########################****#######*++::::++::::::++::::::::::::::::::::++++::::::::::++:
++++**+:,,::++::::::+:::::::::,,::,,,,,,,,,,,,,,::::::::++++++*********###########################*******+++++::++++++::::::::::::::::::::::::::::::++++++++++:
+:::,::::++:::::,,::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::++++::::++++++++++++++::::::::::++++++++::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,,,,,,,,,,,,,::,,::,,,,::::::::::::::::::::::::::::::++::::::::::::::::::::::++::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
::::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::++::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++++::++++::::++::++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::
++::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::+++++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,::,,::::::::++++++++++::++:++++++*++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,:::::+++++++++++++::++++++++++++++++++*+++++++++++::::::,::+++:+*+++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++:::::+++++::++::::++:+++++++++:+++++++++++++++++++++::+++:::::++++++++++++++++++++++++++++::::::++++++++:++++++++++++++++++++++++
::++++++++++**++****++++++*++++++:++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++****+*:+:::++++*+***************************************++++**++++++++::::::::+:::++::::::::::::::::::,,::::::++::+++++++++++++++++++
:::::::::::::::::::::::::::::::::::+++++++++++++++***************************************************+++++++++++++++++++++++++++++++++++++++++::::::::++::::++:
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:::::+++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*************************
:::::++++*++++++++*+::::::::::++::::::++++++::::::::::::::::::::::::::++++::::::::::::::::::::++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++++++++++++::++++++++::::++++++++++++++++++++++++::::,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,::+++++++++++++++:+++++++++::::++:++:::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::++++++***+
,,,,,,,,,,,,,,,,,,,,::+++:+++++++++++++++++++++++++++++++:::+:+:::++++:+++++++++++++++++++++**++++**++++++++++++++++++++++::::::::::::::,,,,,,::::,,::,,,,::,,,
::::::::::++::++++:+:::+::,,,,,,,,,,,,,,::::::::::++::++++++++:::+++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++++++**++++++:::+++++++++*+++**+
++++**+:++++++++++++::+::::::::::::::::::::::::::::+::::++::::::::::::::::::::::++++++++++++++++++++:+++++++++++++++:+++++++++++++++++++++++++:+++::+++++++++++
++++++++++++++++++++:++++++:::::::::::++::++::+:::++::++++::++:::::::::::::::::::+::::::++++++++++++++++++++++++::::::::++++++++++++++++++++:++++::::+:,,::+:::
+++++++++++++++++++++*::++:::++++:::::::::++++::::::++++::::::::::++++++++::::++::::::::::++++++++::++++++::::::::::::::++++++++++++++++++++++*++:,:::++::,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++++++++++++++::::::::++++::++**++++::::++++++++++++++::++++++++++::::++++++::::++:+++:::::::::+::++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++******+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:++++************+++*+*****++++**++*********++++++++++++++++++++++++++++++***+++++++++++++++++++
::::::::::::::::::::::::::::::+:::::::++++:::+++++++++**+++++++++++++++++++++++:::::++++++::++:+++++**++++*+**++***+++++**++++++**++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.**,,,:*++++:::::::::,::::::::::::::::::::::++++****++++**++++**++++++++*****+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+##+,,+:+*+:::::::::,,::::::,,::,,::::::::::::,,,,,,,,,,,,,,::::::::::::::::::::++++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,##*+,,*,:+*+:::::,,::::::::,,,,,,,,::::::::::::::,,::,,::::::::::::::::::,,::,,::::,,:::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##*+##*+,,+::::,:++##:::::++++++****++::,,,,*#+:::::::::::::::::::::,,,,::::::::::::::::,,:::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#**:,,:::++++*###############################:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+,,:+***#**+:+*****++++######*#**#***#######*****+::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::,,:::::::::::::::::::::::**+**********+*####*******####***,,,,,,***####******::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::#*#****######**######****####**####****############*::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:,,::::::,,,,,:,,,:,,::::,,,,,,,,,,,,,,,,,###**#######**######################################*:::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,::++:,+,,,,,,,,,,,,,,,,,,*####*******++*#####################################:::::::::::::::::::::::::::::::::::::::::::::::+::
+++++:+:++++*++++++:+++++++::::::,,,:,,,....,,.,,,,,,,,,,*###********,:*##**################################+::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+::++**+++*++++++++++++::,,,,,,..,,,,....,,,,,,,*####**++*+:,:*#######**#*#########################+::::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++:::::::+++++::::+:::+:::,,,,..,,,,,,,,,,,,,,,,,,::+**#*#####**+*############################*######*++++++++++::++::::::::::::::::::::::++::::::::::++:
+++***+:,,::++::::::+:::::::::,,:+,,,,,,,,,,,,,,,,::::::::::::++++++********########******************++++++++++++::++::::::::::::::::::::::::::::::++++++++++:
+:::,::::++:::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::++++++++++::::::::::::::::::++++::::::::::::::::::::++++++++:::::::::::::::::::::::::
:::,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
::::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::++::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++++::++++::++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,:::::::::
++::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++::+++++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,::,,::::::::++++++++++::++:++++++*++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,::::::++++++++++++::++++++++++++++++++*+++++++:+++::::::,::+++:+*+++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++:::::+++++::++::::++:+++++++++:+++++++++++++++++++++::+++:::::++++++++++++++++++++++++++++::::::++++++++:++++++++++++++++++++++++
::++++++++++**++****++++++*++++++:++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++:::::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++****+*:::::++++*++************++************************++++**++++++++::::::::+:::++::::::::::::::::::,,::::::+++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::+++++++++++++++++**++**********++****+****************************++++++++++++++++++++++++++++++++++++++++++:::::::::::::++:
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*************************
:::::+++++++++++++*+::::::::::++::::::++++++::::::::::::::::::::::::::+++++:::::::::::::::,,++++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++::++++++++++++++++++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,::+++++++++++++++:++++++++:::::++:++:::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::+++++++**+
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++**+++++++++++:::::+:::++++:+++++++++++++++++++++++++++**++++++++++++++++++++++::++::::::::::,,,,,,::::,,::,,,,,,,,,
::::::::::++::++++++:::+:,,,,,,,,,,,,,,:::::::::++++::++++++++:::+++++++++++++++++::++++::++++++++:+++++++++++++++++++++++++++++++++**++++++:::+++++++++++++**+
++++**+:::++++++++++::+:::::::::::::::::::::::::::::::::++::::::::,:::::::::::::++++++++++++++++++++:+++++++++++++++::++++++++++++++++++++++++:+++::+++++++++++
:+++++++++++++++++++::++++::::::::::::++::++::+:::++::++++::++::::::::::::::::++:+::::::++++++++++::++++++++++++::::::::++++++++++++++++++++:++++::::::,,::+:::
++++++++++++++++++++++::++:::++++:::++::::++++::::::++++::::::::::++++++++::::::::::::::++++++++++::++++::::::::::::::::++++++++++++++++++++++*++:,:::++,:,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++++::++++++++::::::::++++::++**++::::::++++++++++++++::::++++++++::::++++++::::++:+++::::::::++::++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++:++++************+++*******++++++++++*******+++++++++++++++++++++++++++++****+++++++++++++++++++
::::::::::::::::::::::::::::++::::::::++++:::+++++++++**++++++++++++++++++++++:,,,..........,,,,:::+**++++*+**++**++++++++++++++**++++++++++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::##:,,::*+::::::,,:::::::::,::,,::::::::::++++****++++**++++**++++++++++***+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*:,,+++*+::::::::::,:::::,,::,,,,::::::::,,,,,,,,,,::,,::::::::::::::::::::++++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##+::,:,++*+::::,::::::+++++++++::::,,::::::::,,::,,::::::::::::::::::,,::,,:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##**##**+::+::::+:+*##**#######################*::::::::::::::::::,,:::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,*#*+:::+:++++*##############*################::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+***********+***********####**#,,:,,,***####******:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::,,::::::::::::::::::::::::,+#***********::*###********####**#::,,:+***####******:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,**#******######******############********************:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,*####****##*#+**###*#################################:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,::++:,:,,,,,,,,,,,,,,,,,,,,+####********+++####################################*::::::::::::::::::::::::::::::::::::::::::::+::
+++++:+:++++*++++++:++++++++::::::,,,,,,,...,,.,,,,,,,,,,,,,####********,,+##*################################*+:::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+::++**+++*++++++++++++::,,,,,,,,,,,,....,,,,,,,,,:#####::::::+,:*#####################***++#########*::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++::::::++++++,::::+::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,::++++**********###################################*++++++++::++::::::::::::::::::::::++::::::::::++:
++++**+:,,::++++,:::+:::::::::,,:+,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++*****************++++++++++::++::::::::++::::::::::::::::::::::::::::::++++++++++:
+::::::::++:::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,:,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,:::::::::::::::::::::::::::+++::::::::::::::::::::::::::++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
::::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::++::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++++::++++::++++::++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,:::::::::
++::++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++++::+++++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,,,,,::,,::,,::::::::++++++::++::++:++++++*++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,::::::++++++++++++::++++++++++++++++++*+++++++++++::::::,:++++:+*+++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::::::++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::++++++++:++++++++++++++++++++++++
::++++++++++**++****++++++*++++++:++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++:::::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++****+*:::::++++*++************++************************++++**++++++++::::::::+:::++::::::::::::::::::,,::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::++++++++++++++++++**++******++++++****+****************************+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::++++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*************************
:::::+++++++++++++*+::::::::::++::::::::++++::::::::::::::::::::::::::++++::::::::::::::::::::++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::++::++++++++++++++++++++++++++++++++::++++++++++++++++++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,::+++++++++++++:::++++++++:::::++:++:::::++++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++
,,,,,,,,,,,,,,,,,,,,::+++:++++++++++++++++++++++++++++++::::::+:::++++:+++++++++++++++++++++++++++**++++++++++++++++++++++::++::::::::::,,,,,,::::,,::,,,,,,,,,
::::::::::++::++++++:::+:,,,,,,,,,,,,,,,::::::::++++::++++++++:::+++++++++++++++++::++++::++++++++++++++++++++++++++++++++++++++++++**++++++:::+++++++++++++**+
++++++::::++++++++++::+:::::::::::::::::::::::::::::::++++::::::::::::::::::::::++++++++++++++++++++::++++++++++++++::++::++++++++++++++++++++:+++::+++++++++++
:+++++++++++++++++++::+++++:::::::::::++::++::+:::++::++++::++::::::::::::::::++:+::::::++++++++++::++++++++++++::::::::++++++++++++++++++++:++++::::::,,::+:::
++++++++++++++++++++++::++:::++++:::++::::++::::::::++++::::::::::++++++++::::::::::::::++++++++++::++++++::::::::::::::++++++++++++++++++++++*++:,:::+:,:,,,,,
+++++:++++++++++++++****++++++++++++++++++::++++++++++::::++++++++::::::::++++::++++++::::::++++++++++++++::::::++++++::::++++++::::++:+++:::::::::+::++:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++::++++**++++++++****++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:::++************++++******++++++++*********+++++++:+++++++++++++++++++++****+++++++++++++++++++
::::::::::::::::::::::::::::++::::::::++++:::+++++++++**++++++++++:+++++++++::,,....,,..,,....,,.....,:+++*+**++***+++++++++++++**+++++++++++*++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,##+,,,:+*::::::::::,,::::,,::,,::::::::++++****++++**++++**++++++++++***+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*+,::,++*::::::::::,:::::,,,,,,,,,::,::,,,,,,,,,,::,,::::::::::::::::::::++++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::###++::+,:++*+::,,+*####################*::::::::,,::::::::::::::::::,,::,,:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:*#+:##*#+,:::::::+++##############*+#############:::::::::::::::,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,:,:*::::++:+++****#**###**#*#*********######**#*:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:*******************+*****####***::,::+***###******:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,::::::::,,:::::::::::::::::::::::::::*******######*:+*####**##**#####################*####:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::#*#**********##**######******************************#::::::::::::::::::::::::::::::::::::::::::::
:::::::::::,,,,:::::::::,,,,::,,,,,,::::,,,,,,,,,,,,,,,,,,,,,#####********#*,***##################################*::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,....,::++:,:,,,,,,,,,,,,,,,,,,,,,,*####*********::*####################################:::::::::::::::::::::::::::::::::::::::::::::
+++++:+:++++*+++++++++++++++::::::,,:,,,,...,,.,,,,,,,,,,,,,,+###***++++***,.*###########*#######################+:::::::::::::::+:::::::::::::::::::::::::::::
::::++*+:+::+++*++++++++++++++++::,,,,,,,,,,,,..,,,,,,,,,,,,:+**##*********,:*################************#######+::::::::::::::::+::::::::::::::::::::::::::::
**+++*++::::::++++++::::+:::+:::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++++**********##########****############******++++++++::::::::::::::::::::::++::::::::::++:
+++***+:,,::::::,:::+:::::::::,,:+,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::++++++++++::++++++++::::::::::::::::::::++::::::::::::::::::::::::::::::++++++++:::
:::::::::+::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::++**++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
::::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::++::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::++++::++++::++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::,,:::::::::
++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::+++++++++++
::::::::::::::::::::::::::::::::::::::,,::::::::::::,,::::,,,,,,,,,,,,,,::,,::,,::,,::::::::++++++::++::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,::::::++++++++++++::++++++++++++++++++*+++++++++++::::::,:++++:+*+++++::++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::::::++++::::::::++:+++++++++:+++++++:+++++++++++++::+++:::::+++++++++++++++:++++++++++++::::::++++++++:++++++++++++++++++++++++
::++++++++++**++****++++++*++++++:++++++++++++::++::::+++++++++++++++:++++++++::++++++++++++++++++:::::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++******:::::++++*+***************************************++++**++++++++++::::::+:::::::::::::::::::::::::::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::++++++++++++++++++**********++++++****+****************************++++++++++++++++++++++++++++++++++++++++++::::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++*******************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++::++++++++++++++++++++++++****++++++++++++++++++++++++*************************
:::::+++++++++++++*+::::::::::++::::::++++++::::::::::::::::::::::::::++++::::::,,::::::,,,,::++++:::+++++++++++++++++++++::++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++::::++::++++::::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++++:++++++++:::::++:++:::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++++++++++++++::::+:+:+:++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::,,,,,,::::,,::,,,,::,,,
::::::::::++::++++++:::+::,,,,,,,,,,,,,,::::::::::++::++++++++::::++++++++++++++++::++++::++++++++++++++++++++++++++++++++++++++++++**++++++:::+++++++++++++**+
+:++++::::++::++::::::+::::::::::::::::::::::::::::+::++++::::::::,:::::::::::::++++++++++++++++++++::++++::++++++++++++::++++++++++++++++++++:+++::+++++++++++
:+++:+++++++++++++::::++++++::::::::::++::++::::::++::++++::++::::::::::::::::++++::::::++++++++++::++++++++++++::::::::++++++++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::++:::++++:::::::::::::::::::++++::::::::::++++:+++::::::::::::::::++++++::::::::::::::::::::::::++++++++++++++++++:::+*++:,:::+:,:,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++::::++++++::::::::::++++::++**++::::::++++++++++++++::::::++::++::::++++++::::++:+++::::::::++:::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:::++**********++++++*****++++++++++********+++++++++++++++++++++++++++++****+++++++++++++++++++
:::::::::::::::::::::::::::::+::::::::++++:::+++++++++*+++++++++++:++++++++++:,:+:::::::++**++++::++++*++:.:++++**++++++**++++++**++++++++++++++****++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+##++,,,:+*+:::::,,,,,,::::,,::,,,,::++++****++++**++++**++++++++++***+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+##++::,+,:++*:::::::::,:::,,::,,,,,,,:::::,,,,,,,,,,,,::::::::::::::::::++++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*:##*+++::*::++:::*+*#*:,,,,,,,,,,,,,,..,,,,*#:,,,,,::,,,,::::::::::,,::,,::::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##*+:+:+:::+++++**#############*+*#############::::::,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::+#***++++++*****++:+:*####**##***###*####***+++::::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::,##******######**+*######******####***,,,,,:**###******+::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::::::#*#***##########***###################**************#*+::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,*#*##****#########*#####################################+:::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:*##***********++:####################################*::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,....,::++:,:,,,,,,,,,,,,,,,,,,,,,,,.,:*###*****#****,::##***##############################*::::::::::::::::::::::::::::::::::::::+::
::+++:+:++++*++++++:++++++++:::::,,,:,,,,...,,.,,,,,,,,,,,,,,,,,+*###:::::::***:::######################**##########*:::::+:::::++:::::::::::::::::::::::::::::
::::++*+:+::++**++++++++++++++++::,,,,,,,,,,,,...,,,,,,,,,,,,,,,,::++*******###*:*################****##******#####*++++:::::::::::::::::::::::::::::::::::::::
**+++*++::::::++++++::::::::+:::,,,,..,,....,,,,,,,,,,,,,,,,,,,,::::::::::::::::++++**********++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::+++
+++**++:,,::::::,:::::::::::::,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::
::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**++++:::::::::::::::::::::::::
,,:,,,,,,,,,,,,,,,,,,,,,::::+:,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::,,::::::::::::::,
,,::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::++::::::++::::++++::++::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::
++++++::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::++++++::++++::++++++++++++++++++++::++++:+++::::::,:++++:+*+++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::::::++++::::::::++:+++++++++:+++++++:+++++++++++++::::+:::::+++++++++++++++:++++++++++++::::::::::++++:++++++++++++++++++++++++
::+++++++++++++++***+++++++++++++:++++++++++++::++::::+++++++++:++++++++++++++::++++++++++++++++++:::::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++******:::::++++*+*******++******************************++++**++++++++::::::::+:::::::::::::::::::::::,,::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::++++++++++++++++++**********++++++****+****************************+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++*******************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++::++++++++++++++++++++++++****++++++++++++++++++++++++*************************
:::::++++++++++:++*+++::::::::++::::::::++++::::::::::::::::::::::::::++++::::::,,,,::::,,,,::++++:::+**++++++++++++++++++::++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++::::++++++++::::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++++:+++++++++::::++:++:::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:+++:+++++++++++++++++++++++++++++++:::+:+:+:++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,::,,,,::,,,
::::::::::++::++++:+::++::,,,,,,,,,,,,,,::::::::::++::++++++++::::++++++++++++++++::++++::++++++++++++++++++++++++++++++++++++++++++**++++++:::++++++++++++++*+
++++++::::++::::::::::+:::::::::::::::::::::::::::::::+++++:::::::,:::::::::::::++++++++++++++++++++::++++::++++++++++++::++++++++++++++++++*::+++::+++++++++++
:+++++++++++++++++::::++++++::::::::::++::++::+:::::::++++::++:::::::::::::::::::+::::::++++++++++::++++++++++++::::::++++++++++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::++:::++++:::::::::::::::::::++++::::::::::++:::+++::::::::::::::::::++++::::::::::::::::::::::::++++++++++++++++++::+++++:::::+:,:,,,,,
+++++:++++++++++++++++++++++++++++++++++++::++++++++++::::++++::::::::::::++++::++**++::::::++++++::++++++::::::::::++::::++++++::::++:+++::++::::++:::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:++++**********++++++******++++++++*********+++++++++++++++++++++++++++++****+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::++++:::+++++++++**++++++++++:+++++++++++:+#*::::++++++::::::::,,,,:::+::++**++++++++++++++**++++*++*+++*++****++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,*##++,:,:++*+:::,,,,,,,::::::,,,,,,,++++****++++**++++**++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,,*#*+++::,+:+*+*:::::::,,::::::,,,,,,,,,,::,,,,,,,,,,,,::::::::::,,::::::++++++++++***
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::###*##+**+:::+:++*+::***#*:::++********++:::::,##+,:,::,,,,::::::::,,,,::,,::::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*##*+++++++++++****############################*::::,,,,,,,,:::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,+*****+*****##+++***********####**#+::,::#*###******:::::::::::::::::::::::::::::::::::::::
::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::##*****#########++*#####*******####***,,,,:+*####******:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,::::::,,,,::::::::::::::::::::::::::,:*#*#**#############*++****######****##******************:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,*+###############**,############################**######*::::::::::::::::::::::::::::::::::::::
::::::+:::,,,,,:::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,*:*###***********+::##***###############################:::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,....,::++:,:,,,,,,,,,,,,,,,,,,,,,,,,,:+*##****++**#**#,,:*#**##############################*+::::::::::::::::::::::::::::::::::::+::
::+++:+:++++*++++:::++++++++:::::,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,:**##::++******#,::##############******++:*#########*::::+:::::++:::::::::::::::::::::::::::::
+:::++*+:+::++**++++++++++++++++::,,:,,,,,,,,,,,.,,,,,,,,,,,,,,,,,::++++++**************############*****************+++++::::::++:::::::::::::::::::::::::::::
***++*++::::::++++++::::+:::::::,,,,..,,....,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::++::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::::::++:
+++**++:,,::::::,:::::::::::,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::
::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++**++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::+:,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::,,::::::::::::::,
,,::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::++::::::++::::++++::++::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::
++++++::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++::++:::::+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::,,::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,::::++++++++++++::++++++++++++++++++++++++++:+++::::::,:++++:+*+++++::++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++::::::++++::::::::++:+++:+++++:+++++++:+++++++++++++::::+:::::+++++++++++++++:++++++++++++::::::::::++++::+++++++++++++++++++++++
::++++++++++**+++***+++++++++++++::+++++++++++::++::::++++++++++++++++++++++++::++++++++++++++++++++:::::::::::+++++++++++++++::++++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++******:::::++++*+*******++******************************++++**++++++++::::::::+:::::::::::::::::::::::,,::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::::++++++++++++++++++**********++++++****+****************************+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++*******************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++::++++++++++++++++++++++++****++++++++++++++++++++++++*************************
:::::+++++++++++++*+++::::::::++::::::++++++::::::::::::::::::::::::::+++++:::::,,::::::,,,,::++++:::+**++++++++++++++++++::++++++++++++++++++++****++++**++**+
,,,,,,::::::++++++++++++++++++++++++++++++::::++::++++++::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++++:+++++++++::::++:++:::::::++++++++++++++++++++++++++++++++++**++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::++++++**+
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++++++++++++++::::+:+:+:++++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,::,,,,::,,,
::::::::::++::++++++:::+:,,,,,,,,,,,,,,,::::::::::++::++++++++::::++++++++++++++++::++++::++++++++++++++++++++++++++++++++++++++++++**++++++:::++++++++++++++*+
+:++++::::++::::::::::+:::::::::::::::::::::::::::::::++++::::::::,:::::::::::::++++++++++++++++++++::++++:::::+++++::++::++++++++++++++++++++:+++::+++++++++++
:+++++++++++++++++::::+++++:::::::::::++::++::+:::::::++++::++:::::::::::::::::::+::::::++++++++++++++++++++++++::::::::++++++++++++++++++++:++++::::::,,::::::
++++++++++++++++++++++::++:::++++:::::::::::::::::::++++::::::::::++::++++::::::::::::::::::++++::::::::::::::::::::::::++++++++++++++++++::++*++:,:::++,:,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++::::++++::::::::::::++++::++**++::::::++++++++++++++::++::::::++::::++++++::::++:+++::++::::++:::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:++++**********++++++*****+:::::::::::+**+**+++++++++++++++++++++++++++++****+++++++++++++++++++
:::::::::::::::::::::::::::::+::::::::++++:::+++++++++**++++++++++:++++++++++++:##+:,,:+**++::::::,,,,,,::,,,::+**++++++++++++++**++++*++*++++++****++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*++:,:*:++*+:::,,,,,::::::,,,,,,,,:++*+**++++**++++**++++++++++***+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,##++++::,+:+++*+:::::::,:::::::::,,,,,,,,,,,,,,,,,,,,::::::::::,,::::::++++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#::#####**:+:*++**+**+**###*######################::::,,,,::::::::,,,,::,,::::::::::::,,:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:::+#**+++++++********#############################:::,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+,:****###########*+*************####**:,,,,,***###*****+:::::::::::::::::::::::::::::::::::::
::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::::::::#*#**############+:+*####################******########*+:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,::::::,,,,::::::::::::::::::::::::::::*#+#********########**************************************:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,+*********#########*,*####################################:::::::::::::::::::::::::::::::::::::
::::::+:::,,,,,:::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,.**##****####**##+*,:####*##############################::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,....,::++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,:**#*+:****++****+:,+#################################*::::::::::::::::::::::::::::::::::::+::
::+++:+:++++*+++++::++++++++::::::,,,,,,,...,,,,,:,,,,,,,,,,,,,,,,:+*#**##########*,:***############****+++++++*#####**+::+:::::++:::::::::::::::::::::::::::::
+:::++*+:+::++**++++++++++++++++::,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,::::::::++++***+*******#########*****************+++++::::+++++::::::::::::::::::::::::::::
**+++*++::::::++++++::::::::::::,,,,..,,....,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:
+++**++:,,::::::,:::::::::::,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::
::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::::+:,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,
,,::::,,,,,,::::::::::::::::::::::::::::::::::::++::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::++::::::++::::++++::++::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::
++++++::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::+:::,,::::::::::::::::::::::::,,,,,,,,,,,,,,,,::::++++++++++++::++++++++++++++++++++::++++:+++::::::,:++++:+*+++++:+++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,::++:::::+++++:::::::::::+++:+++++:+++++++:+++++++++++++::::+:::::++++::+++++++++:++++++++++++::::::::::++++::+++++++++++++++++++++++
::++++++++++**+++***+++++++++++++:++++++++++++::++::::+++++++++:++++++++++++++::++++++++++++++++:::::::::::::::+++++++++++++++::::++++++++::++++++++++++::::+++
$::::::::::::++::::++++++++****+*:::::++++++***************************************++++**++++++++::::::::+:::::::::::::::::::::::::::::::+++++++++++++++++++++++
::::::::::::::::::::::::::::::::++++++++++++++++++++++**++****++++++****+****************************+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++***************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++****++++++++++++++++++++++++*************************
::::+++++++++++:++*+::::::::::++::::::++++++::::::::::::::::::::::::::+++++:::::,,::::::,,,,::++++:::+**++++++++++++++++++::++++++++++++++++++++****++++**+++++
,,,,,,::::::++++++++++++++++++++++++++++++::::++::++++::++++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::+++++++++::::++:+::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::,,::::,,,,,,,,,,,,,,,,,,,,::::::::::::++++++**+
,,,,,,,,,,,,,,,,,,,,,:+++:++++++++++++++++++++++++++++++::::+:+:::++++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,::,,,,::,,,
::::::::::::::++++++:::+:,,,:,,,,,,,,,,,::,:::::::::::++++++++:::::+++++++++++++++::++++:::+++++++:+++++++++++++++++++++++++++++++++**++++++:::++++++++++++++*+
++++++::::++::::::::::::::::::::::::::::::::::::::::::++++::::::::,:,,::::::::::++++++++++++++++++++::++++++:::+++++::++::++++++++++++++++++++:+++::+++++++++++
:+++:++++++++++++++:::+++++:::::::::::++::++::::::::::++++::++:::::::::::::::::::+::::::::++++++++++++++++++++++::::::++++++++++++++++++++++:++++::::::,,::::::
++++++++++++++++++++++::::::::+++:::::::::::::::::::++++::::::::::++::++++::::::::::::::::::++++::::::::::::::::::::::::++::++++++++++++++::+++++:,:::++,:,,,,,
+++++:++++++++*+++++++++++++++++++++++++++::++++++++++::::++++::::::::::::++++::++**++::::::++::++++++++::::++::::::++::::++++++::::++:+++::++::::++:::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**+++++++++*+++++++++++++++++++++++:::::+++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:++++**********+++++++++:,,..............,,::++++++:++++++++++++++++++++++***+++++++++++++++++++
::::::::::::::::::::::::::::::++::::::++++::++++++++++**++++++++++:+++++++++++++###+::,:+*+:::::,,::::,,,,,,,,,,++++++++++++++++*++++++++*++++++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:,##*++::,:+,++*+::::::,::::::,,,,,,,,,:+++**++++**++++**++++++++*****+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##*++*+:::*:++++*:::::,:+**####******####**::,,,,,,,,,,::::::::,,::::::++++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++#:##*##*++++*++++++++++*############**##########*+::,,::::::::,,::,,::,,,,::::::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:,,::++:**+++**************##########****#*****####**#*::,,,,,,,,:::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**###############***####********###***+:,,::**###******::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#*#**#############*****######******##########************+::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::,,,,::::,,::::::::::::::::::::::::::::::::*#+***************##*+*###**##########**********************:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,:**:*************####+:,*###################################::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,.,+************+****:,:*##################################:::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,::++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,++**#++*+++*#***+*,,,*#######**#**####**##############+:::::::::::::::::::::::::::::::::::+::
::+++:+:++++*++++++:+++++++::::::,,,,,,,,...,,,,::,,,,,,,,,,,,,,,,,::+****##****###*::*******###########*********###****++::::++++:::::::::::::::::::::::::::::
:::,++*+:+::++**++++++++++++++::::,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++++++********************++++++++::::::::::+::::::::::::::::::::::::::::
**+++*++::::::++++++::::+:::::::,,,,..,,.....,,,,,,,,,,,..,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:
+++**++:,,::::::,:::::::,,::,,,,:+,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::
::,,,:::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,::::+:,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,
,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::++::::::++::::::::::++::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::
++++::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+++++++++,:+++++++++++++++++++++++++++++++++++++++++
::::::::::::*+::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,::::++++++++++++::::++++++++++++++++++++++++++++::::::,:++++:+*+++++::++++++++++++++++++++::::++::+++
::::::::::::::,,:::::::::,::++:::::+++++::::::::++:+++:+++++:+++++++:+++++++++++++::::+:::::++++::+++++++++:++++++++++++::::::::::++++:++++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::::::::+++++++++:++++++++++++++::++::++++++++++++::::::::::::::::++++++++++++++::::++++++++::::++++++++::::::+++
$::::::::::::++::::++++++++******:::::++++++***************************************++++**++++++++::::::::+:::::::::::::::::::::::,,,,::::::+++++++++++++++++++++
::::::::::::::::::::::::::::::::++::++:+++++++++++++++**++****++++++****+****************************+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++********++***************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++::++++++++++++++++++++++++****++++++++++++++++++++++++********+****************
,,::+++++++++++:++*+::::::::::++::::::++++::::::::::::::::::::::::::::::+++:::::,,,,::::,,,,::++++:::+**++++++++++++++++++::++++++++++++++++++++****++++**+++++
,,,,,,::::::++++++++++++++++++++++++++++++::::++::++++::++++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::+++++++++::::++:++:::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::++++++**+
,,,,,,,,,,,,,,,,,,,,,:+++:+++++++++++++++++++++++++++++++:::::+:::++++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,::,,,,,,,,,
::::::::::::::++++++:::+:,,,,,,,,,,,,,,,::,:::::::::::++++::++::::++++++++++++++++::+++::::+++++++++++++++++++++++++++++++++++++++++**++++++:::++++++++++++++++
+:+++++:::++::::::::::+:::::::::::::::::::::::::::::::::++++::::::,:,,::::::::::++++++++++++++++++::++++++++++++++++::++::++++++++++++++++++++:+++::+++++++++++
:+++:+++++++++++++::::+++++:::::::::::++::++::::::::::++++::++:::::::::::::::::::+::::::::++++::++++++++++++++++::::::++++++++++++++++++++++:++++:,::::,,::::::
+++++++++++++++++:++++::::::::+++:::::::::::::::::::++++::::::::::::::++++::::::::::::::::::++++::::::::::::::::::::::::++::+++++++++++++:::++++++::::*+,:,,,,,
+++++:++++++++*+++++++++++++++++++++++++++++++++++++++::::++++::::::::::::++::::++++++::::::::::++++++++::::++::::::++::::++++++++::++:+++::++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++::++++**++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:++++**********++*+::,,,,,,,,,,,,,,,,,,......,:+:++::+++++++++++++++++++++***+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::++::::++++++++++**++++++++++:+++++++++++:*##**:,::++*+::::::::::::,,::,,:,,+++++++++++++++*++++++++++++*++****++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:,##+*++:,:::+*+*+,::,,,::::::,,,,,,,,,,:+***++++**++++++++++++++**++*+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#::##+++**+:++:+**++*++::,,*########****########+,,,,,,,,,::::::::::::::::::++++++++***
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++#######*+++++:+::++++++#############**#########*#+::,::::::::,,::,,::,,,,,,,,::::::,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::++++*+********#***************####**********#####***+::,,,,,,,::::::::::::,,,,:::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##***##############****#####********###**#::,+::#*###*****::::::::::::::::::::::::::::::::::::
::,,::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::#+*################+#****####*****************************::::::::::::::::::::::::::::::::::::
::::::::::::,,,,::::,,,,,:::,,,,::::::::::::::::::::::::::::::,:#*:##***********#####***##################****************##:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,:,,#,+*************####*+::##################################**:::::::::::::::::::::::::::::::::::
:::::::::::,,,,:::::::::,,,,,:,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,*,++************##**++,:*#****##########**##**##**######**+::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,::++*::::+++*######*::,##****######**##******##*######**+::::::::::::::::::::::::::::::::::+::
::+++:+:++++*++++++:+++++++::::::,,,,,,,,...,,,.,:,,,,,,,,,,,,,,,,,,,,::+++***********+*********########****************++++::+++++::::::::::::::::::::::::::::
::::++*+:+::+++*+++*+++++++++++:::,,,,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::+++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::
**+++*++:::::::+++::::::::::::::,,,,..,,.....,,,,,,,..,,..,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+++*+++:,,::::::,:::::::,,,,,,:::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
::,,,::::::::,:::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,::::+:,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::++::::++::::::::::::++::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::
++::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::++++++::::::+++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++::::::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
:::::::::::::*::::,,::::::::::::::::::::::,,,,::,,::,,,,::::::++++++::++++::::++++++++++::++++++::+++++++:::::::,:++++:+*+++++::++++++++++++++++++++::::+++++++
:::::::::::::::::::::::::,:::::::::+++++::::::::++:+++:+++++:+++++++:+++++++++++++::::+:::::++++::+++++++++:++++++++++++::::::::::++++::+++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::++::::+++++++++:++++++++++++++::++::++++++++++++::::::::::::::::++::++++++++++::::++++++::::::++++++++::::::+++
$::::::::::::::::::++++++++******:::::++++++*******++******************************++++**++++++++::::::::+:::::::::::::::::::::::,,,,::::::++++++++++++++++::+++
::::::::::::::::::::::::::::::::::::++:+++++++++++++++**++****++++++****+*******++*******************++++++++++++++++++++++++++++++++++++++++++++::::::::::::::
::::::::::::::::::::::::::::::::++::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******++++***************
::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::::++++++++++::++++++++++++++++++++++++****++++++++++++++++++++++++********+****************
,,::++++++++++::++++::::::::::::::::::++++++::::::::::::::::::::::::::::++::::,,,,,,::::,,,,::++++::++++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++++++++++++++++::++++::++++::::++::++::::++++++++++++++::++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::+++++++++::::++++++::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,:::,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:+++++++++++++++++++++++++++++++:::::+:::++++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,::,,,,,,,,,
::::::::::::::++::++::++:,,,,,,,,,,,,,,,::,::,::::::::++++::++++::++++++++++++++++::+++::::+++++++++++++++++++++++++++++++++++++++++**++++++:::++++++:+++++++++
+++++++:::++::::::::::::::::::::::::::::::::::::::::::::++++::::::,:,,::::::::::++++++++++++++++++::++++++:::::+++++::++::++++++++++++++++++*+:+++:,+++++++++++
:+++:+++++++++++++::::+++++:::::::::::++::++::::::::::++++::++:::::::::::::::::::+::::::::::++::++::++++++++++::::::::++++::++++++++++++++++:++++::::::,,::::::
++++++++++++++++++++++::::::::++::::::::::::::::::::++++::::::::::::++:+++::::::::::::::::::++::::::::::::::::::::::::::++:::+++::++++++::::+++++:,+::++:+,,,,,
+++++:++++++++*+++++++++++++++++++::++++++++++++++++++::::++++:::+::::::::++::::++++++++::::::::++::++++::::++::::::::::::++++++:::::::+++::++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++::++++**+++++++++*+++*++++++**++++++++++++++::+++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++:++++***********+::+*****+++:::++++++++::::++::,:++::++++++++++++++++++++****+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::++::::++++++++++**+++++++++++++++++++++:##**+*:,::*+*+*:::::::::::::::,,,,,,++++++++++++++*+++++++++++++++++++++++++*****
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::+##+++*++:::*++****::::::::::,,,,,,,,,,,,,+**++++++++++++++++++++**++*+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:####*###**++++*++*++++::+++*#:,,,,,,,,,,,,,,,,,,*#::,,,,,,::::::::::::::::::++++++++***
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#*#*++++++++************#############*###########+::,,::::,,,,::,,,,,,,,,,,,::::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,+*******************************:+*+####**++*:+***##*#****::,,,,,,::::::::::::::,,:::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#*####################++*#######*****#####**,:,,++**********:::::::::::::::::::::::::::::::::::
::::::::::::::::,,::,,,,::::::::::::::::::::::::::::::::::::::+#*:*#####**********#####*************************************+::::::::::::::::::::::::::::::::::
::::::::::::::,,::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::#::####************###**:,*######################************+::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,::*.:##****************#**::+##########################**#####*:::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,,,,,,:,,::,,,,,,,,,,,,,,,,,,,,,,,,,,:+****++**************:,:*################*#*###########*+:::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++:,+,,,,,,,,,,,,,,,,,,,,,::,,,,:::+++++*********##*,++##****#####**********+++*###***++::::::::::::::::::::::::::::::::::+::
::+++:+:++++*++++++:+++++++::::::,,,,,,,,...,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::+++**++:::+++****************++++++++++++:::::+:::::::::::::::::::::::::::::
:::,++*+:+::++**++++++++++++++++::,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**+*+*++:::,::++++::::::+:::::::,,,,..,,.....,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+++++++:,,::::::,:::::::,,,,,,:::+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
::,,,::::::::,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::::,
,,::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+++++++++::::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,::::++++++::++++::::++++++++++::+++++++++++++++:++::::,:++++:+*+++++::++++::++++++++++++++::::++::+++
::::::::::::::,,:::::::::,::::::::::++++:::::::::::+++:+++++:+++++++++++++++++++++::::+:::::++++::+++++++++:++++++++++++::::::::::::++:++++++++++++++++++++++++
+++++++++++++++++***+++++++++++++::+++++++++++::::::::+++++++++:++++::++++++::::++::++++:+::++++::::::::::::::::++::++++++++++::::++++::::::++++++++++::::::++:
$::::::::::::::::::++++++++******:::::++++++*******++****++************************++++**++++++++::::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::++:+++++++++++++++**++****++++++****+*******++*******************++++++++++++++++++++++++++++++++++++++++++++::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++***************
::::::++:::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++::++++++++++++++++++++++++++**++++++++++++++++++++++++++******+****************
,,::++++++++++::++++::::::::::::::::::::++++::::::::::::::::::::::::::::++::::,,,,,,::::,,,,::++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++::++++++++++++::::++::++++::::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::++++++++:::::++:++:::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::,,::,,,,,,,,,,,,,:::,,,,,,,,::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:+++++++++++++++++++++++++++++++:::+:+:::++++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,::,,,,,,,,,
::::::::::::::++++++::++,,,,,,,,,,,,,,,,,,,:::::::::::++++::++++::++++++++++++++++::++:::::+++++++++++++++++++++++++++++++++++++++++**++++++:::++++++:+++++++++
++++++::::++::::::::::::::::::::::::::::::::::::::::::::++::::::::::,,::::::::::++++++++++++++++++::::++++:::::+++::::++::++++++++++++++++++++:+++::+++++++++++
:+++:+++++++++::++::::+++++:::::::::::::::++::+:::::::::++::++:::::::::::::::::::+::::::::::++::++::++::++++++::::::::++++::++++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::++++:::::::::::::::+++::::::::::::::::::++++::::::::::::::::::::::::++::::++++++++++::::++++++,:::*+,:,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++++++++++::::++++::::::::::::++::::++++++++::::::::++::++++::::::::::::::::::++++++::::::::++::++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::+++++++++::::++++++++++*+++**+*+++++++++++++++++++:++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++**********+:###*++++++++++++::,,::,,,,,,,,,:++::++++++++++++++++++++****+++++++++++++++++++
::::::::::::::::::::::::::::::::::::::++:::::++++++++++++++++++++++++++++++++##****+,,:::++**:::::::::::::,,,,,,,,++++++++++:::+*+++++++++++++++++++++++++*****
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,+:*#*+++**++::++++****+:::::::+:::::,,,,,,,,,:++*+++++++++++++++++++**++*+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,##+##*####**+++++++****++++**##+****################+,,,,,,,,,::::::,,::::::::++++++++***
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++*************************#############*###########*+,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,******############******************#*####**:::,,:**###****+,,,,,,,,,,,,::::::::,,,,,,:::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#*####################*+***#######*****##############*******+:::::::::::::::::::::::::::::::::::
::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::::::::::*#*:*##****************##*+*************************************::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,::::,,,,,,,,,,,,:::::::::::::::::::::::::::::+#,,*##******************+::*######################************:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:*,+*****##*************++,::##############################***::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,+*++**:::++***********+::+*######****#***##********#####*:::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,....,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++++******+,*##********###*****************+++::::::::::::::::::::::::::::::::::+::
::+++:+:++++*++++++:+++++++:::::::,,,,,,....,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::+++++++++++++++++++++++++:::::::+:::::::::::::::::::::::::::::
::::++*+:+::+++*++++++++++++++::::,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,::++++::::::::::::::,,,,..,,.....,,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+****++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
:,,,::::::::,,::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,
,,::,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++:::::::::+++++++++::::+++++++++++++++++++++++++++++++++++++++
::::::::::::,,,,::,,::::::::::::::::::::::,,,,::,,::,,,,,,::::++++++::++++::::++++++++++::+++++++++++++++:::::::,:::++:++++++:::++++++++++++++++++++::::++::+++
::::::::::::::,,::,,:::::,::::::::::++++:::::::::::+++:+++++:+++++++:+++++++++++++::::+:::::++++::+++++++++:++++++++++++::::::::::::++::+++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::::::::::::+++++:+:++++++++++::::++::++:::+::++::::::::::::::::::++::++::++++::::::++::::::::::++++++++::::::++:
$::::::::::::::::::++++++++******:::::++++++*******++****++****************++******++++**++++++++::::::::+::::::::::::::::::::::::::::::::::::++++++++++++++++++
::::::::::::::::::::::::::::::::::::++:+++++++++++++++**++****++++++****+*******************+********+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++**++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++******+****************
,,::++++++++++::++++::::::::::::::::::::++::::::::::::::::::::::::::::::++::::,,,,,,::::,,,,::++++:::+++++++++++++++++++++::++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++::++++++++++++::::::::++++::::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::++++++++:::::++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::,,::,,,,,,,,,,,,,,::,,,,,,,,::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++++++++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,,,,,,,,,,,,
::::::::::::::+++:++:::+,,,,,,,,,,,,,,,,,,,,::::::::::++++::++++::++++++++++++++::::++:::::+++++++++++++++++++++++++++++++++++++++++**++++++:::++++++:+++++++++
++++++::::++::::::::::::::::::::::::::::::::::::::::::::++::::::::::,,::::::::::++++++++++++++++++::++++:::::::+++::::++::::++++++++++++++++++:+++:,+++++++*+++
:+++::++++++++::++::::+++++:::::::::::::::++::::::::::::++::++:::::::::::::::::::+::::::::::++::++::++::++++++::::::::++::::++++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::::++::::::::::::++:+::::::::::::::::::++::++::::::::::::::::::::::::::::::++++++++++::::+++++:,+::*+,:,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++++++++++::::++++::::::::::::++::::++++++++::::::::++::++++::::::::::::::::++::++++::+:::::++::++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++::++++++++++++++++:::+++++++++::::++++++*++++++:,,,...............,,:+:+++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++::++++*********+*##***::::+++*::::::,,::,,,,,,,,,:++::+++++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++##****+:,:+*:*+**:::::::::::::,,,,,,,,:+++++++++:::+*+++++++++++++++++++++++++++***
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,*+.##*+++***+:::++++****+::::,::,:+++*******##**#*++++++++++++++++++++++++*+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#########**++**++**++****+**###########**########**+:,,,,,,,,::::::::::::::::++++++++**+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,:+++****************************####*#####**********###**++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::###*####################****####*******######*.,,:++********+,,,,,,,,,,,::::::::::,,,,,,,,::,,:::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#***##*#################**#**#######**************************::::::::::::::::::::::::::::::::::::
::::::::::,,,,::,,::::::::::::::::::::::::::::::::::::::::::*#++*#####################+*+###############****##**************:::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,::::::,,,,,,,,,,::::::::::::::::::::::::::::+#:,####**###############+++:*####################****##******#+:::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,+:**********************,:,:+##**############****************+::::::::::::::::::::::::::::::::::::
:::::::::::,,,,:::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,::::::::*******************::+,*************+++++++++********+:::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++++***+++******************++++++++++:::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++++:+++++++::::::,,,,,,,....,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::+:++*+:+::+++*++++++++++++::::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,,::++++:::::::::::::,,,,..,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
++**+++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,
,,::::,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::,,:::::::::
::++::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:++++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::++++++::::::++:+++++++++,:::+++++++++++++++++++++++++++++++++++++++
::::::::::::::::::,,:::::::::::::::::::::::,,,,,,,::,,,,,,::::++++++::++++::::+++++++:++::++++++::+++:+++:::::::,:::++:++++++:::++++++++++++++++++++::::+++++++
::::::::::::::,,::,,:::::,::::::::::++++::+::::::::+++:+++++:+++++++:+++++++++++++::::+:::::::++::+++++++++:++++++++++++::::::::::::++::+++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::::::::++::+++++:++++++++++++::::++::++++::::++::::::::::::::::::++::++::++++::::::++::::::::::++++++++:::::::::
$::::::::::::::::::++++++++******:::::++++++*******++****++************************++++**++++++++::::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::::::::::::::++++++++++++++++++**++++**++++++****+*******++**********+********+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++**++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++++++:+++++++++++++++++++++****++++++++++++++++++++++++++******+****************
,,::++++++++++:::+++::::::::::::::::::++++::::::::::::::::::::::::::::::++::::,,,,,,::::,,,,::++++:::+++++++++++++++++++++++++++++++++++++++++++****++++**++**+
,,,,,,::::::++++++++++++++++::++++++++++::::::::::++++::::++::::::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::++++++++:::::++:::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::,,,,,,,,,,,,::,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++++++++++++++++++++++++++::::+:::::::++:+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,::::,,,,,,,,,,,,,
::::::::::::::++++++:::+,,,,,,,,,,,,,,,,,,,,,,::::::::++++::++++::++++++++++++++::::++:::::+++++++++++++++++++++++++++++++++++++++++**++++++:::++++++:+++++++++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::,:,,::::::::::++++++++++++++++++::::++:::::::+++::::++::::++++++++++++++++++::++:,+++++++++++
:+++:+++++++++::++::::+++++:::::::::::::::++::::::::::::++::++:::::::::::::::::::+::::::::::++::++::++::++::++::::::::++::::++++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::::++::::::::::::++:+::::::::::::::::::::::++::::::::::::::::::::::::::::::++::++++++:::::++++::+::++:+,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++++++++++::::++++::::::::::::++::::++++++::::::::++++::+++++:::::::::::::::::::++++::::::::++::++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++::++++++++++++++++:::+++++++++::::++**++++:::::::,,,,,,,,,,,,,,,,,...,:+++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++:++++*********##***+::::+++*+::::::::,,,,,,,,,,,:++:::++++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++##******:,::*++****::::::::::::,,,,,,,,,++++++++++:::+++++++++++++++++++++++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#+:#*+**###+++++*++**++**++::+:+#####****++::::,:+#*+++++++++++++++++++++++*+::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,:+###***++****++++++++++******############+*########*#,,,,,,,,,,::::::::::::::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::+**********##********#************++***#######*####**##**++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+##*#*####################***########*+*****##**#,,,::***#*****::,,,,,,,,,,::::::::::,,,,,,,,::,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*#+,#####################*###**########**########**************+::::::::::::::::::::::::::::::::::::
::::::::::,,,,::,,,,,,,,::::::::::::::::::::::::::::::::::+#*::######################+*,:#####################*************::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::*.,********##############*+::,*####################************:::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,+***********************::,,***********########***********+:::::::::::::::::::::::::::::::::::::::
:::::::::::,,,,:,,::::::,,,,,,,,,,,,::,,,,,,,,::,,,,,,,,::::::,,::********##********+:::**********##********+++******+:::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::++++::::::++**********++++++++++:::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++++:+++++++:::::,,,,,,,,,...,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,++*+:+::+++*++++++++++::::::::,,,,,,,,,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**+++*++:::,::++:+++::::+:::::::,,,,..,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::+++
+*+++++:,,::::::,:::::::,,,,,,,,:+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
::,,,::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
::,,,,,,,,,,,,,,,,,,,,,,,:::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::,,,,::::::::::,,,,,
,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++++++++::::++++++++++++++++++++++++++:++++++++++++
::::::::::::,,,,::,,::::::::::::::::,,:::::,,,::,,::,,,,,,::::++++++::++++::::++++++++++::+++++++++++:+++:::::::,:::++:++++++:::++++::++++++++++++++::::+++++++
::::::::::::::,,::,,::,,:,::::++::::++++:::::::::::+++:+++++:::+++++:+++++++++++++::::+:::::::++::+++++++++:++:+++++++++::::::::::::++::+++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::::::::++::+++++:::+++:++++::::::++::++::::::++::::::::::::::::::++::++::++++::::::++::::::::::++++++++::::::++:
$::::::::::::::::::++++++++******:::::++++++*******++****++************************++++**++++++++::::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::,:::::::::::++++++++++++++++++**++++**++++++****+*******++**********+********+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++++++:+++++++++++++++++++++***+++++++++++++++++++++++++++******+****************
,,::++++++++++::++++::::::::::::::::::++++::::::::::::::::::::::::::::::++::::,,,,,,::::,,,,::++++::++++++++++++++++++++++::++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++::++++++++++::::::::::++++::::++::++::::++++++++++++++++++++++++::,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::+++++++++::::++:+::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::,,::,,,,,,,,,,,,,,::,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++++++++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++++++++++++::++++++::::::::::::,,,,,,,,::::,,,,,,,,,,,,,
::::::::::::::++++++:::+,,,,,,,,,,,,,,,,,,,,,,::::::::++++::++++::++++++++++++++::::++:::::+++++++++++++++++++++++++++++++++++++++++*+**++++:::+++:++:+++++:+++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::,,::::::::::++++++++++++++++++::++++:::::::+++::::::::::+++++++++++++++++::+++:,++++:++++++
:+++:+++++++++::++::::+++++:::::::::::::::++::::::::::::++::++:::::::::::::::::::+::::::::::++::++::++::::::++::::::::++::::++++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::::++::::::::::::++:+++::::::::::::::::::++::::::::::::::::::::::::::::::+++++++++++++++++++++:,+::*+:+,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++:+++++++::::++++::::::::::::++++:+:+++++++::::::::::::++++++::::::::::::::::::++++::+:::::++::++:::::::::::::::::
++++++++++++++++++++++++++++++++++++++::++++++++++++++++:::+++++++++::::++**++++****+++:::::::++++++++:::::::+++::+++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++::+++++++++++++++++++++++++:++++*******##****+,:::*++**+:::::::::::,,,,,,.,+++::::+++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++##******+:::+*++****+:::::::::::,,,,,,,,,,++++++++++++:+++++++++++++++++++++++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:*#########*+++++++++**++::,++++#+,..,,::++++++******++++++++++++++++++++++++*+::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::++++*##*************************###########**########***:,,,,,,,,,,::::::::::::::::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,++******####********************#****++*+*###*#:,,.,**##****+:,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::++##**######################****#######*******###*#*********#****:,,,,,,,,,,,,::::::::::,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::+##::*####****************##**:#**********************************:::::::::::::::::::::::::::::::::::::
::::::::,,,,,,::,,,,,,,,:::::::::::::::::::::::::::::::::##+:*####****##############+*,,*#####################************:::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,:::::::,,,,:::::::::::::::::::::**::***********************+:::*#******############*************::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:*++*+:::++**######******,::,*****************##**********+:::::::::::::::::::::::::::::::::::::::::
:::::::::::,,,,:,,::::::,,,,,,,,,,,:::,,,,,,,,::,,,,,,,,::::,,,,,,::++***************::+**++:::+**+*************+++++::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,:::::+++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++:+:+++++++:::::,,,,,,,,,...,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+::::++++++++++++++::::::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
***+++++:::,::++:++:::::+:::::::,,,,,,........,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++:
+*+++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
::,,,::::::::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::,,::,,::::::::::::,,,
,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++++++++::::++++++++++++++++++++++++++:++++++++++++
::::::::::::,,,,::,,::::::::::::::::,,:::::,,,,,,,::,,,,,,::::++++++::++++::::++++++++++::+++++++++++++++:::::::,:::++:++++++:::++++::++++++++++++++::::+++++++
::::::::::::::,,::,,::,,:,::::::::::++++:::::::::::+++:+++++:::+++++:+++++++++++++::::+:::::::++::+++++++++:++:+++++++::::::::::::::++::+++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::::::::++::+++++:::+++:++++::::::++::++::::::++::::::::::::::::::++::++::++++::::::::::::::::::++++++++::::::++:
$::::::::::::::::::++++++++******:::::+++++++******++****++****************++******++++**++++++++::::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::,:::::::::::++++++++++++++++++**++++**++++++****+*******++**********+********+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++::++::++++++++++++++++++++***+++++++++++++++++++++++++++***********************
,,:::+++++++++::++++::::::::::::::::::++++::::::::::::::::::::::::::::::++::::::::,,::::,,,,::++++::++++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++::++++++++++::::::::::++++::::++::++::::++++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::++++++++:::::++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,::,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++++++++++++++++++++++++++::::+:+:::++++:+++++++++++++++++++++++++++++++++++++++++::::++++++::::::::::::,,,,,,,,::::,,,,,,,,,,,,,
::::::::::::::++++++:::+::,,,,,,,,,,,,,,::::::::::::::++++::++++::++++++++++++++::::++:::::+++++++++++++++++++++++++++++++++++++++++****++++:::+++:++:++:++:+++
::++++::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::,,::::::::::++++++++++++++++++::++++++:::::+++::::::::::+++++++++++++++++::+++:,++++:++++++
:+++::++++++++::++::::+++++:::::::::::::::++::::::::::::++::++::::::::::::::::::::::::::::::++::++::++::::::++::::::::++::::++:+++++++++++++:+:++::::::,,::::::
+++++++++++++++++:++++::::::::+++:::::::::::::::::::++++:::::::::::::::+++::::::::::::::::::++++::::::::::::::::::::::::::::++++++++++++:::::++++:,:::*+,:,,,,.
+++++:::++++++++++++++++++++++++++::++++++++++:+++++++::::++++::::::::::::+++++:..,..................:+++:::::::::::::::::::::++::::++:::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++::++++++++++++++++:::+++++++++::::*##****:::++****+::::::,:::,,,,,,,:+::::::++++++++++++::::+++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++::::++::++++++++++::++++++::++++*+##******:,::+*:****++:::::::::,,,,,,,,.,::++::::+++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++*+++++++++*+:##********+::++*+++*****+::::,,+*####****++++::*#*+++++++++:+++++++++++++++++++++++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::,,*#########**++++*+++**++++++***############:##********++++++++++++++++++++:+++++++::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**********************##************+*+*+###**##*#********++:,,,,,,,,,,,,,::::::,,::::::::+++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::::###*#######################***#######********##***:,,,:********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::*#*+*#######################*###**###########**##*****************+:,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::*#*++*#######################*+**+*#################***************::::::::::::::::::::::::::::::::::::::::
::::::::,,,,::::,,,,,,,,,:::::::::::::::::::::::::::+#::,*####**########****#####+*::,*#################**************:::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::::::::::::::::::::+****+*******************+:,,:*#######********************:::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::+****+++++*******######****#*,::+*#********++++++++++*******+:::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,,,,,::,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++:::::::::::::::++::+++::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::*+:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*+++::+:+++++++:::::,,,,,,,,....,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::+:++*+::::++++++++++++++::+:::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+++++++:::,,:++:++:::::::::::::,,,,,,,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
+++++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::,,::,,::::::::::::,,,
,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++++++++::::+++++++++++++++++++++++++++++++++++++++
::::::::::::,,,,::,,::::::::::::::::,,::,,:,,,,,,,::,,,,,,::::++++++::++++::::++++++++++::+++++++++++++++:::::::,:::++:++++++:::++++::++++++++++++++::::+++++++
::::::::::::::,,::,,:::::,::::::::::++++:::::::::::+++:+++++::++++++:+++++++++++::::::+:::::::++::+++++++++:++++++++++::::::::::::::++::+++++++++++++++++++++++
::+++++++++++++++***++::+++++++++::+++++++++++::::::::++::+++++:::+++:++++::::::::::++::::::++::::::::::::::::::++::++::++++::::::++::::::::::++++++++:::::::::
$::::::::::::++::::++++++++******:::::+++++++******++****++****************++******++++**++++++++::::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::,:::::::::::++++++++++++++++++**++++**++++++****+*******++**********+********+++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++***************
::::::++:::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++::++:+++++++++++++++++++++***+++++++++++++++++++++++++++***********************
,,:::+++++++++::++++::::::::::::::::::::++::::::::::::::::::::::::::::::++::::::::::::::,,,,::++++::++++++++++++++++++++++++++++++++++++++++++++****++++**++***
,,,,,,::::::++++++++++++++++::++++++++++::::::::::++++::++++::++::::++++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,::::::::::::::+++++++++++++++++++++++++++++++
,,,,,,,,,,::::++++++++++++:::++++++++:::::++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++++++++++++++++++++++++++::::+:+:::++++:+++++++++++++++++++++++++++++++++++++++++::::++++++::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::++++++:::+::,,,,,,,,,,,,,,::::::::::::::++++::++++::++++++++++++++::::++:::::+++++++++++++++++++++++++++++++++++++++++++++++++:::+++:++:+++++:+++
::++**::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::,,::::::::::++++++++++++++++++::++++++::++:+++::::::::+++++++++++++++++++::+++:,++++:++++++
:+++::++++++++::++::::++++::::::::::::++::++::::::::::::++::++::::::::::::::::::::::::::::::++::++::++::::::++::::::::++:::::+++++++++++++++:++++::::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::++++::::::::::::++:+++::::::::::::::::::++++::::::::::::::::::::::::::::++++++::+++++:::+++++:,:::*+,:,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++:+++++++::::++++::::::::::+:,,::::::,,,,.,,,,,::,,::,,,,++::::::::::::::::::::::++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::++++++++++:##*****:::+:*****::::::::::,,,,,,,,,++::::++++++++++++++::::++++::++++::++::+++++++++++++
++++++++++++++++++++++++++++++++++++++++::::++++++++++::++++++::++:###******::::+*:+****+:::::::::,,,,,,,,,,,:::++::::++++++++++++::+++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++*+++++++*:+##***###**+:+++*+++****++::+++*#+,,..,,::++++*****+++++++++:::+++++++++++++++++++++++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,:++*##****++**********************############******#***++++::++++++++++++++++::++++++::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::::::::,:++****##**######******##********######**++**###**:,,::********+,,,,,,,,,,,,,,,::::::::::::::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::::::############################*****#######******##########*******++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::+*#*,*######################*###**#**************#*****************+,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,::,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::##,,,*########################+*,,+#################***************::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,::::,,,,,,,,:::::::::::::::::::::::::,*#.,,###****************####**:::::*################************++:::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,::,,,,,:::,,,,,,,,::::::::::::::::+:****++****+*######********,:::,*####*******++***:*********:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::++:::+++++++****************+::**************++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::,,,,,:::::::::,,,,,,,,,:,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++:::+++++++:::::,,,,,,,,..,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,++*+::::++++++++++++++::+:::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,,::+++++::::+:::::::,,,,,,,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
+*+++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::
::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,:,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::,,::::::::::::,,,
,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++++++::+
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++++++++::::+++++++++++++++++++++++++++++++++++++++
::::::::::::,,,,::,,::::::::::::::::,,:::::,,,,,,,::,,,,,,::::++++++::++++::::++++++++++::+++++++++++++++:::::::,:::++:++++++:::++++::++++++++++++++::::++::+++
::::::::::::::,,::,,:::::,::::::::::++++:::::::::::+++:+++++:::+++++++++++++++++::::::+:::::::++::+++++++++:++:+++++++::::::::::::::++::+++++++++++++++++++++++
::+++++++++++++++***+++++++++++++::+++++++++++::::::::++::+++++:::+++:++++::++::::::++++::::++::::::::::::::::::++::++::++++::::::++::::::::::++++++++::::::++:
$::::::::::::::::::++++++++******:::::+++++++******++****++****************++******++++**++++++++::::::::+:::::::::::::::::::::::::::::::::::+++++++++++++++++++
::::::::::::::::::::::::,:::::::::::++:+++++++++++++++**++++**++++++****+*******++**********+***++***++++++++++++++++++++++++++++++++++++++++++::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++**++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++::++::++++++++++++++++++++++++++++++++++++++++++++++++++******+****************
,,:::++++++++++:++++::::::::::::::::::++++::::::::::::::::::::::::::::::++::::::::::::::,,,,::++++:::+++++++++++++++++++++::++++++++++++++++++++++**++++**++**+
,,,,,,::::::++++++++++++++++::++++++++++::::++::::++++::++++::++::::++++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::++++++**+
,,,,,,,,,,,,,,,,,,,,,:::+:::++++++++++++++++++++++++++++::::::+:::++++:+++++++++++++++++++++++++++++++++++++++++++::++++++::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::++++++:::+::,,,,,,,,,,,,,,::::::::::::::++++::++::::++++++++++++::::::++:::::+++++++++++++++++++++++++++++++++++++++++++++++++:::+++:++:+++++:+++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::,,::::::::::++++++++++++++++++::++++++:::::+++::::::::+++++++++++++++++++::+++:,++++:++++++
:+++::++++++++::++::::++++::::::::::::::::++::::::::::::++::++::::::::::::::::::++::::::::::++::++::++++::::++::::::::++::::++::++++++++++++:+:++::::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::++++::::::::::::++::::::::::::::::::::::++++::::::::::::::::::::::::::::+++++++++++++::::++++:,:::*+,:,,,,,
+++++:::++++++++++++++++++++++++++++++++++++++++++++++::::++++::::::::+::+*+++++++::::+++:::,,,,,,,,:+++::::::::::::::::::::::++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++:+++++++++++:::+++++++:##*****+:::+:++***+::::::::,,,,,,,,.,::::::::::++++++++++::::::++++::++++::++::+++++++++++++
++++++++++++++++++++++++++++++++++++::++::::++++++++++::++++++:,##*******+:::++*::*****+::::::::::,,,,:::::+++++::::::++++++++::++::+++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++*+++++,*###*####***+++++*+++*****+++****#*#######*****###***++::++++++:::++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::::::,,:++****###***************************########****+*******+++:++++::++++++++++++++++::++++++::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::::::::,:++****#######################****######******###**#,:::********:,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++
::::::::::::::::::::::::::::::::::::::::::::::::+##**#########################******########**********************::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::*##*,*##########################****#################***************:,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,:::::::
:::::::::::::::::::::::::::::::::::::::::::::::*#*+,*#########################:+:+,*####################**********:::::::::::::::::::::::::::::::::::::::::::::
::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::,+#+:,####******######**##**##**,:.+:*##**########************+*+::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::***********######***********::+:*###***#*++++++:+:**+++++++:::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,:::::::::::+++++++*************++***+++++***+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::,,,,:::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*+++++::+++++++:::::,,,,:,,,....,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,++*+::::+++++++++++++++++:::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*++++*++:::,,:++++++::::+:::::::,,,,,,,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
+*+++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,:,,,,,,,,,,,,,,,,,,,,,,,::+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::::,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::
::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++++++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++++++++::::++++++++++++++++++++++++++:++++++++++++
::::::::::::,,,,::,,,,:::::::::::::::::::::,,,,,,,::,,,,::::::++++++::++++::::++++++++++::++++++::+++++++:::::::,:::++:++++++:::++++::++++++++++++++::::++::+++
::::::::::::::,,::,,,,:::,::::::::::++++:::::::::::+++:+++++::++++++:+++++++++++::::::+:::::::++::+++++++++:++:+++++++::::::::::::::::::+++++++++++++++++++++++
::+++++++++++++++***++::+++++++++::+++++++++++::::::::++::+++++:::+++:++++::::::::::++::::::++::::::::::::::::::++::++::++++::::::::::::::::::++++++++::::::++:
$::::::::::::::::::++++++++***+++::::::++++++******++**++++****************++**++**++++**++++++++::::::::+:::::::::::::::::::::::,,,,::::::::+++++++++++++++++++
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++**++++++****+*******++**************++***+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++++++::++++++++++++++++++++++*+++++++++++++++++++++++++++******+****************
,,:::+++++++++::++*+::::::::::::::::::++++::::::::::::::::::::::::::::::++::::::::::::,,,,,,::++++::++++++++++++++++++++::::++++++++++++++++++++++**++++++++**+
,,,,,,::::::++++++++++++++++::++++++++++::::::::::++++::::++::++::::++++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::++++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++::::+++++++++++++++:++++::::::::::::++:+++++++++++++++++++++++++++++++++++++++++::::++++++::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::++::++:::+::,,,,,,,,,,,,,,::::::::::::::+++:::++::::++++++++++++::::::+++::::+++++++++++++++++++++++++++++++++++++++++++++++++:::+:+:++:+++++:+++
::++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,,:::::::::::::++++++++++++++++++::++++:::::::+++::::::::++::::+++++++++++++::+:+::++++:++++++
:+++:+++++++++::++::::+++++:::::::::::::::++::::::::::::::::++::::::::::::::::::::::::::::::++::++::::++::::++::::::::::::::::::++++++++++++:+::::,::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::++::::::::::::::::::::::::::::::,,,,::::::::::::::::::::::::::::::::::++++++++++::++++::::+:++,:::*+,:,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++:+++++++::::++++:::::+*##**+++++*****::::,,,:,,,,,,,,::+++::::::::::::::::::::::++:::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++:+++++++++++:::+++::##******:::::+++***++:::::::,,,,,,,,.,,+++::::::::::++::++++::::::++++::++++::::::+++++++++++++
++++++++++++++++++++++++++++++++++++::++::::++++++++++:::+:+:##***++***+::+++++:******::::::,,+**##**********#+:::::::++::::::::++::+++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::+++++++++*++#+##**#####****+++++++*************######**##+#**##****++::::::++++:::++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::::,:+********************************#####*++*+*######**#*******+::::++++::++++++++++++++++::++++++::++++++++++*
::::::::::::::::::::::::::::::::::::::::::::::+:****##########################***#######*******###**,,,,******++,,,,,,,,,,,,,,,,,,,,::,,::::::::::::+++++++++++
:::::::::::::::::::::::::::::::::::::::::::::*##**##########################*###**########******####************+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::###++,###########################+****################***************:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::*##:.,######**##############**##:+::::*###################*********+:::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::::,,,,,,,,,,,,,,::::::::::::::::::::+**::*######**********##********,:,,::#######***#*##***********+:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,,,,,,,,,,,::::,,::::::::,,:::::::::::++*###*****############*********,::+**************++++****++++::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::::::::::::::::::::::++++++:::::::+::+:::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::,::,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::+++:::::,,..,,::++,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++:::+++++++:::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+::::++++++++++++++::::::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+++++++:::,,:++:+++::::::::::::,,,,..,,......,,,,,,.,....,,,,,,,,,,,,,,,,,,,,:::::::,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
+++++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
::,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,:,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::,,,,,,::::::::::,,,,,
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++::++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++::++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++:+++++,:::++++++++++++++::+++++++++++++++++++++++
::::::::::::,,,,::,,,,::::::::::::::,,::::,,,,,,,,,,,,,,::::::++++++::++++::::++++::++++::+++++++++++:+++:::::::,:::++:++++++:::::++::::::++++++::++::::++::+++
::::::::::::::,,::,,,,:::,::::::::::++++:::::::::::+++::++++::++++++:+++++++++++::::::::::::::++::++++++::+:++++++++::::::::::::::::::::::++++::::++::+++++++++
+++++++++++++++++*++++::+++++++++::+++++++++++::::::::::::+++++:::++::++++::::::::::++::::::++::::::::::::::,:::::::::::++++::::::::::::::::::::++++++:::::::::
$::::::::::::::::::++++++++***+**:::::+++++++******++**++++****************++**++**++++**++++++++::::::::+:::::::::::::::::::::::,,::::::::::+++++++++++++++++++
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++**++++++****+*******++**************++***+++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***************
:::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::,,,,::::::++++++++++::++::++++++++++++++++++++++*+++++++++++++++++++++++++++******+****************
,,:::+++++++++::++++::::::::::::::::::::++::::::::::::::::::::::::::::::++::::::::::::,,,,,,::++++:::+++++++++++++++++++::::++++++++++++++++++++++**++++++++**+
,,,,,,::::::++++++++++++++++::+++++++:++::::::::::::++:::::::::::::::+++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::+:::++++::::++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++++++++++++::++++::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::++::++:::+::,,,,,,,,,,,,,,::::::::::::::++++::++::::++++++++++++::::::++:::::+++++++++++++++++++++++++++++++++++++++++++++++++:::+++:++:+++++:+++
::++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,,:::::::::::::++++++++++++++++++::++++++:::::+++::::::::::::::++::+++++++++::+++:,++++:++++++
:+++::++++++++::++::::++++::::::::::::::::++::::::::::::::::++::::::::::::::::::++::::::::::++::++::::::::::::::::::::::::::++::++++++++++++:+::+:,::::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::++::::::::::::::::+:,,,,............,,,,::::::::::::::::::::::::::::::::++++++++::++::::+++:+:,:::*+::,,,,,
+++++:::++++++++++++++++++++++++++::++++++++++:+++++++::::++:++:*#****++:::,****+::::,::,,,,,,,,.:+:++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++:+++++++++++:::+*##******+,::::*:+****+::::::,,,,,,,,,,,.+::+++:::::::::::::::++::::::++::::++++::::::+++++++++++++
++++++++++++++++++++++++++++++++++++::++::::++++++++++::++##****#***++++++*+++******+::++++**+:,,..,,,,,::#**:::::::::++::::::::++++++++++++++:+++++::+++++++++
:::::::::::::::::::::::::::::::::::::::::::::++++++++:+#*#########****++****+************###########*********+++++::::::++::::::++::+++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::,:,++****************######************####**::++*##**#:,,,******++,:::::++++::++++++++++++++++++++++++::++++++++++*
:::::::::::::::::::::::::::::::::::::::::::+*##**#########################*****########*****####*#*********+++,,,,,,,,,,,,,,,,,,,,,,::,,::::,,::::::+++++++++++
::::::::::::::::::::::::::::::::::::::::+:*##*:*##############################********************************+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,
:::::::::::::::::::::::::::::::::::::::::###+:,###########################**:,+*##################************::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,::::::
:::::::::::::::::::::::::::::::::::::::::+*#:.,#########################**::.:,+##############**##**********:::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::::,,,,,,,,,,,,,,,,::::::::::::::::::::+,####******####**##**********:+:,,*#######*******++******++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,::,,,,,,,,,,,,::,,,,,,:::::::::::::::++***##********####**####**********,:+***+++***********++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::,,::::::::::,,,,::::::::::,,,,::::::::::,,,,::::::::::::::,::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::,::,:,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,...,::++,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++:::+++++++:::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,++*+::::++++++++++++++::+:::::,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,,:++:+++::::+:::::::,,,,,,........,,,,,,.,,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:
+++++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
::,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::::::::::::::::::::::,,,,,,::::::::::,,,,,
,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++::+++:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:::++++++::::::++::++:::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++++++++,:::++++++++++++++::++++++++++:++++++++++++
::::::::::::,,,,::,,,,::::::::::::::,,::::,,,,,,,,,,,,,,::::::+++++:::++++::::++++::++++::+++++++++++:+++:::::::,:::++:++++++:::::++::::::++++++::++::::++::+++
::::::::::::::,,::,,,,:::,::::::::::++++:::::::::::+++:+++++:::+++++:+++++++++++::::::::::::::++::+++++++++:++++++++::::::::::::::::::::::++++::::++::+++++++++
+++++++++++++++++*++++::+++++++++::+++++++++++::::::::++::+++++:::++::++++::::::::::++::::::++::::::::::::::,:::::::::::++++::::::::::::::::::::++++++:::::::::
$::::::::::::::::::+++++++++**+++:::::+++++++******++**++++********************++**++++**++++++++::::::::::::::::::::::::::::::::,,::::::::::++++++++++++++++++:
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++**++++++****+*****++++++************++**++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++**********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::++++++++++++++::++++++++++++++++++++++*+++++++++++++++++++++++++********+****************
,,:::+::++++++::++++::::::::::::::::::++::::::::::::::::::::::::::::::::++::::,,::,,::,,,,,,::++++:::+++++++++++++++++::::::++++++++++++++++++++++++++++++++**+
,,,,,,::::::++++++++++++++++::++++++::++::::::::::++++:::::::::::::::+++++++++++++++++++++++:,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++:++:::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++++++++++::::++++::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::::::::::++:,,,,,,,,,,,,,,,::,,,,::::::::++++::++::::++++++++++++::::::++::::++++++++++++++++::++++++++++++++++::::++++++++++++:::+++::::++::+:+++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,::::::::::::::++++++++++++++++++::++++++:::::+::::::::::::::::++::+++++++++::+:+,:++++:++++++
:+++:+++++++++::++::::+++++:::::,,::::::::++::::::::::::++::++::::::::::::::::::++::::::::::++::++::::::::::::::::::::::::::::::++::::++++++:+::::,:::,,,::::::
+++++++++++++++++:++++:::::::+++::::::::::::::::::::++++::::::++++++++::,,,,,,::::::,,,:,:::::::::::::::::::::::::::::::::::::++::::++::::::::+:::,:::*+,:,,,,,
:++++:::++::++++:+++++++++++++++++::++++++++++:+++++++:+*#******+:::::::****+::::::,,,,,,,,,.:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++::++++++++++++++::++:::+++::::+*#*********::++*++++*****+::::,,,:,,,.,,,,,::++++::::::::::::::::::::+:::::::++::::++++::::::++::+++++++++
++++++++++++++++++++++++++++++++++++::++::::+++++:####**####********+****************##*####***+********::::::::::::::::::::::::::::::++++++++:+++++::+++++++++
:::::::::::::::::::::::::::::::::::::::::::,:+*+*+*###******************************######************++::++::++++::::::::::::::++::::+++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::,++:++**#**##########################********##******##***,,::+***+**,,,,,,::::::++++::::++++++++++::++:+++++++::::++++++++*
:::::::::::::::::::::::::::::::::::++##**############################*******########****************++*+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
::::::::::::::::::::::::::::::::::*##*+,+*####################**######*****#################************+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::###:,:,*###########################+*:+:**##################**********::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::*##,::####**########**########*****,:,+:+#########*****###*******:::::::::::::::::::::::::::::,,,,::::::::::::::::,,:::::::::
,,,,::::,,,,,,,,,,,,::::::::::::::::+**#####################**********,:+*********++++++++******++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::++++++++++++************+++++:::::::+++++++:::::::::::::::::::,,,,:::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::,,,,:::::::::::::::::::::::::::::::
::::::::::,,::,:,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,..,,::++,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++:::+++++++:::::,,,,,,,,..,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::,++*+::::++++++++++++::::::::,:,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::
**++++++:::,,::+::++::::::::::::,,..,,,,......,,,,,,.,,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::,,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++:
:++++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++:+++++,:::++++++++++::++::++++++++++:++++++++++++
::::::::::::,,,,::,,,,,,::::::::::::,,,,:::,,,,,,,,,,,,,::::::+++++:::++++::::+++++:::+:::+++++++++++++++:::::::,::::::++++++:::::++++::::::++::::++::::+++++++
::::::::::::::,,::,,,,:::,::::::::::::++:::::::::::+++:+++++:::+++++++++++++++::::::::::::::::++::++++::::+:++++++++::::::::::::::::::::::++++::::++::+++++++++
+++++++++++++++++*++++::+++++++++::+++++++::++::::::::++::+++++:::++::++++::::::::::::::::::++::::::::::::::,:::::::::::++++::::::::::::::::::::++++++:::::::::
$::::::::::::::::::++++++++***+++:::::+:+++++******++**++++++**************++**++**++++**++++++++::::::::::::::::::::::::::::::::,,::::::::::++++++++++++++++++:
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++++++++++**+++*******++++************++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++**********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++******+****************
,,:::+::++++++:::+++::::::::::::::::::::::::::::::::::::::::::::::::::::++::::,,::,,::,,,,,,::++++:::+++++++++++++++++::::::++++++++++++++++++++++++++++++++**+
,,,,,,::::::++++++++++++++++::++++++::+++:::::::::++++:::::::::::::::+++++++++++++::++++++++:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++++::::::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++++++++++::::++++::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+:,,,,,,,,,,,,,,,::,,,,::::::::++::::++::::++++++++++::::::::++::::++++++++++++++++::++++++++++++++++::::++++++++++++:::+++:+::+++++:+++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,,:::::::::::::++++++++++++++++++:::+::::::::::++::::::::::::::::::+++++++++::+:+,:++++:++++++
:+++:+++++++++::++::::+++++:::::,,::::::::::::::::::::::++::::::::::++::::::::::++::::::::::::::++::::::::::::::::::::::::::::::::::::++++++:+::::,::::,,::::::
+++++++++++++++++:++++:::::::+++::::::::::::::::::::++:::++*******++++::++++,,,,,,,...::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:+:,:::*+,:,,,,,
:++++:::++::++++++++++++++++++++++::++++++++++:+++++*#*******+::::::++****+:::::,,,,,,,,..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++::++++++++++++++++++::+++++*#**********+++++**+:+*****+:::::,,,,,::+******#**+::::::::::::::::::::::++::::::++::::++++::::::++::+++++++++
++++++++++++++++++++++++++++++++++++::++:::+:+:*#**########************************#####**##+********:::::::::::::::::::::::::::::::::::++++++:+++++::+++++++++
::::::::::::::::::::::::::::::::::::::++++************************************##*******************++:::::++::::++::::::::::::::++::::+++++++++++++++++++++++++
::::::::::::::::::::::::::::::::*++*#*#*############################*****#######*+********,,,:******+,,,,,,,,,::::::++++::::++++++++++::++++++++++::::++++++++*
:::::::::::::::::::::::::::::::+*#****############################*#####**##########****************++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
::::::::::::::::::::::::::::::*###++,*#############################****+*#################***********+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::##::,+#############################**+:,,+*##################********+:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
::::::::::::::::::::::::::::::::::+:####******##########***********++.:,**#####******+*#******++::::::::::::::::::::::::::,,,,,,::::::::::::::::::::,,:::::::::
,,,,::::,,,,,,,,,,,,::::::::::++***#######################**********,::+****************+++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::,,,,,,,,,,::::::,,:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,::,:,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:::::,,..,,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*++++:::+++++++:::::,,,,,,,,..,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+::::++++++++++++::::::::,:,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,,::+::++::::::::::::,,....,,......,,,,,,.,,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::,,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++:
+*+*+++:,,::::::,:::::::,,,,,,,,,+....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::++++++:::::::::+++:+++++::::++++++++++::::::++++++++++:++++++++++++
::::::::::::,,,,::,,,,,,,,::::::::::,,,,:::,,,,,,,,,,,,,::::::++++::::++++::::++++::::+:::+++++++++++:+++:::::::,:::++:++++++:::::++++::::::++::::++::::+++++++
::::::::::::::,,::,,,,:::,::::::::::::+:::::,,:::::+++::++++:::+++++:+++::++++::::::::::::::::++::++++++::+:++++++++::::::::::::::::::::::++++::::++::++::+++++
+++++++++++++++++*++++::+++++++++::+++++++::++::::::::::::++::+:::++::++++::::::::::::::::::++::::::::::::::,:::::::::::++++::::::::::::::::::::++++++:::::::::
$::::::::::::::::::++++++++***+++:::::::+++++******++**++++++**************++**++**++++**++++++++::::::::::::::::::::::::::::::::,,::::::::::++++++++++++++++++:
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++++++++++**+++*******++++************++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++******+****************
,,:::+::++++++::++*+::::::::::::::::::::::::::::::::::::::::::::::::::::++::::,,::,,::,,,,,,::++++:::+++++++++++++++++::::::++++++++++++++++++++++++++++++++**+
,,,,,,::::::++++++++++++++++::++++++::+++:::::::::::++:::::::::::::::+++++++++++++::++++++++:,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++++::::::::++++++++++++++++++++++++++++++::++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++::++++++::::::++::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+:,,,,,,,,,,,,,,,::,,,,::::::::++::::++::::::++++++++::::::::++::::++++++++::++::++::++++++++++++++++::::::++++++++++:::+++::::+++++:+++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,,:,,,,::::::::::++++++++++++++++::::::::::::::::::::::::::::::::::::::+++++::+:+,:++++::+++++
:+++::++++++++::++::::+++++:::::,,::::::::++::::::::::::+++:++::::::::::,,,,:::+++::::::::::::::++::::::::::::::::::::::::::::::::::::::++++:+::+:,,:::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::::::::**####**++*******+::,,,,,,,,,..,::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+::,,:::*+,:,,,,,
:++++:::++::++++++++++++++++++++++::+++++++++++:*#********:::::+*+:****+::::,,,,,,,,.. ,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++:*#*****#*****++*****+:******+:::::::,:*####**++++**+:::::::::::::::::::::::::+:::::::++::::++++::::::++::+++++++++
++++++++++++++++++++++++++++++++++++:+:,,,**##########**************************#########********+::++::::::::::::::::::::::::::::::::::++++++:+++++::+++++++++
::::::::::::::::::::::::::::::::++**********#***##****####****##***************+:*+####*+++****+++::++::::++++::++::::::::::::::++::::+++++++++++++++++++++++++
::::::::::::::::::::::::::,:*+*##################################***##########**##******++*******:,,,,,,,,,,,,::::::++++::::++++++++++::++++++++++::::++++++++*
::::::::::::::::::::::::::+**#**+*#############################*######***************************++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
::::::::::::::::::::::::::+###+:+*##############################+*,,**################************::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::##*+,,*##########################**#*+:::,+*#######****************++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
:::::::::::::::::::::::::::::+.+####****################******##,,,:.+**####****++*#*******+::::::::::::::::::::::::::::::,,,,,,,,,,::::::::::::::::,,:::::::::
,,,,::::::::::::,,::::::::::+++*****************########**********:+********************++::::::::::::::::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
:::::::::::,::,:,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::+++:++:::++:::::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*+++::::+++++++:::::,,,,,,,,..,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::,++*+::::++++++++++++::::::::,:,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,,::+::++::::::::::::,,....,,......,,,,,,.,,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::,,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++:
+++++++:,,::::::,:::::::,,,,,,,,,+....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
::,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::,,,,,,,,,,,,::::::,,,,,,,,,,,,::::++++++:::::::::+++:+++++,:::++++++++++::::::++++++++++:++++++++++++
::::::::::::,,,,::,,,,,,::::::::::,,,,,,:::,,,,,,,,,,,,,::::::++++::::+++:::::++++::::+:::+++++++++++++++:::::::,:::++:++++++:::::++++::::::++::::++::::+++++++
::::::::::::::,,::,,,,,,:,::::::::::::+:::::,,:::::+++::++++:::+++++:+++::++++::::::::::::::::++::++++::::+:++++++++::::::::::::::::::::::++++::::++::++::+++++
+++++++++++++++++*++++::+++++++++::+++++++::++::::::::::::++::+:::++::++++::::::::::::::::::++::::::::::::::,:::::::::::++::::::::::::::::::::::++++++:::::::::
$::::::::::::::::::++++++++**++++::++:::+++++******++**++++++**************++**++**++++**++++++++::::::::::::::::::::::::::::::::,,::::::::::++++++++++++++++++:
::::::::::::::::::::::::,,::::::::::+++++++++++++++++++++++++++++++++++++*******++++************++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++*********************
,,,,:+::+++++++::+*+::::::::::::::::::::::::::::::::::::::::::::::::::::++::::,,::,,::,,,,,,::++++:::+++++++++++++++++++::::++++++++++++++++++++++++++++++++**+
,,,,,,::::::++++++++++++++++::++++++::+++:::::::::++++:::::::::::::::+++++++++++++::++++++++:,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++++::::::::++::++++++++++++++++++++++++++::++++++++++++++++++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++::++++++::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+::,,,,,,,,,,,,,,::,,,,::::::::++::::++::::++++++++++::::::::++:::::+++++++++++::::::++++++++++::::::::::::++++++++++:::+:+:++:+++++:+++
++++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,,:,,::::::::::::++++++++++++++++::::::::::::::::::::::::::::::::::::::+++++::+:+,,:+++::+++++
:+++::++++++++::++::::::++::::::,,::::::::::::::::+++:,,,,.................,::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::++++:+::::,,:::,,::::::
+++++++++++++++++:++++::::::::++::::::::::::::,+##**##**+:::+*****+::::,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::+::,,:::++,:,,,,,
:++++:::++::++++++++++++++++++++++::++++:++:*#********+:::**+*:+*****::,,,,,,,,,.,,..+::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::
++++++++++++++++++++++::+++++++++++++++:**#****#*#***********+:+*******+::++++*#,,..,,:::+***+::::::::::::::::::::::::::::+:::::::++::::++++::::::++::+++++++++
++++++++++++++++++++++++++++++++::..,++###***********************************########**#*****+::::::++::::::::::::::::::::::::::::::::::++++++:+++++::+++++++++
:::::::::::::::::::::::::::++*******####################************************##**::::****++:::::::+::::::::::++::::::::::::::++::+++++++++++++++++++++++++++
::::::::::::::::::::::::+*##*################################******#############**##*****+++*+,:,,,,,,,,,,,,,,::::::::++::::++++++++++::++++++++++::::++++++++*
::::::::::::::::::::::+**#**:*################################+++*#*******##******************+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
::::::::::::::::::::::+###+:::##############################***+:++*############**************::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::+*##+:,*##############################+::::,:*******#######*******++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:
:::::::::::::::::::::::::+*+##########################**##***,:+::*******++++++*******++++::::::::::::::::::::,,::::::::::,,,,,,,,,,,,::::,,::::::::,,:::::::::
,,,,::::,,,,::::::::::::::::::::++++++++++++++**********************++++++++++++**++++++::::::,,,,,,::::::,,,,,,,,,,::::::::::::::::,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,::::::,,,,,,,,,,,,,,,,::::,,:::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
:::::::::::,::,:,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++::++::::+:::::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::::::::::::::::::::::::::::::::::::::
::+++:+:++++*+++::::+++++++:::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,++*+::::++++++++++++::::::::,:,,,,,,..,,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
**++++++:::,,::+::++::::::::::::,,....,,......,,,,,,.,,,..,,,,,,,,,,,,,,,,,,,,:::::::,::::::::,,::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++:
+*+*+++:,,::::::,:::::::,,,,,,,,,+....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::++++:::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,::,,,,,,,,,,,,::::::,,,,,,,,,,,,::::++++++:::::::::+++:+++++,:::++++++++++::::::++++++++++:++++++++++++
::::::::::::,,,,::,,,,,,::::::::::,,,,,,::,,,,,,,,,,,,,,,,::::++++::::+++:::::++++::::+:::+++++++++++++++:::::::,::::::++++++:::++++++::::::++::::++::::+++++++
::::::::::::::,,::,,,,,,:,::::::::::::+::::::::::::+++::++++:::+++++:+++::++++::::::::::::::::++::++++++::+:++++++::::::::::::::::::::::::++++::::++::++::+++++
+++++++++++++++++*++++::+++++++++::+++++++::++::::::::::::++::+:::++::++++::::::::::::::::::++::::::::::::::,:::::::::::++::::::::::::::::::::++++++++:::::::::
$::::::::::::::::::+++++++++*++++:::::::++++++*++**++**++++++**************++**++**++++**++++++++::::::::::::::::::::::::::::::::::::::::::::++::::++++++++++++:
::::::::::::::::::::::::,,::::::::::++++++++++++++++++++++++++++++++++++++******++++********++**++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++**********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,,:::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++****+***++++****++**+
,,,,:+::++++++:::+++::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::,,,,,,::++++::++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::++++++::+++:::::::::++++:::::::::::::::+++++++++++++::++++++++:,,,,,,,,,,,,,,,,,,,,,::::::::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,,,::++++++++++++:::++++++++:::::++:+::::::::++::++++++++++++++++++++++++++++++++++++++++++++++::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++:+++++++++++++++++++++++++++++++++::::++::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+::,,,,,,,,,,,,,,::,,,,::::::::++:+::++::::++++++++++::::::::++::::::++++++++++::::::++++++++++::::::::::::++++++++++:::+:::+::+++++:+++
+:++++::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,,:,,::::::::::++++++++++++++++::::::::::::::::::::::::::::::::::::::::+++++::+:+,,:+++::+++++
:+++:+++:+++::::::::::::::::::::,,::::::::::+:::,,,,,,,,,,,.,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,:::,,::::::
+++++++++++++:+++:++++::::::::++:::::::::::##*******++::++*****+:::,,,,,,,,,..::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::+::+::,,:::++,:,,,,,
:++++:::++::++++++++++++++++++::++::++:*#***++**#**:++**:*++******,:,,:,,,,,,,,,,,++::::,:::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::
++++++++++++++++++++++::++++++++:*++**##*######**********+++*******+++:****#***###********::::::::::::::::::::::::::::::::::::::::::::::++++::::::++::++::+++++
+++++++++++++++++++++++++++:.,:++***####********************************######**********+:::::::::::++++::::::::::::::::::::::::::::::::++++++:+++::::+++++++++
:::::::::::::::::::::++++***##############***#########******************++***##**,,+****++::::::::::++::::::::::++::::::::::::::++::::+++++++++++++++++++++++++
::::::::::::::::::++*###**###############################***#***#######*****************++*:,,,,,,,,,,,,,,,,,,::::::::++::::+:::++++++::++++++++++::::++++++++*
::::::::::::::::::*###++,+################################+****#################**********+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
::::::::::::::::::*###+.++###############################:+:+++*#################*********::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::*###+:.*##############################*,+,,,*************######***::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::++:+****##############################*##*.++:*******************+++++::::::::::::,,,,::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::,,,,:::::::::
,,,,::::::::::::::::::::::::::::::::::::::::++++::::++++++++++++++::++::::::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,::::::::,,::::,,,,:::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++::::+:,,::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::
::++::+:++++*++++:::+++++++:::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,++*+::::++++++++++++::::::::,:,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*+++++++:::,,::+::++::::::::::::,,,,,,,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,::,,,,:,::::::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::++:
++*++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::::::::::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::,,,,,,::::++++++:::::::::+++:+++++,:::++++++++++::::::++++++++++:++++++++++++
::::::::::::,,,,::,,,,,,,,::::::::,,,,,,,,:,,,,,,,,,,,,,,,::::::++++::++++::::++++::::+:::++++++::++::+++:::::::,::::::++++++:::::++++::::::::::::++::::+++++++
::::::::::::::,,::,,,,,,:,::::::::::::++::::,,::::::++::++++:::+++++::++::++++::::::::::::::::++::++++::::+:++:+::::::::::::::::::::::::::++++::::::::::::+++++
::+++++++++++++++*++++::+++++++++::+++++::::::::::::::::::++::+:::::::++++::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::++++++++:::::::::
$::::::,,::::::::::::+++++++*++++:::::::+++++**++**++++++++++******++******++**++**++++**++++::++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++++++++++++++++**++++++++**++++**++++++++++++++++++++++++++++++++++++::++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++++++++++++++++++++++++********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::++++++++++::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++****++**+
,,,,:+::++++++::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::+:::,::::::::,,,,,,::++++::::++++++++++::++++::::::::::+++++++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::++++::++::::::::::::::::::::::::::::::::++++++++++::++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++++++++++++++++++++++
,,,,,,,,,,,,::++++++++++++:::++++++++:::::++++::::::::::::++++++++++++++++++++++++++++++++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++::++++++++++++++++++++++++++++:+++::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+::,,,,,,,,,,,,,,::,,::::::::::++::::++::::++++++++++::::::::::::::::++::::::::::::::::::::::::::::::::::::++++++++++:::+:::+::+++++:+++
+::+++::::::::::::::::::::::::::::::::::,:::::::::::::::++:::::,,,,:,,::,:,,::::::++::::::++++::::::::::::::::::::::::::::::::::::::::::+++++::+:+,,:+++::+++++
::+:::++::::::::++::::::::::::::,::::+**##**********++++,,,,,,,,,,.:::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,:::,,::::::
+++++++++++++++:+:::++::::::::++:*#***+****+::+++:*+*****+,,,,,,,,,,,..,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::+::,,:::++,:,,,,,
:+++::::++::++++++++++++++++++*#********#**+****:*+*********+:+:+++:*#**,,.,.,***+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::
++++++++++++++++++++++++:,+#+#*########*#*************************#########*******::::+++:::::::::::::::::::::::::::::::::::::::::::::::::++::::::++::++::++++:
++++++++++++++*::+**+*********##**##**##********##****************:++##**:,,*****+::++++::::::::::::::::::::::::::::::::::::::::::::::::++++++:+++::::++++::+++
:::::::::::+***###**##############################******########**************++::::::::::::::::::::::::::::::::++::::::::::::::++::::+++++++++++++++++++++++++
:::::::::::+##**+*##################################:*#*****##**####**************+,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::+:++++++++::++:+++++++::::++++++++*
:::::::::+###*++,*###############################*++:::+##################********::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::++++::+++++
::::::::::###,:,:################################*+:,+:**###****######******+::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::+::*::####**################************.:++++*###**++++*********:::::::::::::::::,,::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::++++++++++**********##**********##********************++++++++::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::
,,,,::::,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++:::++:,,::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:+++++++++:+,++++++::::::,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::::+*+,:::++++++++++++::::::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,,,::,,,,:::::::::::::::::::::::::::::::::
*+++++++:::,,::+::::::::::::::::,,....,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,::::,,:,::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+++*+++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::,,,,,,::::::,,::::,,,
,,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,::::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,::::++++++:::::::::+:::+++++,:::++++++::++::::::::::::++++::++++++++:::
::::::::::::,,,,::,,,,,,::::::::::,,,,,,,,:,,,,,,,,,,,,,,,::::++++::::::::::::++++::::+:::++++++::+++:+++:::::::,::::::++:+++:::::++::::::::::::::++::::++++++:
:::::::::,::::,,::,,,,,,:,::::::::::::::::::,,:::::+::::++:::::+++::::++::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::++::::::::::::::+++++
::++++++++++++++++++++::+++++++++::+++++++::::::::::::::::::::+:::+:::++:::::::::::::::::::::::::::::::,::::,:::::::::::::::::::::::::::::::::++++++++:::::::::
$::::::,,::::::::::::+++++++*++++:::::+:++++++*++**++++++++++******++*****+++**++**++++**++++++++::::::::::::::::::::::::::::::::,,,,::::::::::::::++++++++++++:
::::::::::::::::::::::::,,:::::::::::+:+++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::++++++++::::::::++++++++++++++++++++++++++++++::::++++++++++++++++++****++++++++****++**+
,,,,:+::++++++::++*+::::::::::::::::::::::::::::::::::::::::::::::::::::++:::,::::::::,,,,,,::++++::::++++::++::::::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::+++:::++::::::::::::::::::::::::::::::::++++++++::::++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++
,,,,,,,,,,,,::++++++++++++:::++++++++:::::++:++:::::::::::++++++++++++++++++++++++++::++++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::+++++++++++++++:++++::::::::::::::::++++++++++++++++++++++++++++:+++::::::::::::::::::::::::::::::,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::::::::::++::,,,,,,,,..,,,,::,,::::::::::++::::++::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::+:+:+::+++++:+++
++++++::::::::::::::::::::::::::::+:::::::::::,.,,..,,..::::::::,,,:,,::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::::+,,::++::+++++
::+::+++:::::::::::::::::::::::+######**+:+**+*****:::,,,,,,,.,,::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,::::,,::::::
+++++++++++++++:+:::++::::::*#*+**+****::+*+:+*+*****+,,,,,,,,,,,..,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::+:::,,::+:,:,,,,,
:+++::::++::++++:+++++*++*#*****#*+*#*******,+********++:,,+*****.:+**#******::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++:,,:+*#########******************************######********:::::::::+++:::::::::::::::::::::::::::::::::::::::::::::::::+++::::::++::++::++++:
+++++++++::+********######################**##*******************##**,,:****++::::+++++++:::::::::::++::::::::::::::::::::::::::::::::::++++++:+++::::++++::+++
::::::+*+#####################################******#########***************+:::::::::::::::::::::::++::::::::::++::::::::::::::++::::+++++++++++++++++++++++++
::::::*##**.:*################################*+**:*################**********::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::++++++++++::++:+++++++::::++++++++*
:::::*###*,:,*################################**:+,+*##################******+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::++++::+++++
:::::+*##+::,################################*:+,+:+*#**#############**:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::+++**:#############################**#***+++::**##******+**##***+++::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::++++++++++++++++++++********++++******++++++::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::
,,,,::::,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::::::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::::+:,,::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::
::+++:+:+++++++++:::++++++::::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::,:+*+,:::++++++++++++::::::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::+::++::::::::::::,,....,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,::::,,:,::::::,,::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+*+++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::,,++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+:::+++++,:::++++++::++::::::::::::++++::++++::++++:
::::::::::::,,,,::,,,,,,::::::::,,,,,,,,,,:,,,,,,,,,,,,,,,::::::++::::::::::::++++::::+:::++++++::+++:+++:::::::,:::::::+:+++:::::++::::++::::::::++::::++++++:
:::::::::,::::,,::,,,,,,:,::::::::::::++:::::::::::+++::++:::::+++::++++::::++::::::::::::::::::::::++::::+:+:::::::::::::::::::::::::::::++::::::::::::::+++++
::::+++++++++++++*++++::+++++++++::+++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::++++++:::::::::
$::::::,,::::::::::::+++++++*++++:::::::++++++*++**++++++++++******++*****+++**++**++++**++++++++::::::::::::::::::::::::::::::::,,,,::::::::::::::++++++++++++:
::::::::::::::::::::::::,,,,:::::::::+:+++++++++++++++++++++++++++++++++++++++++++++**++****++**++++++++++++++++++++::++++++++++++++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++********+****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::::,,,,::::::::++++++++::::::++++++++++++++++++++++++++++::::::++++++::++++++++++**++++++++++****++**+
,,,,:+::++++++:::+++::::::::::::::::::::::::::::::::::::::::::::::::::::++:::,::::::::,,,,,,::++::::::++++::++::::::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::++++::++::::::::::::::::::::::::::::::::++++++::++::++++++++:,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++
,,,,,,,,,,,,::++++++++++++:::++++++++:::::++::::::::::::::++++++++++++++++++++++++++++++++++++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::::++++++++++++++++++::::::::::::++::++++++++++++++++++++++++++++:+::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+::,,,,,,,,,,,,,,::,,:,::::::::++::::++::::::++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::+++::::+++:::+++
+::+++::::::::::::::::::::::::,:,,........ .....,,,,..,:++::::::,,,:,,,,,,::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::++,,::++::+++++
::+:::++::::::::++::::::+++##*###***+:**::*****+:,,,,,,,,...++::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,:::,,::::::
+++++++++++++++++:::++:*#*********+:+*+++*********::,,,,,,,,,...::::::::::::::::::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::+::+::,,:::++,:,,,,,
:+++::::++::+++++++**#**######*********:*++*********++****#######*******+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++:..::***###**********************************####***********+:::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::++::++::++++:
+++++++*****##############################***************+****#**:,:***+++++::::::::++++++::::::::::++++::::::::::::::::::::::::::::::::++++++:+++::::++++::+++
::**######*###################################***#########**********++++++::::::::::::::::::::::::::++::::::::::::::::::::::::::++::::+++++++++++++++++++++++++
+#####,,+#################################+**#*###############**##*******+::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::++++++++++::++++++++++::::++++++++*
+###,::,+*###############################:+:+:,###################******::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::++++::+++++
*###.::,##############**##****###########+:+.,::#########*#***##**+:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++**######################################*,::**##********####****++++::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::
,,,,::::::::,,::,,,,::::,,::::::::::::::::::::::::,,,,::::::::::::,,::::::::::::::::::::::::::::,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::::+:,,::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:+++++++++:::++++++::::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:::::+*+,:::++++++++++++::::::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::+::++::::::::::::,,....,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,,,::::,,:,::,,,,,,::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+*+++++:,,::::::,:::::::,,,,,,,,,+,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,:,,,::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+:::+++++,:::++++++::++::::::::::::++++::++++::++++:
::::::::::::,,,,::,,,,,,::::::::::,,,,,,,,:,,,,,,,,,,,,,,,::::::++::::::+:::::++++::::+:::++++++::+++:+++:::::::,:::::::+:+++:::::++::::++::::::::++::::++++++:
:::::::::,::::,,::,,,,,,:,::::::::::::++:::::::::::+++::++:::::+++::++++::::++::::::::::::::::::::::++::::+:+:::::::::::::::::::::::::::::++::::::::::::::+++++
::::+++++++++++++*+++++++++++++++::+++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::++++++:::::::::
$::::::,,::::::::::::+++++++*++++:::::::++++++*++**++++++++++******++*****+++**++**++++**++++::++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:
::::::::::::::::::::::::,,:::::::::::+:+++++++++++++++++++++++++++++++++++++++++++++**++****++++++++++++++++++++++++::++++++++++::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::++++++++++++++++++++++++++++******+++****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,::::::::++++++++::::::++++++++++++++++++++++++++::::::::++++++::++++++++++**++++**++++****++**+
,,,,:+::++++++:::+*+::::::::::::::::::::::::::::::::::::::::::::::::::::++:::,::::::::,,,,,,::::::::::++++::++::::::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::+++:::++::::::::::::::::::::::::::::::::++++++::++::++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++:+::::::::::::++++++++++++++++++++++++++++++++::++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++::++++++++++++++++++++++++++++:+::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::::::::::++,,,,,,,,,,,,,,,,,,::::::::::::++:::::+::::++++++++++::::::::::::::::::::::::::::::::::::::::++::::::::::::++++++++++:::+:::+::+++++:+++
+::+++:::::::::::::::::::,,,,,:::::::::,,,,,,,::::,:::::++::::::,,,:,,,,,,::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::+,,::++::+++++
::+::+++:::::::::::::*##**##,**++++++******+,,,,,,,,,...++::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,::::,,::::::
+++++++++++++++++:##********#*:+**++**+*******::::,,,,,,.,,:++****+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::+:::,,::+:,:,,,,,
:+++::+:++::++**#**#####**##*******+++******##********#######*******:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
++++:,::+******###******##********************************###**#**++:::::::::::::::::++:::::::::::::::::::::::::::::::::::+::::::::::::::+++::::::::::++::++++:
++****################################******#######******#**::+***++:+++++++::::::+++++++:::::::::::++++::::::::::::::::::::::::::::::::++++++:+++::::++++::+++
#***#######################################**#####******************+:::::::::::::::::::::::::::::::++::::::::++++::::::::::::::++::::+++++++++++++++++++++++++
*+*:#################################*#:*+*#################********+,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::++++++::++:+++++++::::++++++++*
:,+,#################################+*,+,:+################****+++:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::++++::+++++
+:+####*####################*********,.:::#######***##**###**+::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
######################################*++*###########*********++++++::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::
,,,,::::,,,,,,::,,,,::::::::::::::::::::::::::::::,,,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,::::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++::::+:,,::,,..,,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::
::++::+:++++++++::+:++++++::::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
::::++*+::::++++++++++++::::::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::+::+:::::::::::::,,..,,,,......,,,,,,.,,,..,,,,,,,,,,,,,,,,,,::::::,,,,::::::,,::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+++*+++:,,::::::,:::::,,,,,,,,,,:+,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,,++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::++:::::::::+:::+++++,:::++++::::++::::::::::::++++::++++++++:::
::::::::::::,,,,::,,,,,,::::::::::,,,,,,,,:,,,,,,,,,,,,,::::::::++::::::+:::::++++::::+:::++++++::+++:+++:::::::,:::::::+:+++:::::++::::::::::::::++::::++++++:
:::::::::,:::::,::,,,,,,:,:::::::::::::::::::::::::+::::++:::::+++::::++++::++::::::::::::::::::::::++::::::+:+:::::::::::::::::::::::::::++::::::::::::::+++++
::::+++++++++++++*++++::+++++++++::+++++::::::::::::::::::::::::::+:::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::++++++++:::::::::
$::::::,,::::::::::::+++++++*++++:::::+:++++++*++**++++++++++******++*****+++**++**++++**++++::++::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:
::::::::::::::::::::::::,,:::::::::::+:+++++++++++++++++++++++++++++++++++++++++++++**++****++++++++++++++++++++++++++++++++::::::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++******+++****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,::::::::++++++++::::::++++++++++++++++++++++++++::::::::::++++::++++++++++++++++++++++++**++**+
,,,,:+::++++++:::+*+::::::::::::::::::::::::::::::::::::::::::::::::::::++:::,,,::::::,,,,,,::::::::::++++::++::::::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::+++:::++::::::::::::::::::::::::::::::::++::::::++::++::++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::::::::++++++++++++++++++++++++++::::++::++++++++::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++++::::::::::::++::++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
:::::::::::::::::::::::+,,,,,,,,,,,,,,::,,,::,::::::::++:::::+::::++::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::++++++++++:::+:::+::+++:::+++
+::+++::::::::::::+:::++********++::::++::,,,,,,::::::::++::::::,,,:,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::+:+,,::++::+++++
::+::+++:+++++:+##**###+**:++::+*******+,,,,,,,,...,::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::,,::::::
++++++++++++*##********#**+***++**********+:::::::,:**##****#*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++:+::+:::,,::++,:,,,,,
:+::::+,+#:#**######**##**************************######*******+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
***********###****************##****************++*+##**::*****+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::+::::::::::::++::++++:
**###############################******########*****##*#****++::::::++++++++::::::::++++::::::::::::++++::::::::::::::::::::::::::::::::++++++++++::::++++::+++
###################################**###********##*************+::::::::::::::::::::::::::::::::::::++::::::::++++::::::::::::::++::::+++++++++++++++++++++++++
#################################*+:.++#################********::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::++++++++++:+++++++::::++++++++*
################################,:,,:,:*##**#############*+:::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
##+*##############**********##***,,++*+###**::++######**++::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
**************##################****#*#*********##*******+++++++::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::,,,,,,::::,,,,,,,,,,,,,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::::,,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::+:++::::+:,,::,,...,::++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::::::::::::::::::::::::::::::::::::::
::++::::+++++++++:::++++++::::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:,:::+*+,:::++++++++++++::::+:::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::,,,,::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::+::::::::::::::::,,,,,,,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,::::::,,,,::::::::::::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+*+*+++:,,::::::,:::::::,,,,,,,,,+,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::,,,,,,::::::::::::,,,
,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,:::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::,:++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+:::+++++,:::++++::::++::::::::::::++++::++++::::++:
::::::::::::,,,,::,,,,,,,,::::::,,,,,,,,,,:,,,,,,,,,,,,,,,::::::++::::::+:::::++++::::+:::++++++::++::+++:::::::,:::::::+:+++:::::++::::::::::::::++::::++::++:
:::::::::,::::,,::,,,,:::,::::::::::::++:::::::::::+++::++:::::+++::::++++::++::::::::::::::::::::::++::::::++::::::::::::::::::::::::::::++::::::::::::::+++++
::::+++++++++++++*++++::+++++++++::+++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::++++++:::::::::
$::::::,,::::::::::++++++++++++++:::::::+++++**++++++++++++++******++*****+++**++**++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:
::::::::::::::::::::::::,,::::::::::++:+++++++++++++++++++++++++++++++++++++++++++++**++****++++++++++++++++++++++++::::++++::::::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::++++++++++++++++++++++******+++****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,::::::++++++++++::::::++++::++++++++++::++++++::::::::::::++++++++++++++++++++++++++++++**++**+
,,,,:+::++++++::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::+:::,::,,::::,,,,,,::::::::::++::::++::::::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::+++:::++::::::::::::::::::::::::::::::::++++::::++:::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::::::::++++++++++++++++++++++::::::::::::::::++::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::::++++++++++++++++++::::::::::::::::++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,::,,,,,,,,,,,,,
::::::::::::::::++:::::+,,,,,,,,,,,,,,,,:,:::,::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::++++++++++:::+++::::+++:::+++
+::+++::::::+:+****#**********++++::,,,,...,::::::::::::++::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::++,,:+++::+++++
::+:::++++*##***###**++*::+********+,,,,,,,,...,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,,::,,,::::::
+++++++*#*************+***+***********+:::++++**+:,...:***::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::+::,,:::+:,:,,,,,
:,,*############****************************######**##****:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####################******##********************#**,,:****::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::++++:
############################*******########**********+++++::::::::::++++++++::++::::++++::::::::::::++++::::::::::::::::::::::::::::::::++++++++++::::++++::+++
#############################*++**##################*******+::::::::::::::::::::::::::::::::::::::::++::::::++::++::::::::::::::++::::+++++++++++++++++++++++++
############################+*,+,+*##################*****::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::++++++++++:+++++++::::+++++++++
############################+#,:,**################*+:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::++++++++**+
##################**********+::*:+*#**+++++*#####*++++++::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
++++++++++++**************************************++++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::
,,,,,,::,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::,,,,::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,::,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::,,::::,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::,,::::+:++:::++:,,::,,...,::++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,:::::::::::::::::::::::::::::::::::::::::::::::
::+++:+:+++++++++:+:+++++:+:::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:,:::+*+,:::++++++++++++::++::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::,,::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::+++++::::::::::::,,,,..,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,::::::,,,,::,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*+++++:,,::::::,:::::::,,,,,,,,,+,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,::::::+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::,,,,,,,,,,::::::::,,,
,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,::::::::,:++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::++++++:::::::::+:::+++++,:::++++::::::::::::::::::++++::++++::::++:
::::::::::::,,,,::,,,,,,,,::::::,,,,,,,,,,:,,,,,,,,,,,,,,,::::::++::::::+:::::++++::::+:::++++++::++:::++:::::::,:::::::+:+++:::::++::::::::::::::++::::++::++:
:::::::::,::::,,::,,,,:::,::::::::::::++:::::::::::+++::++:::::+++::::++::::++::::::::::::::::::::::++::::+:++::::::::::::::::::::::::::::++::::::::::::::+++++
::::++++++++++++++++++::+++++++++::+++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::++++++:::::::::
$::::::,,::::::::::+++++++++*++++:::::::+++++**++++++++++++++******++*****+++**++**++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:
::::::::::::::::::::::::,,,,::::::::++:+++++++++++++++++++++++++++++++++++++++++++++**++****++++++++++++++++++++++++::::::::::::::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::::++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++++++++++++++++++++++******+++****
::::::::::::::::::::::::::::::::::::::::::::::::,,::::,,::::,,,,::::::::++++++::::::::++++::::::++++::::::::++::::::::::++++++::++++++++++++++++++++++++**+++++
,,,,:+::++++++:::+++:::::::::::::::::::::::::::::::::::::::::::::::::::::+:::,::,,::::,,,,,,::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::+++:::++::::::::::::::::::::::::::::::::++::::::::::::::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::+++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::::++::+++++++++++:::::::++::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::++::+++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++::::::::::::::::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::,:::::::,,............,,,,,,,,,,,,,,::,,:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++:::+:::+::+++:::+++
:++*#####***++*++******:,,,,,,....,:::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::+,,::++::+++++
#**********:++++**********+:,,,,,,,,,..:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,:::,,,::::::
####****#******+**************+****#**##********::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++::::+:::,,::+:,:,,,,,
**********************##**************#***+***++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##############**##********######*****##**,,+***+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::++:::
########################*#########**********+++++:::::::::::::::::::++++++++::::::::++++::::::::::::++++::::::::::::::::::::::::::::::::++++++++++::::++++::+++
##################*****+##################******+:::::++::::::::::::::::::::::::::::::::::::::::::::++::::::::++++::::::::::::::++::::+++++++++++++++++++++++++
##################**::::+*##############******+:::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::::::++++++:+++++++::::+++++++++
######**********#*,:,.:#*###########*###*:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::+++++++++++
####################,:+*##########**********++::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::::::::
,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,::::::::::,,,,,,,,::::::::,,,,::,,,,,,,,,,,,::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::::::
::::::::::,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::++++:::++:,,::,,...,::++:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::+++:::+++++++++:+:+++++++:::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:,:::+++,:::++++++++++++::::::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::++++:::::::::::::,,,,..,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,::::,,,,:,::::::::,,::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+**++++:,,::::::,:::::,,,,,,,,,,,+......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::,,,,,,,,,,::,,::::,,,
,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::,:++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++:::::::::+++:+++++,:::++++::::++::::::::::::++++::++++::::++:
::::::::::::,,,,::,,,,,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::++::::::+:::::++++::::+:::++++++::++::+++:::::::,:::::::+:+++:::::++::::::::::::::::::::++::++:
:::::::::,::::,,,,,,,,,,:,::::::::::::++:::::::::::+::::++:::::+++::::++::::::::::::::::::::::::::::++::::+:+:::::::::::::::::::::::::::::++::::::::::::::+++++
::::++++++++++++++++++::+++++++++::+++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::::++++++:::::::::
$::::::,,::::::::::::+++++++*++++:::::::+++++**++++++++++++++******++*****+++**++**++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++:
::::::::::::::::::::::::,,,,::::::::++:+++++++++++++++++++++++++++++++++++++++++++++**++**++++++++++++++++++++++++++::::++++::::::++++++++++:::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::,,,,::++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::::::::++++++++++++++++++++++******+++****
::::::::::::::::::::::::::::::::::::,,::::::::::,,::::,,::::,,,,::::::::++++++::::::::::++++::::::++::::::::++++::::::::++++++::++++++++++++++++++++++++**+++++
,,,,:+::++++++:::+*+:::::::::::::::::::::::::::::::::::::::::::::::::::::+:::,::,,::::,,,,,,::::::::::::::::++::++::::::::::::::::::+++++++++++++++++++++++++++
,,,,,,::::::++++++++++++++++::::+++:::++::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::++++++++++++++++++++++++++
,,,,,,,,,,,:::++++++++++++:::++++++++:::::++::::::::::::::++++++++++++:::::::+::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,::::::+++++++++
,,,,,,,,,,,,,,,,,,,,,:::::::++++::::++++++++++++++++++::::::::::::::::::::::++::::++++::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,
+:,,..,,,,,,,,,.,.....,,,,:,,,,,,,,,,,,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++:::+:::+::+++:::+++
###+****++++******+,,,,,,,,,..,:::::::::::::::::::::::::::::::::::::,,::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::+,,::++::+++++
***#**+***+*********#*::,,,,,,,,..,:++*+*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::,::::,,::::::
**##******+*******************###*##*+****::::::::::::::::::,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::++::::+:::,,::+:,:,,,,,
********####**********#####****+####******+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
##############*****#########****##**:*****::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::++:::
####################***********************+::::::::::::::::::::::::++++++++::::::++++++::::::::::::++++::::::::::::::::::::::::::::::::++++++++++::::++++::+++
############*+#:,++*################*******:::::::::::++::::::::::::::::::::::::::::::::::::::::::::++::::::::++++::::::::::::::++::+++++++++++++++++++++++++++
############*++:+:**##**##########*#**::::::::::::::::::,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++::::::::::::++++++++++++++::::+++++++++
####**######*.:++:+####*++*#######*+::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::+++++++++++
##############*##*######**####******++++++::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::++++::::::++++++::++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::::::::::,,,,,,,,::::::::,,,,::,,,,,,,,,,,,::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::,,,,,,,,,,:::::::::::::::::::::::::::
::::::::,,,,,,,,,,:::::,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::++++++::::+:,,::,,...,::++:,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::
::++::+:+++++++++:+:++++::::::::,,,,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::+:::::::::::::::::::::::::::::
:,:::+*+::::++++++++++++::::::::,,,,,,,,....,,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::
*+++++++:::,,::+::::::::::::::::,,,,..,,......,,,,,,..,,..,,,,,,,,,,,,,,,,,,::::::,,,,::::::::,,::::::::::::::::::::,,:::::::::::::::::::::::::::::::::::::::::
+*+*+++:,,::::::,:::::,,,,,,,,,,,+......,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::
:,,,,:::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::::::
,,,,,,..,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++::++::::::::::::::::::::::::::,,,,,,,,::::,,::::,,,
,,,,,,,,,,,,,,,,,,,,::::::::,,::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::,,,,,::::::::::,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,::,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::::::::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,,::::,,++::++:::::::::::::::::
::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::++++++:::::::::+:::+++++,:::++++::::::::::::::::::++++::++++::++++:
::::::::::::,,,,::,,,,,,::::::::::,,,,,,,,:,,,,,,,,,,,,,::::::::++::::::+:::::++++::::+:::++++++++++::+++:::::::,:::::::+:+++:::::++::::::::::::::++::::++::++:
:::::::::,::::,,,,,,,,,,:,::::::::::::::::::,,:::::+::::++:::::+++:::+++::::::::::::::::::::::::::::++::::+:++::::::::::::::::::::::::::::++::::::::::::::+++++
::::++++++++++++++++++::+++++++++::+++++::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::,:::::::::::::::::::::::::::::::::++++++++:::::::::
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,,,,,::::*****++++++++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++********++++++++++++++++++::::+:+:,+,::+**++::++++++++::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++***#*#****++++++++++++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++****##########**********++++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++:,,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++++****************++******************++++++********++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**++**********************************************++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++++****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++++****++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++**++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******++++++++++++++++++++++++++*+++**++++++**********************+***++,,...............,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******++++++++************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++******++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+:::::::::::++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,:::::::+***++++++++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++:::+**********++++++++++++++++::::+:+:,+,::+**++::++++++++::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++#*###****+++++++++++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++*****##########*********++++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++:,,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++++****************++******************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**++**********************************************++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++++****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++++****++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++**++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******++++++++++++++++++++++++++*+++**++++++**********************+***++,,...............,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******++++++++************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++******++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+:::::::::::++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,::::::::**++++++++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::::+*******+*++++++++++++++++::::+:+:,+,::+**++::++++++++::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++*********+++++++++++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++******##########********++++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++:,,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++************************++******************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**++**********************************************++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++++****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++++****++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++**++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******++++++++++++++++++++++++++*+++**++++++**********************+***++,,...............,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******++++++++************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++******++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+:::::::::::++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,::::::::++++++++++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**:+*+++::+++++*********++++++++++++++::::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++*+++*********+++++++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++*############*****++++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++::,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++***###########**********++******************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**++**********************************************++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++++****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++++****++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++++++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*++++************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+:::::::::::++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::+:::++**:++++++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**:+*+++::++++::*******+***+++++++++++::::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**+++++++++++++++*++****++++++++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**+++++*##*#######******++++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++::,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******+++++++++++++++++++++++++***##########*#********++******************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++******************************************************++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++++****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++++****++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++++++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*++++************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+:::::::::::++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::++++++*+*++++++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::+++++++*********+*++++++++++::::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++*+:+++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++++***+#####******+++++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++::,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++***#############**************************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++***#######********************************************++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++++****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++++****++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++++++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::*++***+***+++++++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**+++:++::++++++++**********++:+++++++::::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++*+:++++++++++++:++++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++**+*#**#####****#***++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++:::,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++***###############************************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++***###############************************************++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**********************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++*+++++++******++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++++++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++*********++*+++++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++++++++:*********++*+++++++::::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++++*+:+++++++++++:+++++++++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++**+++*****#*********++++****++++++++**++++**++++++++++++++++++++++:+++++*+++++*++:::,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++#################*********************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++**#################*********************************++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++****######****************************************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++**++**********++**********************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++**+++++++******++****************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++++++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++**++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+:::::::::::++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++***+******+****++,,::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++++++++,*++************+*++::::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++++++*+*+++++**++***+**:+++++++**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++*******+++++*************+**++++++++**++++**++++++++++++++++++++++:+++++*+++++*++:::,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++**#*+***#######*,+#+**#***************++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++#####################***************************++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++**#####################*************************************++++******************++**++++++++++++****+
*************************++++++++++++++++++++++++++++++***###################*******************************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++***++++++************************++**************************************++***********#************+++
*********************++++++++++++++++++++++++++++++++++++*++++++++**++++**************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++++**++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++++++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++***++********+**++:::,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++++++++:+++++**************++::+:+:,+,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**+++++++++++++++++++**###**********#******+**++++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++****++**++++++++++++++++++++::++++++**++++**++++++++++++++++++++++:+++++*+++++*++:::,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++***+**###*##********#*****+***********++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**#***+###########++####************************++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++*#########################********************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++***#########################************************************++++++++++******************++++++++***
***********************+++++++++++++++++++++++++++++++++**########################************************************************++***********#************+++
*********************+++++++++++++++++++++++++++++++++++******************************************************************************************+****##******
******************++++++++++++++++++++++++++++++++++++++++++++**++++++++++++*****************************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**+++++***++++++++++++****************+******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++****++++++++++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++++++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++***++++***++**+++**+**,:,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++++++++:+++++++******************+:,:,::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++++++++++*#****##**########***+++**++++++++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++****++****++++++++++++++++++++++:+++**++++**++++++++++++++++++++++:+++++*+++++*++:::,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++++***+++**********************++******++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**+*############********************************++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++****####**#############*****#*****************************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++***#############################******************************++++++++++******************++++++++***
***********************+++++++++++++++++++++++++++++++++******###########################*****************************************++***********#************+++
*********************++++++++++++++++++++++++++*++++++++*****###########################**********************************************************+****##******
******************+++++++++++++++++++++++++++++++++++++*******######################*********************************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**+++++*****************************+++******************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++**++++++++++****++**++**++++*******************************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++++++******++++++++*******************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++****++++++++*****************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*****++++++++++++++++++**++++++++++***************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++++++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++***+++++++**++++++++*******:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++++++++:+++++++++********************+::+**++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++++++++++++************************++***+++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++****++*******+*+:++++++++++++++++++++++*****++++++++++++++++++++++:+++++*+++++*++:,,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++++*******+++++++********++++**++++++++++++++++******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**+++++***************************+++***********++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++*******#############*#********++::::**********************++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++**+***###*#**+*###############**+***##************************++++++++++******************++++++++***
***********************++++++++++++++++++++++++++++++++++*******############################*****#********************************++***********#************+++
*********************++++++++++++++++++++++++++*++++++++********##################################************************************************+****##******
******************+++++++++++++++++++++++++++++++++++++*********#################################********************************************************+*****
****************+++++++++++++++++++++++++++**+++++++++********##*########################***#*##***************************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++************##############################*****************************************************************
***********++++++++++++++++++++++++++++*+++++++++++*****++++++*************************************************************************************************
********+++++++++++++++++++++++++++++*++++++++++++*****+++++++++++*********************************************************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*******++++++++++++++******++*********************************************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++++++++++++++****++*******************************************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++++++++++++++**++********++*****************************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++++++++++++******++***************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++++**++++**++******+++*******************++***************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++**++++++***********************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++++++++++++++++++******+++**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++++++++++++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++**++++++++++++++++++++++++++++++++**++****++******************************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++++++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++*+++*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++++****++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++****++++*****+++**********++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++****++****+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++*******+++****++********************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++***++++++++++**+++++++++++******++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++*+++::++++++++:+++++++++++::********************++++::++++++*+::,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,::+++::::++******::+++++++++++++**++++++++++++++++++++++++++*+***********************+++++++++++++++++++++++++::::,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++****++******++********************##**####***+***+++++++++++++++++:+++++*+++++*++:,,,,,,,,,,,,,,,,,,,,,,::,
****++++++++++++++++******++++++++++++++++++++++++++++++++**********++++++++++++++++++++++++++++::++:*******++*+++++***********+++++++++***+++++:,,,:::,::::,,,
****************************++::++++++++++++++++++++++++++**++******+*++********************+++++++++++***++++***************+++********++++++++++++++++++,,:+:
++++***********************+++++++++++++++++++++++++++++++**++******+*******************************++++++**********++++******************++**++++++++++++****+
*************************+++++++++++++++++++++++++++++++++**++***************#**************************++**************++++++++++******************++++++++***
***********************+++++++++++++++++++++++++++++++++****++****####**############**********++*:++*****##***********************++***********#************+++
*********************++++++++++++++++++++++++++*++++++++**********#*###****+**,*###################+*******#**************************************+****##******
******************+++++++++++++++++++++++++++++++++++++*************################################++******#********************************************+*****
****************+++++++++++++++++++++++++++**+++++++++**++*********################################***########*************************************************
*********+***+++++++++++++++++++++++++++**++++++*+++****++********#*##########################################*************************************************
***********++++++++++++++++++++++++++++*+++++++++++***************#*#########################################**************************************************
********+++++++++++++++++++++++++++++*++++++++++++******+++********####################################********************************************************
*****+++++++++++++++++++++++++++++++*++++++++++++*******++*********########################################****************************************************
**++++++++++++++++++++++++++++*+++++++++++++++****++++++++++++******######################################*****************************************************
+++++++++++++++++++++++++++++++*++++++++++++******++++++**++++++**************##**########*********************************************************************
+++++++++++++++++++++++++++++**++++++++++++++***++++++++++++++++++*********************************************************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++++++++++++*********************************************************************************************
**++++++++++++++++++++++**++++++++++++++++++++++++++++++++**++++++++**++++*************************************************************************************
**++**++++++++++++++++****++++++++++++++++******++++++++++++++++**++**++++++**++********+**********************************************************************
++**++++++++++++++++****++++++++++++++++++****++++++++++++********++++*++++++++++******************************************************************************
++++**++++**+++++++***++++++++++++++++++++++**+++++++++++++***++++++++++++++++**++****++************+*****************++::+++*********************#************
+++++++*++++*******++++++++++++++++++++++*******++++++++++++++**++++++**+++++***++**++++*********+**************+**+,.........,:*******************************
++++++++**++++****++++++++++*++++++++++++*******+++++++++++++++++*++++++++*+++**++++++++********************+***++,,..............,,::*************************
++++++++++++*********+++++**+++++++++++++++***++++++++++++++******+++***+*************************************++:::::::,,,,,..............,:++*****************
+++++++++++*******++++++++++++++++++++++++*****+++++++**++++******+*++******++********++***********************++:::::::::::,,,,,,...............:+************
++++++++++******++****++++++++++****++++++****++++++++++++++++++******++******++**++******++******************+:::::::::::::::::::::,,,,..............,,+******
+++++++*****++**++******+++++++*****++++**+***++++++++++++++++++******++++**+*******+*+++++**+*************+*+::::::::::+++:++++++++::::,,,,................,:*
++++*****+****++****++++++++++******++++++++****++++++++**++++++++****++************************************+:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,......................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,,,.........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,......................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,+,,,,,,,,,,,,,,,,,,::++++++++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::::++***+++++++++::::+,:::+:+**++++++++:::+++**++++++***: ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,,,++::::::::::+++*+:::::++*+**++++*+::++++++++:+++++++++++++::+++++:*::*******++++***********++++:,:+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,:,,::+++::::++*****+::+++++++++++++**+++++++++++++++++++++++++++++++++++++:*:***********************++++++++++++++:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+
++:+***+++++++++++++++++++++++++++++++++++++++**++++************++++++++++++**********************************++++++++:*++++*+++++++:+,,,,,,,,,,,,,,,,,,,,,,,:,
****++++++++++++++++******++++++++++++++++++++++++++++++++******************###++###**********************++++**++++++++:**:*+++++++++++++*+++++:,,:::,:::,,,,:
****************************++::++++++++++++++++++++++++++******************+**************############****#######***+++++:#**++++******+++++++++++++++++:,,:::
++++***********************+++++++++++++++++++++++++++++++**++****++************+*+*++++++******+++++++++++++++++++++::++#++:*************++**++++++++++++++**+
*************************+++++++++++++++++++++++++++++++++**++++******************+*****************++++++++++++++++++++++:::::::+****************++++++++++**+
***********************++++++++++++++++++++++++++++++++++***++++****************#*******************************++++++++++++++++::::++*+******##************+++
****************+****++++++++++++++++++++++++++*++++++++****++++****************##**********************************++++++++++++++++:::+*+********+****##******
******************+++++++++++++++++++++++++++++++++++++***++****************###*###****#********************************++++++++++++++++++:+*************+**##*
****************+++++++++++++++++++++++++++**+++++++++**+++++***************###*###*****************************************+++++++++++++++++:+****************
*************+++++++++++++++++++++++++++**++++++*+++****++********************#**#*******#******************************************++++++++++++++*************
***********++++++++++++++++++++++++++++*+++++++++++*********++**************######******####******************************************++++++++++++++***********
********+++++++++++++++++++++++++++++*++++++++++++******++********************####******########********************************************+++++++++++********
*****++++++++++++++++++++++++++++++++++++++++++++*******++++******************########**##########********************************************++++++++++++*****
**++++++++++++++++++++++++++++*+++++++++++++++******++**********************########################************************************************++++**++***
+++++++++++++++++++++++++++++++*++++++++++++******++++**********************####*##*################**************************************************++*******
+++++++++++++++++++++++++++++**++++++++++++++*****++++++**++******************##**#+*###############***********************************************************
++++++++++++++++++++++++++++**++++++++++++++****++++++++**++******************##***+*+##############************************#******************+***************
**++++++++++++++++++++++**++++++++++++++++++****++++++++**********************###***##############*#********************************************,*.*********#**
**++**++++++++++++++++****++++++++++++++++******++++++++++********************###+****+##############*******************************++++++*******+.,***********
++**++++++++++++++++****++++++++++++++++++****++++++++++++***********************+**+**+###############***************************#**+,  :++**************####*
++++**++++**+++++++***++++++++++++++++++++++**+++++++++++++*********************##+**++*##############*#****************++++******####*+***************#####***
+++++++*++++*******++++++++++++++++++++++*******++++++++++**********************##++*++**#####################***##+..........:+****###**************####**####
++++++++**++++****++++++++++*++++++++++++*******+++++++++++*********************##*+*****########################+,,...............,:+*###****#################
++++++++++++*********+++++**+++++++++++++++*****++++++++++**********************##******+*###################***+::::::,,,,,..............,:**####****#########
+++++++++++*******++++++++**++++++++++++++******++++++**++**********************####+****+#####################*+:::::::::::,,,,,,..............,:*############
++++++++++******++****++++++++++****++++++****++++++++++++************************###+*****###################++::::::::::::::::::::,,,,.............,,:*#####*
+++++++*****++**++******+++++++*****++++******++++++++++++++**********************####****###################*:::::::::::++:++++++++::::,,,,...............,:+*
++++*****+****++****++++++++++******++++**++****++++++++**++++**********************###***##################*:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,......................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,,,.........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,......................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,..........................................................,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,:+::+***######****++::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:,,,,,,,,,,,,,,,.,,:::++++***+:+::++++++::+,::::,,,,:,+,*,::****+++++++++++****+++++++++*+.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:::::,::,,,,:,::::::::::::+++*+:,:::++++**++*:*+::++++++++::++++++++::++:::::+::::+,++++:*::::******++++++++++****++++++++:,,:+++:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,::,:++++::::+++****+::+++++++++++++**+++++++++++++++++++++++++++++++++++++++++++++:+:++++**********************++++++++,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,+
++++****++++++++++++++++++++++++++++++++++++++**++++************++++++++++++++**++++++**+*++++*************************+++++++++::::::,+,,,,,,,,,,,,,,,,,,,,,:,
****++++++++++++++++******++++++++++++++++++++++++++++++************************+++**+*****+++**##************************++++++::++::::::*+++++,,,,,:,,::,,,:,
****************************++::++++++++++++++++++++++++++**++********************+**####**##***##**************************+++++++++++++++:*++++++++++++:,,:+,
++++***********************+++++++++++++++++++++++++++++++**++************************#######*#*###***********************++++++++++++++++++::+*++++++++++++*++
*************************+++++++++++++++++++++++++++++++++*+++++***********************#*#*+*#############************+++++++++++++++++++++++++:+***++++++++**+
***********************++++++++++++++++++++++++++++++++++***++++++******************#***###***###**#########**###########******######***###*#*:++::*********+++
****************+****++++++++++++++++++++++++++*++++++++**++++++********************#***#####*************************++++++****+*######**#***####*#***********
******************+++++++++++++++++++++++++++++++++++++***++******++++************#*#***#######***************************++++++++++++++++++++++++::::::++***#*
****************+++++++++++++++++++++++++++**+++++++++**+++++**********************#############******************************+++++++++++++++++++++++*++::+:***
******+**+**++++++++++++++++++++++++++++**++++++*+++****++************************#####*###########*******************************+++++++++++++++++++++++++++++
***********++++++++++++++++++++++++++++*+++++++++++*********++********************######################****#***************************+++++++++++++++++++++++
********+++++++++++++++++++++++++++++*++++++++++++******++**********+*************##########################*##*******************************+++++++++++++++++
******++++++++++++++++++++++++++++++*++++++++++++*******++++++**********************###########################*#*******************************+++++++++++++++
**++++++++++++++++++++++++++++*+++++++++++++++******++******++**********************###############################*****************************************+++
+++++++++++++++++++++++++++++++*++++++++++++******++++****************************####################################*****************************************
+++++++++++++++++++++++++++++**++++++++++++++*****++++++**++************************####################################***************************************
++++++++++++++++++++++++++++**++++++++++++******++++++++**++**************************####################################*************************************
****++++++++++++++++++++**++++++++++++++++++****++++++++****************************########################################***********************************
**++**++++++++++++++++****++++++++++++++++******++++++++++****************************######################################*#*********************************
++**++**++++++++++++****++++++++++++++++++******++++++++++****************************##############*###########################*******************************
++++**+++++++++++++***++++++++++++++++++++++**+++++++++++++*****************************###############################*++**######*****************************
++++++++++++******+++++++++++++++++++++++*******++++++++++**********++******************##########################**,.........:*****##*************************
++++++++**++++****++++++++++*+++++++++++*+******+++++++++++*****************************#########################+:,..............,,:+*************************
++++++++++**********++++++**++++++++++++**+*****++++++++++******************************########################+::::::,,,,,..............,:++*****************
+++++++++++*******++++++**++++++++++*++++*******++++++++++********+*********************#######################*+:::::::::::,,,,,,..............,,+************
++++++*+****++**++******++++++++****++++******+++++++++++***********************************##################+:::::::::::::::++::::,,,,..............,,+******
++++********++**********+++++++*****++++******++++++++++**++********************************#################*::::::::::+++:++++++++:::::,,,................,:+
++************++****++++++++++*****+++++*******+++**++++****++****************************##################*:::::::::::++++++++++++++++::::::::,,,,........,,,
$,,,,,,,,,,,,,,,,,,,,,,,,......................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,,,.........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,.......................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,....................................................................................................................................,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................................................................................................................,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..............................,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::++********++**++++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,:,,,,,,,,,,,,,,,,,,,,,::::++::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,+*::::**++::++**************++++++++++:,:,,,,,,,,,,,,,,,,,,,,
:::::,::,,::,,::::::::::::+++*+:,:,:+:+:**+****+++++++::::::::::::::::::::::++::+++,,:::::**++++:*++:::**+++++++++++*****+++******++*+++++++++:+*+,,,,,,,,,,,,,
,,:::::::++++:::++*******::++++:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+#:*++++***+*+++++++++************++::++++++++++++++++:::++:,,,,:
+++****+++++++++++++++++++++++++++++++++++++++++++++++++**++**++++**++++++++++++++++++++++++++*:++++++**++**+*********###*******+:*:++++++++++++++++::::::::,,,
****++++++++++++++++******++++++++++++++++++++++++++++++**************************++****+++*++++++++********************###****++++++++++++++++++++++++::::::::
****************************++::++++++++++++++++++++++++++****************************++++****++++**+********************####****+++++++++++++++++++:::::::::::
++++***********************+++++++++++++++++++++++++++++++**++****************************+*#*#*******#*******************####********++++++++++++++++++++++:::
++***********************+++++++++++++++++++++++++*+++++++*+++++**************************+*######**************************####********+*+++++++++++++++++++++
***********************+++++++++++++++++++++++++*++++++++*+++++++++***********************##########**************+*********#####*********+++++++++++++++++++++
*********************+++++++++++++++++++++++++++++++++++**+++++++**************************#########**********#####****#****#######*******+++++++++++++++++++++
******************++++++++++++++++++++++++++**+++++++++**+++++++++++++**********************############****#########****#***########*****+++++++++++++++++++++
***************+++++++++++++++++++++++++++++++++++++++**++++****++++++++++******************##############**###########**+****########****++++++++++++++++++***
************++++++++++++++++++++++++++++*+++++*++++***+++++++***************************#*++##################*##########**+*###########****+++++++++++++++++++
**********++++++++++++++++++++++++++++**++++++++********++++++************************##*#+*#################################+*###########****+++++++++++++++++
*******+++++++++++++++++++++++++++++**+++++++++++*****++++++****************************##+*####################################:###########****++++++++::::+++
*****+++++++++++++++++++++++++++++**++++++++++++*****+++++++++****++********************###########################################*##########****++++++::. .,+
++++++++++++++++++++++++++++++++++++++++++++******++++++++++++++************************###############################################**#######*+****+++++:   
++++++++++++++++++++++++++++++*+++++++++++********++++++++++++++**********************#############################################################*******+++:,
+++++++++++++++++++++++++++**+++++++++++++******++++++++++++++++++**********************#############################################################**********
++++++++++++++++++++++++++**+++++++++++++++*****++++++**++++++++**************************##############################################################*****##
**++++++++++++++++++++****++++++++++++++++******++++++++++**++****************************################################################################*****
*+++++++++++++++++++****++++++++++++++++********++++++++************************************#################################################################**
++++**+++++++++++++*++++++++++++++++++++++***+**++++++++++********************************#####################################################################
++++++**+++++++++***++++++++++++++++++++********+++++++++++++*******************************##########################*:,,,,,+#################################
++++++++**+++*****++++++++**+++++++++++++*******++++++++++**********+***********************#######################*,...........:*#############################
++++++++************++++****+++++++++++++**+****+++++++++++*********************************#####################*::,,...............,:*#######################
+++++++++*******++++++++**++++++++**++++******++++++**++++************************************##################++::::::,,,,...............,**#################
++++++++********++++++**++++++++++++++********++++++******************************************#################*::::::::::::,,,,,,..............,+#############
++++++****************++++++++****++++********++++++++++++************************************################+:::::::::::::::::::,,,,..............,,:+*######
+++++*****************++++++*****+++++******++**++++++++++++*********************************################+::::::::::+++:++++++++::::,,,,............,,,,+*#
+++*********++************++****++++++++****++**+++++***++++**********************************##############+::++:::::++++++++++++++++++::::,,,,,,.............
$,,,,,,,,,,,,,,,,,,,,,,........................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,..........................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,..........................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,...........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,,,..................................................................................................................................,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,::++++++++****++::,,,,,,..,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,++**+++**++************######**********+:,,,,,,,
,,,,,,,,,,,,,,::::::,,:,,,+++,,,::,,,,,,,,::::::**++++****++++:+++:+++++++*:::,,,,,,:,,,:,,,,,,,,,,,,,,,,,,,**#*+*+++++++++++*##*#****************#####*******+
::::::::::::::::::++****:::+:+::,:*+++++++++++++++++*+*+++++++++++++++++++++::++::::::,::+++++++*+***+::::+**++*+++++++++++++*####**+*******************####***
::++:::+++++++**+++:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+:***++*#*+++#***+++++++++++#####**++++****#########*******###
++++*+++++++++++++++++++++++++++++++++++++++**++************++++++++++++++++++++++**++++++++++++:++++++***++*****************#####*****##*####**:*+++++++++++*#
++++++++++++**********++++::++++++++++++++++++++++++******************++********************+++*++++*****+***#***************######*****#####+++++#+++*++++++*#
**********************++::+++++++++++++++++++++++++++*++******************************++**+++++**************#***************#######****##*#********++*++++++**
*********************++++++++++++++++++++++++++++++++*++****++****++**********************+++++*####*************************#######******##****************+*#
*******************+++++++++++++++++++++++++++++++++*+++++**************************************########*********************#######*********#******#*****###*#
****************+++++++++++++++++++++++++++++++++++**+++++++*************************************########*##*****###*********#########**********######****#####
**************+++++++++++++++++++++++++++++++++++++*++++++++++++*************************************#################****##*#############******###############
************++++++++++++++++++++++++++++++++++++++**++++**++++++++++++**************************##########################################******###############
**********+++++++++++++++++++++++++++**+++++++++**++++++**++++++++++++****************+**********##**#####################################*******##############
******+++++++++++++++++++++++++++++*++++++*++++***++++++++************++++***********************#*##+######################################********###########
****++++++++++++++++++++++++++++***++++++++++******+++++++++*************************************#**++**######################################********#########
**+++++++++++++++++++++++++++++**+++++++++++*****+++++++++++*************************************#*****:########################################********#######
++++++++++++++++++++++++++++++**+++++++++++******+++++++++++++++******++********************######+***#+##########################################*******######
++++++++++++++++++++++++++++++++++++++++******++++++++++++++++**++****************************####:**:*+*#############################################*****####
+++++++++++++++++++++++++*++++++++++++******++++++++++++++++**********************************#####+**+*+######################################################
+++++++++++++++++++++++**+++++++++++**+*****++++++**++++++++**********************************#####****+*################################*+####################
++++++++++++++++++++++**++++++++++++******++++++++**++++++++************************************####*****######################################################
++++++++++++++++++**++++++++++++++++**++**++++++++******++++**************************************#############################################################
++++++++++++++++****++++++++++++++++******++++++++++**********************************************#############################################################
+++++++++++++++***+++++++++++++++++*******++++++++++************************************************###########################################################
++++++++++++++**++++++++++++++++++++**++++++++++++++********++**************************************####################**#####################################
****++++++****++**++++++++++++++++********++++++++++******************+*****************************################,........,*################################
**++********+++++++++++++++++++++++*******+++++++++++*************************************************##########*+,,...............:+*#########################
****++******++**++++++*+++++++++++++*******+++++++++++*************+********************************########*###:::::,,,,,...............,:*###################
++*+******++**+++++***++++++++++++********++++++++++**********+***************************************#########+::::::::::,,,,,,...............,:+#############
++++********++++++**++++++**++*+++******++++++++**++**************************************************#######*+:::::::::::::::::::,,,,..............,,:+#######
**************++**++++++++****++++******++**++++++++++**************************************************#####+::::::::::+++:++++++++::::,,,,...............,+*#
******************++**+++*****++++**+****+++*+++++**++++**++************************************************+::++:::::::++++++++++++++++::::,,,,,,.............
$,,,,,,,,,,,,,,,,,,,,,,.........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,...........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,..........................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,...........................................................................................................................................
,,,,,,,,,,,,,,,,,,,,,,........................................................................................................................................,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,............................................................................,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................................,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..................,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,+:,,,,,,,,:,,,,,,,,,,,:::++++*++++::::::,:++,:,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,:+*************##***
::::,,++::::+:::::::+++::::,++:::++*+*++++::++::::+:::::++++::::::::::::++:+:::,::+++**+++++++****+::,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,.,:+**########*************
::::++::::**+****:,::++:++::++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++::::,,,,,:,,,,,,,:+***########**##++*+++++*****
+****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:*#####*,,::+****#######***+++*#+++*++****++*
++++++++++++*****++++:++++++++++++++++++++++++++++************************************++**++++**++++++++++++++**++++++++++******##*###***********#**+*+++++++++
++++********+********++++++++++++++++++++++++++++++*++********************************++********++++++++**********************#######***********##*+*++++*****#
********************+++++++++++++++++++++++++++++++*++**************************************++++**************************##########************###****#*******
*******************++++++++++++++++++++++++++++++++*++++++++**************************************************####********#***######******######*###******#####
************++**++++++++++++++++++++++++++++++++++**+++++++++*************************************************#########*########***###**#######################
**************++++++++++++++++++++++++++++++++++++**++++++**************************************************++#################################################
************+++++++++++++++++++++++++++++++++++++**+++++++++++++++*******************************************+#################################################
*********+++++++++++++++++++++++++++++++++++++++**++++****++++++++++****************+************************##*###############################################
******++++++++++++++++++++++++++++**++++++++++**++++*+++****+*++**++++++**************************************###**############################################
****+++++++++++++++++++++++++++++*+++++++++++*******++++++**********++++**************************************######*##########################################
***+++++++++++++++++++++++++++***+++++++++++****++++++++++++********++*****************************************################################################
++++++++++++++++++++++++++++++*++++++++++++*****+++++++++++++++*****++++****************************************###############################################
++++++++++++++++++++++++++++++++++++++++****++++++++++++++++**++*************************************************##############################################
++++++++++++++++++++++++++++++++++++++++****++++++++++++++++**++++**********************************************###############################################
++++++++++++++++++++++++*+++++++++++**+*****++++****++++++++****************************************************##########******###############################
++++++++++++++++++++++**++++++++++++*******++++++*++++++++++****++****************************************###############**#######*############################
++++++++++++++++++++++++++++++++++++******++++++**++++++++++**************************************************###########*#**#*+*****##########################
++++++++++++++++++**++++++++++++++++****++++++++++****++++******++****************************************##**##########**#*****++#**##########################
++++++++++++++++**+++++++++++++++++++*****++++++++++**++**************************************************##**###########*#*****#**+**#########################
++++++++++++++****++++++++++++++++******++++++++++************+*******************+*************************#############*******#****+*########################
++++++++++++**++++++++++++++++++++++****++++++++++++++**++********************++******************************##***#,.......,:*+**##+*+++**####################
****++++++****++++++++++++++++++++********++++++++++***********+**********************************************##*+,...............,:********###################
********+***+++++++++++++++++++++++*******++++++++++********************************************************#***:::,,,,,..................+*+*#################
++***********+++++++++*+++++++++++++********++*+++++++********+*********+***************************************+:::::::,,,,,,,,..............,,,+#############
++++******++++++++**++++++++++++++********+++++++********************+**+*************************************+:::::::::::::::::::,,,,...............,,:*######
++++********++++++**++++++++***+++++****++**++++++*+**********+*********************++***********************+::::::::::+++:++++++::::::,,,,,...............:+*
++****************++++**++****++++++**++**++++++++++**++**************+*************************************+:::::::::::++++++++++++++++::::,,,,,,...........,,
$