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