+++++++++++++++++++++++++++++++++++++++++----+----+-+----------+++-+++++++++++++++++++++++++++++++++++++++++++++++++++++--+----+-+----------+++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----+-+----------+++-++++++++++++++---+-+----------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+----------+++-+++++++++++++++++++++++++++++++++++++++++++----------+++-++++++++++++++---------+++-++++++++++++++++++++++++++++++++++++++++-------+++-++++++++++++++------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++-++++++++++++++++-+++++++++++++++-++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------+++++--+++++-++--+++++++-----------------------------------------------------+++--+++++-++--+++++++---------------++--+++++-++--+++++++-------------------------------------------------------------------------------------+++++-++--+++++++---------------+++++-++--+++++++---------------++++-++--+++++++---------------------------------------------++-++--+++++++----------------------------------------------------------------------++--+++++++-----------------------------------------------------------------+++++++---------------+++++++---------------++++++----------------++++---------------++++---------------+++------------------------------------------------------------------------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++--+----+-+----------+++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----+-+----------+++-++++++++++++++---+-+----------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+----------+++-+++++++++++++++++++++++++++++++++++++++++++----------+++-++++++++++++++---------+++-++++++++++++++++++++++++++++++++++++++++-------+++-++++++++++++++------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++-++++++++++++++++-+++++++++++++++-++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------+++--+++++-++--+++++++---------------++--+++++-++--+++++++-------------------------------------------------------------------------------------+++++-++--+++++++---------------+++++-++--+++++++---------------++++-++--+++++++---------------------------------------------++-++--+++++++----------------------------------------------------------------------++--+++++++-----------------------------------------------------------------+++++++---------------+++++++---------------++++++----------------++++---------------++++---------------+++------------------------------------------------------------------------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------+----------+++-++++++++++++++---+-++---------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+----------+++-+++++++++++++++++++++++++++++++++++++++++++----------+++-++++++++++++++---------+++-++++++++++++++++++++++++++++++++++++++++-------+++-++++++++++++++------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++-++++++++++++++++-+++++++++++++++-++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---++++-++--+++++++------------------------------------------------------------------------------------++++++-++--+++++++---------------+++++-++--+++++++---------------++++-++--+++++++---------------------------------------------++-++--+++++++----------------------------------------------------------------------++--+++++++-----------------------------------------------------------------+++++++---------------+++++++---------------++++++----------------++++---------------++++---------------+++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+++++++++--+++++++---------------++++++++--+++++++---------------++++-++--+++++++---------------------------------------------++-++--+++++++----------------------------------------------------------------------++--+++++++-----------------------------------------------------------------+++++++---------------+++++++---------------++++++----------------++++---------------++++---------------+++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-++---------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+----------+++-+++++++++++++++++++++++++++++++++++++++++++----------+++-++++++++++++++---------+++-++++++++++++++++++++++++++++++++++++++++-------+++-++++++++++++++------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++-++++++++++++++++-+++++++++++++++-++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------++-+++++++++++++++++++++++++++++++++++++++++++-----------++-++++++++++++++---------+++-++++++++++++++++++++++++++++++++++++++++-------+++-++++++++++++++------+++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++-++++++++++++++++-+++++++++++++++-++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++--+++++++---------------++++-++---++++++---------------------------------------------++-++---++++++----------------------------------------------------------------------++--+++++++-----------------------------------------------------------------+++++++---------------+++++++---------------++++++----------------++++---------------++++---------------+++------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-++-++---+-++++---------------------------------------------++-++---+-++++----------------------------------------------------------------------++--+++++++-----------------------------------------------------------------+++++++---------------+++++++---------------++++++----------------++++---------------++++---------------+++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------++-++---++++++----------------------------------------------------------------------++--+++++++++---------------------------------------------------------------+++++++++-------------+++++++++-------------++++++----------------++++---------------++++---------------+++---------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++-----------++-++++++++++++++-+------+++++++++++++++++++++++++++++++++++++++++++++------+++++++++++++++++++-----+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++-++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------+++++++++++++--------------------------------------------------------------++++++++++-------------+++++++++-------------++++++----------------++++---------------++++---------------+++---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------++-----++++++++++++++++++++++++++++++++++++++++++++++-----+++++++++++++++++++-----+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++-++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------++++++++++++++++++-----+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+++++++++++++---++++++++++++---++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------+++++++++-------------+++++++++-------------++-+-------------------+------------------+-----------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+----++++++++++++----+++++++++++----+++++++++++++++++++++++++--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++-+----++++++++++++----+++++++++++----+++++++++++++++++++++++++--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+----------+--------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------+--++----------------------+++---------++----------------------------------------------------------------+++++++++++++++++++++----------------------------------------------------------------++++++---------------------++++--------+++---------------------------------------------------------------+-----------------------------------------------------------------+-++++---------------------++++--------+++---------------------------------------------------------------------------------------------------------------++++++++++++++--++---+++++++++++++++++++++++++++++----++++++---++++++--+++++++++++++++++++++++++++++++++++---++++++++++++-----++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------+++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------++++--------+++---------------------------------------------------------------+++++++++++++++++++++++----++++++---++++++--++++++++++++++++++++++++++++++++++++-------------------------------------+-----+------------------------------------------------++----++---------------------+++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++--+++-++++++++++++---------------------------------++++++++++++++++---+