########## #################### / / ############### = - ######## # - , / < # / _ # ######## / ####### . | / ####### + # ##################
#::::::::# / #::::::::::::::::::# | #:::::::::::::::## - \ #::::::# + \ / \ + * # . | #::::::# # #:::::# * - #:::::# + #::::::::::::::::#
#::::::::# #::::::::::::::::::# # #::::::#####::::::# _ #::::::# # , + / * * / + _ = #::::::# < #:::::# \ _ #:::::# #::::::::::::::::#
##::::::## # | ############:::::::# < ####### + #:::::# \ #::::::# \ | / / \ _ + \ / #::::::# #::::::# > # #::::::# = #:::::############
#::::# _ = \ = / \ #::::::# _ = , > #:::::# = _ #:::::# # < \ ##### / \ #:::::# * ###:::::# / #:::::### - #:::::#
#::::# - / , # #::::::# # < + > \ #:::::# # #:::::# # #:::::# _ - #:::::# / _ #:::::# #:::::# , \ #:::::#
#::::# / - \ = < + #::::::# \ _ = \ ########:::::# \ | = #:::::# \ > # #:::::::# < > #:::::# | < + #:::::#:::::# * \ \ #:::::##########
#::::# < , > = * #::::::# _ | # #:::::::::::# \ > / #:::::# _ #:::::::::# #:::::# - _ = . #:::::::::# , # < #:::::::::::::::#
#::::# # / \ \ | #::::::# > > | = - \ ########:::::# - | #:::::# #:::::#:::::# , #:::::# , . - _ * #:::::::::# - , | / ############:::::#
#::::# , * > / #::::::# / . > \ = / / _ #:::::# # - / | #:::::# #:::::# #:::::# #:::::# * \ > > #:::::#:::::# = | _ * + #:::::#
#::::# / / \ #::::::# / | \ \ \ | #:::::# . , \ #:::::#:::::# #:::::#:::::# \ . , = \ , #:::::# #:::::# / / # , / . #:::::#
#::::# / / , #::::::# , _ = - + . < / #:::::# > / + # | * #:::::::::# \ * #:::::::::# \ < + / # ###:::::# , #:::::### . ####### * #:::::#
##::::::## . \ #::::::# , * . \ _ ####### / #:::::# / , * | \ #:::::::# < , #:::::::# \ # = / #::::::# _ #::::::# #::::::#####::::::#
#::::::::# * #::::::# / * # / #::::::#####::::::# > * + = / #:::::# \ + #:::::# \ . _ , #:::::# < #:::::# + < ##:::::::::::::##
#::::::::# . + #::::::# # / | / | #:::::::::::::::## = / / > = _ #:::# < * \ #:::# # < = * . \ \ #:::::# < #:::::# < ##:::::::::##
########## = \ ######## / > = \ _ = ############### \ * . # ### - / \ - ### # _ \ / ####### = ####### - * #########