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