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