++++++++++++++++ ++++++++++++++++ ++/#--------#/++ ++##--------##++ ++------------++ ++------------++ ++------------++ ++------------++ ++##--------##++ ++/#--------#/++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++#--#-#-#-#-#++ ++------------++ ++/-#-#-#-#--/++ ++------------++ ++/--#-#-#-#-/++ ++------------++ ++--#-#-#-#---++ ++#-########-#++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++############++ ++#----------#++ ++#-/#######-#++ ++--#------#-#++ ++--#--------#++ ++#-/#######-#++ ++#----------#++ ++############++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++/#--------#/++ ++##-ffffff-##++ ++---f----f---++ ++--------f---++ ++--------f---++ ++---f----f---++ ++##-ffffff-##++ ++/#--------#/++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++++++++++++++++ ++/#ffffffff#/++ ++##--------##++ ++------------++ ++---######---++ ++---######---++ ++------------++ ++##--------##++ ++/#ffffffff#/++ ++++++++++++++++ ++++++++++++++++