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