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