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