361555 15 216 600 131 ----------------------+--+-+-------+----+------+-+-----------------++--+---+--++-------+---++----------+----+---------------+-----+-----------+----------+-------------------------------------+-+--+---+--------------+---++++--+---+-------+-+++-------------+-------------+----+---------------+-+--------------++--------------+-------------+------+----------++---+----++----++---+-+---------------+--+------+---------------------+----------------++--++-----+--+-++--+---------+-------+------------------++-----------+--------+----+-------------++-+----+------+-------------+-----+-------+---++-----------+++-----+--------+---+---+--++-++-----------+------------++++-+----------+--+-----++---------+---+-------+-------------+-------+-+--+---+-+-+--+------------+----------------+------------+--+-+---------+-----++------+-----+-------+----------------+-----+---+-----+------++----+------------+-------------+------------------++-----+----++--+-----+----------+---+--+----+-------------------------------------+-----------------+-----+--------++--------+---+------++------+--+------+----+-------------+----------+------+-+-------+--++----+-----------------+----------+-----+-----------+++-----+----+-+--+--+-----+-------+---------------++--+-------------+---------++--------+++------------------------+++-++--------------+---------+--+----------------+----------+--------++------+----------------+---+--+--++---------+-+--------++----------+---+--------------------------+----+---++---+---------------+------------++---------+------+--++-----+----+++----++---+-------+--+--+-------++--+-----+++-+---+--+----++---+-+++---+--+-++---+--+--------+-----+--+--+--------------------+---+--+--------+---+++-+---+--+--+------------+------------+-------++-+---------+---------+----++-----+---+-----+-------------+-------------+--+---------------++-+-----++--+----+---------+--+--------------------+-+-+--+----------+-----+--++---+------+---------+-----+---++--++-----++----+-------+-------++-+--+-+-------++------++---------+--------+--+-----------+----++-----------+-------+-------+----------+-+--+---++------+------+---+-------+----+----------+--+-++---------------++----------+-------++--------++---+----------------------------+-------+---------+-+-----------+---+-------++-------+--+-+-+--+--+-------------+--+----+--+--------++----------+-------------+-------------+------+-----+---+-----------------------+-+-------+---------------+-----+----+-++---+-----+----+----+--+-+------------+----+-----------+-+----------+---+-----------+-----+--------------++---+---+-----------+----+--------++--------+-+-+---++------+-----------------+------+-------+------+-+-++-------------------+---+-----------++------------+-+---+-+--++--+-++----+-----+---+---+---------+---+--+----+--+----------++-----+------+--+--+-------+-----------+-----------+----++------+-------+----+-+----+-+-----------+---+--++-++--------++-------+----------------------+---------+-------------+++-+--+--+------------+--+-+-++-++--+---------+------------------+-----+--+---+---+-+---+----+++------+--+-----+---+-------------------+----+-------+--+----------------------------+--+-+-++----+--------++-+----------+--++---------+--+--+-------++---+---------------+--+-+-------------+----+-----+-------+---+--+-----------------++------+---------+-------------+-------------+---++-----+--++-+-----------------------+-+----+-+--++---++-+---------+++----------+---------------+-+--------------------+---++----+-----++-------------------+--------+--------+-+-------+-+------------------+-+-+----+-+----+---------------+----+-+--------+-+---+++-------+---------++----------------+-+++---+--------++-------------+-----+-------+----------+-----+---------++--------++---------+-+----------------+------------------++--------------+--------+--++-+---+--------------+----+-+---------------------+-+----++-----------------+------++---++------+------------+--+-----++------+----------++------------------+--+------+-----+----+--+-----+-------++++--+--------------------------------------------------+-----+++---+-----------+-----+----------------+--------+-------+---+------+--+----++--++-------+---+----------+-+---+---++------------------+------+++-----++--------+---+----------------------+-++-+----+--+-+--------+--+--------++----+----+-++---+-----+---------+-------------------------+------++------+-------+------+----+-------+---------------+---+-+-+---------++-+---+----+--++-------++----------++--+-+-------+-+------------------------------------------+-+---------+-----+----------+--+-+----------+-+--------------+--+--+++-----+--+---+------++-+------------+-------+-+-----+--+---------+----------+-------+----+-++-------------+-+-+--+---------++--------------+---------+---+---+----+---+-----------------------------+---+----+------+-++-+--+++------+--+-+----+-+-------+---+-----------+--------+--+--++--+------+-----------+------+-------------------+----------+-+------------------+-----+-----+-+----------+-------------+-+------+--------++----------------------------+-----+-+---+-------+-+---++----------------------+----------+---+----+----------+-----+---+---+------+-------------------------------------------+-++----+-----+---------+-----------+-+--+---+----------+++-----+---+---------+----------+++---------+-----+-------------------+---------+-------+--+-++---++-+--+-----------+----+-++-++--+-----++-+----------------+-++-----+++--------------------+----+------+------+---------+-----+----------+-+---+--------------+------++--------------------------+--------+----+------+--+-+-----+-+------------+------------+--+--------+------+---++-----+----+------------+--------+--+-----+-----------+---+------+-+--------------++------+--------------+----------------++-----------------------++---+--++---+---++-----+---++--+--------------------+------++---------------+-----------+--+--+---+---+++-------+----+-----------+----------+------+--------+------------+------+---------------++--+-+----+-+------+--------+---+------+-+-----------------+-----+-------+----+-------------+---+--------+-----+----++++-----+--------+----------------+--------+-------++----+---++--------++---+--------+-------+---+-+--++-------------+-------+--------------++---+---+----------+--------------++----+-----+------+++----+------+-+++--------++-+----------+-----+----+----------+-+----+---------------+---++++--++-----------------+----+---+--+-+-+-+----+--+--------+-------------------+-----------+--------++-------+----+------+---------------------+----+--------+---------+-------+-------------++----+--------++-------------+--------+------------+-------+-+---++--+-+----+---+-----------+-----+----+----+-----++--------++----+-------+---------------------------+-+---------+-+-+----++---+-+-----------------------+-------+---++-+-+---+-----------------+-------------+-------+---+---++--------+---------+---++---+--++----------------++------+-----++----+------------++-----+-----------+---+++--+--+----+---+------------------+--+---++-+-----++---------+------------+---+--+------+---+-------+-----+---------+--+--+-------------------+------++---+-----+-------++------------+-+---------------------------+--+++---+-----+------+-+-+--+----+------------+--------+--------++-------++---+-++-----++-----+--+----------------+----+--+-+--+--------------+----++-------------+-+-++------+---------+---+-+++-+--+-++--+-----+--+-----+-+--+-------+-+++----++-+------------+--+-+--------+------+---------+-----+-------+-+--+-+--------+----+------------------------------+-------+--+------+------++-----+-++---+--+--+-+------------+-+-----+---+----++---+-+------+----------+-----+-+--+----+-+-+------+-----+----+----+--------+--+--+++-----+-----+-+-----+-+--------------+---++--+------+-----+------------+-+----++---------+----------+--------------------------+-------+------+--------------------------------++-------+------++-------+----+-+---+---+------------------+------------+---+---+------+-----+----------------+---+-+------------++----+-+----+---+------+-----------+------+---+-+-+----+------+--+-----+---------------------------------------+-------------------++---+-------------+---+-----------++-++--+--------------+-+---+------------+------+---+--+---+-+-----+-----+---+----+---++--------+-+-+---+-------------------+--++--+---------+---------+----------++--+-------------+---+----+---+-+-----+--------+---+-------+-------------+---------++---+-+---+----+--++---+-------+--------+-+----------+-----------+--+---+--------+-----------------+----+----------------+--++---+--------+-----+-----+------+---+-+----+---+---------+-----+++--+---+----------+--------------+-+---+-+--++---+-+-----------------+----------------++----+-+-+---+-----+---+---+-----------+------+------+-+--+--------+----+---+----+-+-++-------------+-++----+----+-+---------------------------+---+----+-+-----+----+----+--++-+------+---+------+--+----------++++--+-------+-+-+--+-------------+----+---+--++-+----+-+----------++-+--+-+---+----------++------+------+-+------+-+-+-----------------+-----------+-+---+------------------+-+-----+-----++----------+-------------++---+--------+------+---------+-----------+----+--+-----------+-+---------+------+---+-+-----+------+---+--------+--+----------+-----+----+--------+-----+-+--+----+---+-------+--+++-+---+----------------------+---+---+---+---+-----------------------++--------------+++---+-+------------+----------------+-++------+-+---+---+-+---+--------++++-+-----+------------------++---------------+--+-----------------+-------++-+-++--------+--+-------++---------------+---+----------------+---------+-------------+---+--+---++----------+---+--+-----------++--------+-+--+-+----------------------------+----------------------------++--------+-------+------+----+-------+----+---+-------+---+----------------++----------++---+-----------+--+--------+--+--+-----------------------------+--------------+--+--------------+---+-+---+---+---------++++------------+-+--------------+---------++-------+---+---+-+--+-------+---+----------------+------+-+--------+----+---+-------+-+---+------+------+---+-+---+-----+--+-------++--+----++--------++--++-+-+--+--------+-----------+--+-------+--++-+---------------+-------+-------+--+----------+---+--+---+---++-------++-+-----+----------+-----++---+------+-----+-+-----+------+------++--+-+--+---------+---++-+-+--+-+-----+-++---+-+----+-+----+-------+---+-+-------------------------------+------+---+-----+-------+----+-----+--------------+------------------+-+----+-----------------+------+++-----+----+---+++--+----+-------++--++--++---+---------+----+--+--++----------+-----------+-+-++--++--+-++--------+---------------++-+--+-+-+-+---+-------+---+--------------------------+----------------+-----------+---+---------------------++-----+----------+-----------------------++--++-------+---++---------++---+----+---------++-----+-----+-------------------+---+++----------++---------+-------+--------------------+-----+--+-----+---+----+--+----+-+----+-----+-------+-+--+----+----+-+-+-----+--------------------+-+-------------------+-------+--++---+-----+-+-+---+-------------+-+--+--------++-----+------+-+----------------------+++---------------------+-----+----+------+-----+-++--------++---+--++---------------------------+--------+-------------+--+-+--+-----++++-+-----------------------------+-------+---------++----+----------+---------+-+--+-------+---------------------+----------+----+--+------+--------------------+-+-+------+---+-+----+--------------+-+--+---++----------------+---+-----+---------++++---+--+--------+------------+-------+-----+-----+--+-+-+-----+-+----++-------+------++-+------------------++-------------+---+--+-++----+-+---------+--------------+--++----+---+--+-+--------++---------------+-----------+-----+---+------+---------------+---+---------------------+----------+-------+------------++-------+---+----------------------+-----+-------------+------+---+--------+---+----------+-----+----+-------------------------+------++------+-----+----------+---------------------------------+---------+-------------++----+--------+--------++-+---++--------------+--+------------------------+---+----+----------+---+---+--------+--+----+--+----+-------+--------+-+--+------+---+-----+++-------+-+--+------+---+-+--+--------+-+----+----------+-+-+--+-+------------+------------+--+----+-----------++-+------+-+-------+-----+-+--+---+--+--+-----+-+---------------------------++++-------------------+------+------------+-++--++---------+-+------+-+--+-++---------+---+-----------++----++--------------+---------------------------+------+-----------+-+----+-------+-------++----------+-++-----------+-+----+--+------+-++-+----+-+----+-+---+--+-+--------+-----------+-+---++--+------+---+----++----+----+----+---------------------+--+-+-----+-+-+--------------+-------+---+-----+--+----++----+--+-------------------+--+------+------+----+----------+---------+-------+---+--+--------------+----+------+-----+--------+-------+-----+-----+-----+++-+-------------------+----+---+----++--+----+------+-----+++--++----+-------+-------------+-++----+----+------++-------+------------------+--+---------+---++---------------+--+-+------+------------+-------+-+++------+--+----++--+--------------++------+--+----+---+-+----+-------------------+--------------------------+--+--------++--++---+----+--+---------+------+---++-+----+--------+--+---++--------------------++-+------+--++-----------++--------+------+--------++---+-----+-+---+-------+----------------+-+------+-------+-------+--+------------+---+-----+---+------+--+--------+-------+-+---+------+----+-+------------+--------++------+---------------+-+--++-+-------+---++-------+-----------------------+--+---------++--+-+++--------------+--++------++-++-----+----+--------------------+-----++---------+---------+--------+-----------------------------------+--------++-----++----+--++-------------+--+-----+----+----------+------+------------+---------------+-----+-+-+----------------------+---+---------------+----+-------+------+---------------+---+------------------+--+-----------------+-------+--------------------+------++++--+---++-+-------------+---+--+-+--+-----------+---+------------+---------------+--+---------++----++---------------------------+-----+---+------+----+---+------+-----+---+-----------+----++++---+------------+----+---+-----+-+++--------+---+-----------+----+--------------+-+--+-+--+--+-+-----------++--+-+--------+-+---+---+----+-------------+-------------+--+---+-+-------------+++---++-+--------+-----------------+---+-------+-+----------++---+---+----++--+---+----+---+---++------+--+----------------------------++---+---++------+-++-------+---------+--+--+--+--+-+-----+--------+------+------+---------------+--------+--+--+-+-----------------------+------------+--------+-----++-+--++-+---+-----++----------+-----------+-----------++------+------+-----------------+---+--+--++-+-++----------+-----+----+-++--------------++---------------+------+-+-----+-----+----+--------------------+---------+------+-+-+-------+----+---+--++-------++------------------------+-------+------------+---+-----------------+-------------++-+-------+------+---+----+-+-++--+--++-------++-------+--+--+---------------------+--+--+-----+-----------+--+--------+----+---+----+---------------+---+-------+--+-++-----+---++---------------+---+--+--+----+-+---------------++-++-+-+------+---+--------------------+-----+----+---+-+----+-+------+---+-+-----+-++-+------------+------------+-----------------------++--+-----+---+--+-------+-------+++----+--+-+-----------------+-++---+------+---+--------------+------+-------------++-----------------+---+-------------+-------+--+-+--------------------------------------+----+-----+-----------------------+----+------+-------------++------++----+--+-------+-----------+---+------------+-+-------++-----+--------++-----------+--+-+--+--+------+--++------------+---+-----+---+-+---+------+-------+----+-+--+-+-+---------------+---+-++--+-+-+---+-------+--+-----++-++-+---+----++-------------------------------+-+-+-++-+-----------+------------------++-----++---+----------+---+------------------------------+------+---++-----------+----------+---+-++--------------------+---+---------+-----+-+-------+---+---------+---+-+--+----------+--------------+-----+-+-------------++---+--+----------+-----+--+------------------------+-++---------+----++------------------+----+-++--++------++------+--++----+-------+-----+-------+-+--+------------------+-----+---+---------------++--+---+++-----------+-+---+--+---+----+-------+-------------+--+-+----+-----++--+------+-----+--++-+---+--------+------+-------+-++-++--+-+----+---------------+------+----+---------------------------------+++----+---+----+---+---+----+--++---+----+-+-----------++--+-+--------+-----++-------------+-----+++-+---+---+----------+---+-+-++---------------+-++----+--+-++----+-------+-----------++-+-----------+---------------+-----++------+--++-----+-+---+---------------+--+----------------+-+----+-+----+------------+-----+---------------+---------+---------+----++---+-++----+-----+----+--------------------+--------+-+-------+--+-----------------------+----+-------+------+---+----------+--------+------------+------------------+-------------+--------+---+++-------------+-+-+---+----+----+-----+-------+-----+---------------------+---+------+---+----+---++----+---+--+----+--+-+-----------+-----+-------------+-----------+-----------------+--+-------------------------+--+------+-------+-+------+-+-+---+-----------+------+-------+-----------+----------------+-+----++-------------+--+----+--+-------------+-+-------------+----+------++-------------------+--+----+----+-+-+----------+++---------------------------------------------+++----+----+----+--+---+---+----------------+--+-------+--+----+-------------+---------+---+--+-----+++----+-+-----------+---+--+---++--------------+--+---+--+---+-+--------------++-+-----------------------+-+------+---+------------+-+--++-+----+------+----+-+------+--+-----------------------------++-------------++------+--+---+--+--+-+-+----+-+-----+-+-+--++--++-+-------------+-+--+--+--+------++-----+----+--+-+-----+-----------+--+-------+---+-------------------+----+-+----++-----+-------------------+--+--------+----+++----+--+--+-+-------+-----+--------+--------+---+----+-+-+---+-+---------++--------++-----+----+---+-----------+------------------+---------++----++----------++-+--+---+--+----------++-+---+------+--++----+-----+-----+--+-+-------------++--+-+---------+----+++-----------------------------------+-+--------------+--+-+-++-+------++--+-+-----+-----+--+----+---------+----+---------------------------+--------+-------+-------+--------+-+--++-----------+-+-------+----+--+----++------+----+--------+----+-------------+------------+-+--------------+-------------------++-+----------+-------+--+----------+---+-+-+--------+---+----++-----+---++---++-+--+-----+-------------+-------------+-------------+--+----+-----------------------------+--+-+-+----+-------------++----+-----+--+-++-----+---+----------++---+-------+--+-+---+--+++-------+--------+-----+--+---------+-----+--------+++-------++-----+-+---+---+---------+---------------+-----+-------------+--+----+--+-+-+--------+-------+----------+----------------------------------------------+---------------+----------------+--------------+-------------+----+----+---++-+-----+---------+--+--+----------+--+------+-----------------+--+--+-+-+---+-----------------+-------+--++--------+-+--+---++--+------+---------------------+-+-----+-++---+-+-----++-+--+------+-+-+----+-------+----------++-------------+---------+----+-----+-------------+----++------------------+-----+-----++---------+------+-++------+--+-+--+---+----+---+-------++---------++-+---+---+-------+----------+----------------+------+---++---------+---++----+----------------+-----------++-+-------+------------+--+-----+-+---+---------+-----+----------+-----+---+---------+---------+-------+----------+---------+--+++-----------++--++---+----------------+++------+-------+-+--++---+-+--------+----+---------+-----++--------------+------+---+-------------------------------+-----+------+----------------+--+-+----------++---+---------------------+-----+--+--------+-------+----------+--+--+-+-----------+-+---+--+---------------+---+---------------++-----------+-----+----+--------------+----------+++--+--++------------+-------+--------++---------------------------++--+-------+-++-+------+---------+-+----+---------------------------------+-+----++------+----+---+------------+-------------+---------+-----+-------+---------+--+-+-+-+-----------+--+++---+-------------+--------+--+-------++-+-------+-+------------------------+----------------+---------+----+--+---------++--------------+---+-----+----+------+-+-+-----------+-++-+--+----+------++---+----+-+-----+------+----+----+----------+----------+---------+------------+--------+-----+-----+---------+-+-+----+-+---+--------+-+---------------------+----+-----------+--------+--+----+-+--------+--+---++--+-------++------------+--++---------+----++----+-+-+-+-+---+-+---++------+----------------------------++---+-------------+---+----------------+++--+--------------+---+--++----+------+--+------+-----+------+--+---+----+----+-----+----+--+-++-----++----------------+-------------+-+-++----------++--------------++-+++-----------+----+--+----------+-------+---------------+-+-------------------+-+--+----------+-+-----+---+--++--------+----------+-----+--------++---+---------------+-+-++--+-+--------+----+---+-+---+-------+----+-+-++---+-+--+----+---+--+---------+----+--------------+-+-----------------+---------+--+-------------+----+-+----------+--++-----------+--+-------------+-----------+-----+-------+----------------+---------+-----+-+---+-----+----------++--+----------+-----------+---------------++-----+-------------------+-------+---------+-+---+-------++---+---+--+-------------+----------+-----------------------------+----------+--+-+----------+---+-+----+++-----------+----+--+--+--------------+------+---+-----+---------+-----+---+----------+----+-----------------------+---++----++-------+------------++-------+------+---------------++------+-----------+-------------------+-----------+--------+-------------+---+--+----------------+---++------------+-+--------------------+-----------------------+------+-----+----+----+---++--------+---------------+---++-+--+---------+--+-------------------+-------+---------++--------------------+--+++------------+------+-+---+--+-++----------+-------++-+--+------+-----+------+-+---+--------------+------------------+---------+--+--+----+-------------+----------------------+---+----+--+--+++--+----+----------+---+--------+---+-+---------------------------+---+-------+++----------++---+-+----+---------+----+---------+-------++-----------+---------+------+-------++-++-+--+--------+---------+--+--+-+----+-----+-------+------------------------------+--++--------+-+-+-+++----+---+--+--+------------+---+++---------+--------------------------+---------------++--+-+---------------+------+--+--+--+++---++-+---++---+----------+-+---+----------++++--------+-+---+--+--+---+-++------++----------+----------+----------------+-----+---+------+-+-+----+---+-++---+-----+---+--------+-+--+++-+--+-----+-----------------------------+---++--+---++---+-------++-----------++--------------------------+-----+-----+-------+----+---+----+--++--+-----+------------+-+++----+--+-+---+-+---+--+-----+-------------------------------------+--++---+-----+-+----------+--------+-++----+---+-------+----+---------+--+-+---+---+--+-+----+------+-------+---------+++-------+--------+-----------------+---+-+----+---+-+-----+---------+-------+-+------+------------+---------+----+----------+-----++----------------+--------+-+-----++---------+------+-----+++---------+-----+---------+-------+-------------++-+----++------------+-------+---++-+-----------+---------+--++-----------+---+----+------++-+-+-----+-+-----+---+-----------+-----+-------+--------+----------------------+----+-------+----+----------------+------+--------+-------+------+--++-+-+-+--++-+----------+++---+-----------+----+--------------------------+-------+-+--------------+----------------+-----------+---++---------------------+-+---++------+--+++----+-+------+-+-+----+--+--+------+----+---------+--+--------++--++------+-++-------+----------+-+-------+--------------++--------+-++--+--++---+---+-----+---+---++----------------+----------------+---+-----------+--+-++---+------++--+-------+-+-+----------+++---++-+---------+-----------------+--+------++---+----+-+------------+---------+----+------------------------+-------------------+-----------+---+--------------+--+---++--------+------+++----+----+--+---------+----+-----+--------++----------++-+---+---+-------++----+---+-----+--++--------+--+------+--+---+-++--------------------------------+-------------+++-----------+----+------+---+-----+-------------+-+-++-+---------------+--+-------------+----++---++--------++---+-----+++--------+-+------++--------+-----+--++----+--++++--+------------+------++---+--------+++--------+--------+-+---+---------------+-+-++-++--+----+----+------+--+-----------++--++----+---++-+-+-------+-+---+------------------------+----+----+-+------------+-+----------++------++--+---+-----------+----------+------+------+-+--+---+-----++-------+-----+-------++-----------------+-------+++---+-----+---------+----++------+----++-+--+---+--+----------+------+------+------------+-----+-------+----------+-+-----------+-------------------+-+---------+--------+-+--+--------+-----+-----+------------++------------------+-----++-----+-----+------------+-------+---+--------+------+-+---++-+---++-------+--++------+--------------+-+--+-+---------------+--+----------+-+-------+------+-++------------------+---+---------+---+-----------+--+-+----+----------------+--------+----+--+-+----+--+++----+-----+----------++---+----------------+---+----+-------+--+--++-----+---++-+----------++------+---------+++----+-+---+---+-+--+------+--+------+--------------+----+---+---+---+-+----------+-+--+----+-+--------+-------+---------+------+----++-+-----+--------------+------+-----+---+-+---+--------------------+-------+--------------+---+--------+-+----+----+---+---++-+--------+-+--+------+--+--------------+---+--+--+---------+-----+---++---+--++--+---------+------------+------++-+++-----++---+++-+----+-+------+-----++----+--+---------------------+------------------+------------------------+-------+----+---------+----+-+----------+-+-------+-+--+-+------+-+-----+--++-----+---+---+---+------------------+++-+------+---------+--+-+-----------------+-------+-------+---+---+-+++--+----------++----------------+----------------+---+-+--------+----+---++-----------------------+--------+------------++---+--------+----+--+----------++------+---+--+---------++----+-+----+------+-------+-----+----------+---+--+---------+-++------+-------+---+----------------------+----------++----+--++---+----+----------------------------+-----+----------+--+------+-----+----------+----+------------++-------+--------+--------+-+--+-----++--+-+--------+--++--+----+--------+-+-----++--------------++++-----+-+-------+---+----+------++-+----+--+-+--------------------+------------++-----------+-------------+-----------+---+-+----+--+-----+-------+-----------+-----------++-------------------------------+------+-+-+--+-+-----+--+---+-----------+-------++----------+---------------+---------+--+----+------+-+-------------+--++----+---+---------+-----+------------------------------++-------+----+-+----+-----+--+----------+----+++--+------++---+-+------------------+-----------------+----+-----+----+-----------+----------------+---+-+---+-+-----++-------++--------------+-----------+---+++-----+-+--------+--+-------+--+---------------+--+-------------+-----+-+++-------------+-------+-------+--------+-----+---+--+---------------------+---++--+------------+----------+--++--+-------+-+---+--+----++-+---+---+---+----+-+-+-------+-+------------+--+--+---+--+--+---------++-----------++-----------------+-++-----++-+----++---+-----+---+----------++----+-+-----+--------+----------------------+-------+----------++----+-+-------------+-------+-------+---------+----+-+------+----+---+-+----+--+-++-+++---------------+----+--------+---------+--+------+--+---------+--++------+++---+--------+---+--+-+-----+--+-+---+-----+--++--+--+--------+---+-+----+----------------+---+--+-++--+-------+-------+------+-------------+----++------+--------------+--+--+--+---+-+-+--++-----+---+-+--+-------+--------+---+-+--+---+-+--------------------------------------------+-----+-----+-+-+-------+----------------+----+---------------+---+-+-+------------------++--+--------+------------+-+-+----------+--+------+-+---+---++------------------+--+---------+---++-----------------+---+--+----+---+--+-----+--------+-+------+-+-----+-----+---+----+---+----------+---+---+------+-----+--------------+--++----------+----+--------------+-+----+-----+-----+---++--------------+-----------+---+-----+---------------------------+--+---------+---+----+-----------------+-+----------------++---------------+----+------+----+------+----------+-----------------+-----------------+-++---+----+--+---++-+---------+-+---+---------+------+-+-------------+-+--++-+-----+-+-+----------------------+-------------+---------+-+------------------+---------------+----+---+-+-+-+--------+-+-------+---+--+----------------------------------------++---+--------+----+----+-+------------------+-----------------+---+------+-+-+--+-----------------------------+----+----+++-+----------+---------+------+--------++---+-----+----+----+---+---------------------+-+---+--+--------------------+---+--+-------+-----------------+-----+---------+--+----+---+---+----------+-+-+--+-----+----+-+---+-------------------------+----------+-+-----+------+----+------+++-+----------+------+---+-------+----+----+------------+--+--+-----+-------+----+---------+-+--------------+---+-------+--------+----+--+---+-----------+--+---------------------------+--+---+++---+-+----------+---+-+--------+-------+-+---+-----------------+------++-------------++-+-+---------+---++---++---+-----+----------+-------+--+++-+-----------+-----+---+---+--+--+-+-------+-+--+----+--++-----++-+----+---------+--++----+--------------+--------++-----------++-------+---+--+--+-------+-+--++--------+-------+++----+---------+--------+--------++------+-----+++---+---------+---+-++---++--+------------------------------------+-----------+-+--------+--+-------------+--+-----------++-------------------+----------+-------+---+------+----------+-+-+--+-+-+-----+---+---------------+------+----++----+----+++------------------+---+-+---+-------+--+---+--+-+-------------------+------------+--------+-----------------+----+--+-----------------+------+---+-----+-++-------------------+--+------+--+--+-----+------+-+--+-+-------+---+--+---+-+---++--+-------+-----+--+-----++--++-----++-----+-++---+--++-++-----------+----------------------------+---+-------+---++-----++--+--+---------+------------+--------+++----+-+------+-------+-----------------------++------------+-+-+----+---+--+---------+---------------------+-------+-+----+---++---++------------------+-------------------------+-------+--+------+---------+----+---------+----------+---------+----+--+---+------+--+------++-----+---------------+------+--+--------+--+---+--------+-+------+--------++--------------------+----------+----+-------+--+++-+-+-----+-++--+-++-------+--+---+-+---+--+-----+---------+-------+----+-----+------++--------+--+-+--------------------+++-----------------+----+-------+----------------+---+------+--+------------++--+--------++----+---+---++--+----+-------------------++---+--------++-----+++----+----------------+------------------+----------+-+--------+----+----++----+----------+----------+-+----+-------+--+-+-----+---+----+--+-++-+--+---++---+-----------------+---------+-++------+---+--+------------+-++------+---+-+-------+--+----+------------------------++---++----+--------+--------------+-++---------++--------+-----------+------------------------+------------+---+--------+--+-----------+----+----+---------+----+------+-------+------------------------++-------------++---+--+-----------------------------------------+---+-------++---------------+------+----------++-+-------------------+---+--------+--+---------++----------+-+---+-+---------------------+-----------+-+-+------+--++-------+-------------++--++--+-+-++--+-------------------------------+-+-----+--------------------++-----+--------+--------++--------+------------+---+++-+---+-----+------+--------------------------------+--------+---------------+-----------+-+-----+-----++------+----+-+-+-----+-----------+--+++-------------------------+-+--------+----------+--------++----+------------+--+--+---+--------+-+-----++--+-------+-----++--+-++---------------+--+------------+-----------+---+----+---+------+-+---------------+------------------+-+-------++----+-+-+---++-----------+----------------------+--+----+---++-----------+-----+---+-+-----+----------------+---+----------+----+------++-----+--------------+--++--------+---------+-++----+--+-----++-------+-----+---------------------+--+---+----+-----------------------+--+-+----+------+--+++-----+---------+------+---+---+-+----+---+-------++---+---++-+----+-+-----+----+-----------------------+-----------------------+----++---------+--+-------------+--+--+-----+-------------+++-+------------+---------------------+---++-------+------------------------+---------++-++-----+-++------+---------+---------++-----------+--+-+--+---+-+-----------------++--+--------------+--+--+-------+------------------------+---------+---------------------------+------+-+-+----+----+-----+----+-+---------------+----+-------+---+-+--+-+------------+---------------+-----+-------+----+----+---+--++-----+---+--+-------+---+-----------------++-----+-----------+-------------+----------------+-+---+---+----+--+----+----+--++-+--+-+--+-----------+-+----------------------+--++-+---+-+-------------+--------++----++--+---------+------+----+-+-+--+------------+------+-+--+---+---+-+-+---------+-------+--+----------+---+---+--------------------+-+++-------------+------------+--+--------------------++--++-+------------+++----+-----+---------+----------+------+----------+----+---+-+---+-----+-------------+------------------+-+----+------+--+-----------+------------+------+----+--------------------+----+--------+----++------+------+------++----+-+--------+-------++-------+-++------+-------------+---------+---------+-+----+-+-------+--+--+----------++-----+--------+-----+----+------+-----+---++--+--+-+-+--+----+----+----+-+----+---------------------+-------+----+----+-----+---+---------++------++-++---------+----+--+------+--------+------------+---+-----+------------------+-------++-----++-----+-----------+------+---------++-----+----+------------------------++--+-------++----+++---+-+--++-+--+------+-+-+--+---------+------+------+----+--------+----+-------------++----+---+---------++---+----+----+-----++-------+-------------+----++----+----+-++---+---+--------+-+-+--+---+--++---+-----------+--------+--+--+----+---+----------++-+-------++------------+----------+--+----+-------+----++-+-----+--+---------+--+------------+-+------+---------+-------+-+------+-+---------------+----+--+---+---++------+-----------------------+---+-++-------+-++---------+--++--+--++-----++---+++---+----------+----------+-+-------+--------------+--+-----+-----------------+--------++--------+-----------------------+-+---------+-------+-------++-+-+-+----++-++-----+-+-+------+-----++----+----------+------+---+------+-+--------------+-+---------+---------------+-----+---------------+-+-----------+---+--------+--------++--+-----++-++---+--+------+--++--+---+-------+----------+-+--+----+--------+--+--+--+-++-----+-----+---------+--------++---+---+-----------+---+-----+---------+------+-+-----------------+--+----+----------+---+--+----------+------+----++-------------+---+------------------------+--+--+--------+-----++----------+-+------------+---------+-+-----+----------------++-----------+---------------+--+----+---+--+----------------+----+-+-++-+-------------+------------+-------------+-+-----+------+-------------++---+-++-+----+----+--------+----+-++-+----------+--++------------------+------------+--+------------------------+---+------++--+-----------+-+---+---+---+------------+-+------+--+----+-+--------+---+-------------++--+-+------------+---+-+-+-----+--------+---+------------+---------+-+--+---------+-+----------++-++------+--++----+-----+-------------------------------++---+-------------+----------+------+----------+----+----+---+--------+---------+------++++---------+-----------------------------+----------+-----+-------+----++-----++-+-+-----+----++----+--+-----------+---------+-----------+-+------++---+---+--++-------+------+++++---++++---------+-----+-----------------------------------+----------+-------+++----------------++--+-+-------------+---------+---------+-+---+-+------------+--------+-------------++---------+---+-------------------+--------------+--+-------------+------------------+--+-+-------+---+--------+-+--------++-----+-+---+--------+---+--+-----+---------+------------------------------+-++-+-+-------+---------+--+----+----+--+-----+--+--------+-----+------+-------+-----------+----------------+--+------+-+-------+--+---+--------+-+++---++----+-+------------------------+----------------+--+--+------------+--------+----+-----+--------+--------+-+---------++------+----+----++-+---+---+-+-----------+--------+-----------++---------+----------+---+------+--++---+-------------+--------+-++------+--------+++---------+----+--++---++------+------------+-------------+-------+----+-------+-+----+--+--++--+---+--+-----------+-+-+----++-+-----+--+-+------------+-+-+----------+-----+---+-----+--+----------------------+---+-+-+----++-+-+---++-+--------+-+--+-----+--+----++-------+---------------+--------+----------++-----+------+-----+----+---------+-+-+--++-+-++--+-+-+---------++-----+-------+---------+---------+---------------------------------+----+---++-+--------++----+----------++-+--++----++---+-+------+---+---------+--++---------+--+-------------+-+----------+----+----+---+---------++-------+--+-------------+--+--++-------------+---+---------------+------------------------+---------++-------+--------------+------+--+++---------+-+------+--+----+--+-+-------+-+-+++-------+-+-------------+--++--+------------++--++----+------------------+----+-------+--+---++----------+------+-----+---+--+-+--+------+---+++----------------+---++---+-----+---++---------------+---+--------------+----------------+----+++-+-------+-+----+------+-+-+-++-+++---------+--++------+---+------+------+---+--------+-----++---------------+-----+------+-------------------------+-----+--------+-+----+-+---------+---+--+----++-+--------------+----++-+-+-------+----+------+--------+-+---------+-+--------+-----+-----+-+---+---+----+---------+------+-----+--++--------------+-+----+---------+------+--------++------+----+-----+-++--+--+------+------+--+-+--+-+-----------------------------------+------------------------------+------------------+--++----+--+-----+--+----------------------------+--+-----+--+-----+---+--++-----+---+-------------++-------+-+------+------------------+----------+-+-+-----+-------+-----+-------+--+--------+-+----+---------+------+---+--++---+------+-+-++---------------++-+---+--+--+---------------+----------+-----+-+-----+-----+------------+--------------+-----------+-+------+-------+-++-------+----++-+----+-----------------++--+-------++----+----------+-----------+---------+--+--------------+--+---++--+--+-----------+-----+---++--+--------------+--+-----------+------------+--++-+------++---+---------------++-+--------------------++++---------+----++++------+---------------+--+--+--+-------+--------+----------------------------+-+-----------+--+----------+--------+-+------+--+-------+-++------------++----+-++------------+-----------+-----------+---------+-----+--+---------+----------------------+--+------------------+----------------+------+-+-----------+----------+-+--------------+-++--------+---+-------+-+---+--+--------------------+--+----+--+---+---+-+-------++--+---------+-------++-----+---------+-----------+--++-----+-+--------++--+-------++---+------------+------+--------------------+--+-------+------+-+-----+---+---+-++----------+-------------------++-+--------+--------+-----------+---+----+----------+------+----+-----------+++---+-+-+-------++----------+-----+---+------------++-+-----+-----++----+----------++----+--++-+--++-+---+-+---------+------+---+----+-----------+-------------------+++--+-----------+-------------------+------+------+----+-----+-----------+-+-+-----+----++----------+--------+-------------------------+-+----++-+---+-------------+--+---+--+-++-+---------+-+----+---+-------+---------+---+---+--++--------+--++-----------+--------+--+--------------+------------------+---+-+---------++------+-+-----+--+-------++--+-------+----++-+++-+---++--+---+--+-----------------+-------++--+-------+++-+-----++---+---+--+------------------------------+-----------------+-+---+-+------+-----+----+--------------+-+----------------+---+----+-+++----------+----------+---------+---+--+--------+--+------------+--------------+--+-------------+---------------------+++-------+---+-----------------+----+--+-+-+---+--------+----------------------------+---++--+-+-------+-----------------+---+----+-------------+-+--+------+------------+---++--++--------+-+------------+---+-------------------+---+--------+++------+------+--------++--+--+------+-+------+-------------+----++-+----+-----++----------+------+---------++-----++-+-----+---+--------++-+-------++------++-----++----------++-+--+--+--++------------------+++--+--+----+----------+---++-+----+----+---+-+-++-+-----------------+---++--------+--+--+----+--+------+--+--------+--++-------------+------------+-+++--+------------+-+---+-----------+-----------+--+------------------------+--+-+-----------------+--------+++--------+++------------------------+---------+------------+---+----+---+---------------+------+-----------+-+--+-------+--------+--+----++-----++---+----------+--------------+---+---------+----+------+------+------+-------+-------+---+---------------------+-+-------------+--------+-----++---+-----+---+----------+----+---+-+---+-----++----------+------+-+--------------+++--+--------+--+------+---+-+--------++-----++--------------+----+--+---+--+----------------+-----+---+----++--+-------+-+------------+------+--++------+-------++-----++-----+---------+-+-+--------+----+--+---------+-------++-----++--------++-----++-----+-+------------+++-----+-----------------+----+-+-----+---------+--------++--+-----++----+-----------------------+----+-+-+-----------------++----++-+---------+------+-----------+-+-------------------++--------+-----------+--------+-----------+---+--------+-----++-------------+-----------+--+--++--+---------+-----+---+----+----+-+-+-----+-------+--+--+----------+-----+----+------------++--------------------+-------------+-----------------++-------------------+---+-+------+------+-----+---+--+----------------------------+----++-+----------+---+++----+-+----+-------+--+-----------+--+-------+-+---++-++-----+--------+--+-------+-----+--++---+---------+---------+--+++-+------+--+-++----------+-+--+-------------+--+------------+------------------+----+---+--++-----+------+--------++-------+---+-------+----+--++--------+-------------++---+-----------------+--------+-+----+---++---------------------+-+-------------+-------------------------------+-+---------+-------------------------------------------+---+-+---+--+-----+-----------------+++----------+------+---------+--+---+++------+-----------+++-----------+---------+------+------------------+---+----+--+------+------------------------+-----------------+-----+---------+------+----++---------++----+---------+------+---++-------++------------------+--+-------------+--+-----+----------+-----------------+-------+---+---+-+-------+--+--+++--+----+---------------------+-+--+--------+--------+-+------+------+---++---------+-+-----+-+----------+-----------------------------------+-------+-------------+-+----++-----+-----------------+---+---+------------------+----+-----+-------+++------+------+-----++--------+---------+-------------------++-----+----+-+--+-------+-------------+----------+------------+-------+----------+-------+-------+-+--+--+------------------+-------++----------------+---+---------+---+----------+---+-------------+-+--------------------------------------+----------------+--+-----------+-+--------------------+-----+---------+-------------------+-----+---+------+++-----+-+---+----------+-----------+-------------+------+---+-------+-+-------+------+-------+------+--+++-------------+--+---+-++-------------+----++---++++----++-+---+--------+-------------------+-+-+-------------++-------+-+++-+-------++--------+++---+--+------+-+-----+---++-+---+------+-----------+++----+-------++------+-------+--------------------+---------------+--+-----+-+-----------+--------------------+---+--------+++----+-+++-----+-+-+-----+--+--------+--+-+-----+----------------------+------+----------+-++------+-------+----------------+-+-+---+--+-----+---+---+-----+++---++--------------------++---------+--------+------+------+------+-------+-------------+-----+----++----------+--------+++--+-------+------+------+-+-----+------------+--+----------++-----+-----+-----+---+-----++-----+--------+--+--------+-++------------++--++------++-+---+--+--+------++-++-+---+-----+-++-----+--+--+--+-+----------------+--++-+--++--+-------------+--------+---+--------+----+---------+++-+--+--------+-----+-+++-+----------+----++-+--++-------++---+-------------------+-------+----++----------+---+---++-----------+-+---++----+-+-----------+---+----+--+-----------+---------+--------+----------+--------+-----+----+--------------+----+-------+--+-+--+--+----------------+--+------+---+-------+-++------+-------------------+-+--+--------------++----------------+-++------+-----+---+-----++----------------+--+----++--+---+---+--+----+----------++-----+-+-------+-------------+--+-+-----+---+-------------------------------------+-+----+--------+------+-++----------------------+---------+---------+---++--------------+------+--+-+--------++--+-+---+----+---+------------+-++-+---------+++------+-----+--+-----+----+++----+-------+--+-+-+-----------------++--------++---+-+---------------+---------+-----+-+----+++---------------------------+--++--------+-----------+--+--++--+----++--+--+---+-------------+-----------+---------+------------+-----+++--+---+----+-+----------+------+-----+------+---------+-+------+------------+-----+-----------+---------------+----+-----------+--------------+--+------------------+----+-+--------------------------------+------------------------------------++----------+---++---++--+---------++-----+---------+------------+-----+----+--+-+----------++--+---+----+---+---+------++------+-------+-------------+--------------++++----+-+-+-+------+------+--+---+--------------+----------+---+-----------++-----+------+------------+-----------------------+-------+----+----+---+-+----------+--------+---+--+-----------------------+-+--+-------+---+----------+--++------+-----+--------+--+----+--------+-------+-----------+--------------+--+---------+------+-------+---+----+--------------------+-+--+------------+---------+------+-----------+------------+----------++-+----+------+----+--+------+-------+-+--------+----------------+++-----+--+---------+--+--++--+-----+--------++-++-----------+---++-----------------+-------------+--------------+---+------+++--+-------++-+---+-+-------------------+--+---++--------+----+------------+--++------------++---+-------+--------------+-----+----------+-------------+-----+-+--------++--+--------------------+--+--++-++----+-+---+--+-----+-----+-----------+-+---+-+-+--------+------+---------------+-----+-+-------+-----+----++-----------------+-----+-+++-+--+--+----+---------------------------+------+----+-+---+--------------+-++---+-------+------+-+------+------------+-----------+--+----+----------+----+--------+--------+---------++-----+------------------+---++----------------------+--+-------++----+-++-----------+-+------------+--++---+---++--------------------+-------+-------+----------+--+--+----+---+----+++----+---------------------------+--+-----------------+-+------+--------+-----+-+---------+--------+-----------------++--+---------+--+---------+-------------+-----+-+---++-----+--+--------------------------+----+---------+-----+-+-----------+------++-------+-+--------------++-------------+-------+------+------+-+------++---+-+--+------------+-----------+------+----------+---+-+-------------------------------++-++------------+----+----++----+------------+-----+--+------+---++------+-+---+-+-----+-------------+-+--+--+-------+-+++----+----+------+--------+--+-------++--+---------------++------+--------+---+++---------+--++-+------+------+---------++--------+-----------+-----------------------------+-+------++-+----++----+-----+-----------+---------+---+-+--+-+--------+-------+----+-----+------------+-+------+--------+-----+--+----------++---------------------------+-+-----++--------++--------+---------+-----------+----------------+---+-+---------+---------+-----------++-----+-+------+-+---------++-+----+----+----+---+-+-+------+----+---+----++------++------+-----++----+--+--++----+-+-------------+---+--------------+---++--+---+-------+--------+-------+-++-------+----+--------+-----+--+---+--++-----+-------+----+-+-+-------+----------------+----+-++--++-+++------+-------+-+------++-+--+------+----+-------+--------+-+--+--+---++----------+--+-----+-+-+-----+-------+-----+----+-----+---+--+--------+-----+++++++++++++++++-++++++++-++++-++++-+++--++--++-++++++++++++++++++++-+++-++-+++-+-+-++++++++-++++++++++-+--+++++++++-+-++++++-++++++++++++++--++++++-+++--++++++++-+-+++-++++-+++-++++++++++++--++-++++-++++++-+++++-----+++++++++++-++++-++++++++++-++++++--++++++++--+-++++++++-+++++++++++++++-++-++++--++++-+++++--+++-+++-++++++-++--+++++++---++++-++++++-+++-+-+++++-++++++++-++-+++-++++++++++++++++++++++-++-++-+++++-+-+-+-++++++-++++-+++++-+++-+--++++--+-+-+++++++++++++-+++++++++-+--+--++++++++--+++-+++++++++++-+++-+++++-+-+++++-+++++-+++---+-++-++++-+++++++-+++-+++-++++-++++-+-++++-+-+-++++++++++++-++++++++-++++-+++-++-++++++--++++++++++++++++++++++++++++++--+-++++-++++++++++-+++++++++++++++++--+++-+++++++++++++-+++-+++++---++-++++++++++++-++++-+++++++++++++++++--++++-++++-+++++++++-+++--+++++++++++++++++++-+++++++-+--+++-+++++++++++-++++++++-+---++++--+++++++++++++-++++-++++-+-+++++++++-+--++++++++++++++++++-+++-++++++++++++++++++++++++++++++++++++-+++++-+++++++++-+-++---+++-+++++-+--+++++-++++++++++-+-++-+++++--+++++-++++-+++++++++++-++++++++++++-+++++++-++++++-++-++++-+++++++--+++-+++++++-+++++++++++++++-++++++++++++++++++-++++--+++++++-++++++++++++-++++-++-++-+++-++-+-++++++++++++++++++++++++++---++++++++++++++++++++++-+++++++++++++++++-+++-+-++++--++-++++-+++-+++++++++++++++++++++-+++++++--+++++-+++++++++-+-+++++-+++++++++--+-++++++++++++++++++++++++++++-+-++++++++++++-++++++--+-+++++-++++++++-++-++-++++++++++++++++--+++-+++++++-++-++++-++++++++++-++++++++++++-++-+-+--++++++++-+-++++++++++++++++++++++++-+++++++++++--+++++++-+++++-++++++-+++++++++++--++-+-+++++++-++-+++++++++-+++++++++-+++++--++++++++-+++++++++-++++++--++-+-+-+++++++-++++--+++++--++++++++++++++-++-+++++++--++++++-++++++++++++++++++++++++-++++++++++++++++++-++++-+++--+++++-++-++++++-+-+++-+++++++++++++-+++++++++++-++--+++++++++++++++++++++++++++++++--+++-++++++++++++-++++++++++++-++++++-+-+++--+++++++++++-+++-++++++++++++++-++++-+++--++++-+++++++-++++-++-+++++--+++++-+++---+++++++++-++++-++++++++++++-+++++-+++--+++++++-++++++++++++++-+-++++++++++++++---+++++++-+++++++++-++++-+-++-+-+--++++++++++--++++++++-+++-++++++++++++++++++++----+++++++-++++++++++++++-+++++-++++++++-++++++-++++++-+++++++--+++++++++-+-+--+++-++++++++-++++++++++-+-+++++++-++-+++++++-+++-++++++++++++-+++++++++-++++++++++++++++++++-+++-+-++++-++++++++-+-++++-+++-+++++++-++-+++++++-++++-+++++-++++++++++--+-+-+++++++++++++++-+++++++--++++++++-++++++++++++++++++++-+++++-++-++++++-+-++++-+-+++-+-++++++-+++++-+++++++++++++++++++--+-++++-++-+++++++-++++++++++++++-++++++++++++-++--+++++-+++++-+++++++++++-+-+++++++--+-+++++++++++++++--++--+++++-+++-++++-+-+----+-+++++++--+++++++++-++++++-+--+++-+++++++--+++++-+++++++++++++++++++++-++--++++++++++-++++++-+++++++-+-++--+++++++--++++-++-+-++++-++-++++++++-++---++++++++++++++++++++++-++-++-+++++-+-+++-++++++++++-+--+++++++++++++++-+++-++++++++-++--+++++-++-++++++++++-++++++++-+++++++++++-+++++-++++-++++-++++++++-+++++++++-++++++++--++-++++++++-++++-++++++-++-+-+++++++++++++++-++-++++++++-+++-++++---+++-+++++++-+++++++++++--+++++++--++++++++-+++++-+++++++++++++++++++++-+-++++++++++++-+-+++++++-++++++++++++-++++++++++++--++++++-+++-+---+-++++-+++--++++-+++-+++-+++++++++++++-+++-++++---+++++++++++++++++-++++++++-++++++---++++-+++++++++-++++++++-+++-++-+++-+++-+-++++++-++++++-++++++++++-++++-++++++++-+++-+++--+++++++++--+-+---+-++-+++++++++++-++++-+++++++++++++++++-+-+++++++++++++++++++-++++++++++++++++-++-+-++-+-++++-+++++++++++++++++++++-+++++++++-+++++-++++++++++++-+++++-+++++-++++++-+++++-++++++++++-++++++++++++++-++++-+-++++---++++++++-+--++++----+-++++++-+++++-+++-+++++++-++-++++++++++++++++++++++-+-++-+++++++++-+-++++++++++++++++-+++++-++++++++-++++++++--++++-+-++++---++++++--+++++++-++++++-++++++++++-++++++-+++-+++-++++-++-+++++++++++++++++++++++-+++--++++++--++-++--++++++-+++++++++++++++++++--+-++-++++++++-+-+++++++++++++++-++-++++++++++++++++-+++++---++++-++++++++++-++-++++-+++++-+++-+++++++++++++-+++-++++++++++-+++-++++++++-+-++-++++++-+++++-++++-+-+++-++++--+++++-++++++++++-++++++++++++++-+++++-+++-+++-+++++++++-++++++++++++++++++-++++++++++++-++++-+++++-+++++++++++++++-++++++++++++++-++++-+++++++-++-+-+++++-++++++++++++++-+-+---+++++++++--+++++-+-+++++++++++++++++++-+++++++--+++++-++--+-++++++++++++-+++++++++++-+-++++++++++++-++++++-+++-+++++-++++++-+---+--+++++-++++++---++++-+++++-++-+-+++++++++++-++-+++--+--++++++++++++++++-+-++++++++++++++++-+-+++++-+-+++++++++++++++++++++-+++++++++++++-+++++-++++++++--+++++++-+-+++++++--++++-+++-++++-+-++++++++++-+++++++----+++++++++-++-+++-+++++++-++--+--++++++++-+-+-++++++++-++--+++++++++++++++++++-++++++++++++++-+++++-++--++++-+++++-++++++++--++++++-++-+++++++-++-+++++-+++++++++++++++++-++++-+++++++--+++-+++-+++--+++++++++++-+-+--+++++-++-+++++++++++-+-+++-+--+++++++++-+--+++-+++++-+++++-++++-+++++++++++--++++++++++++++++++++++--++++-+++-++-+++++-+-++++++-++-+++-+++++++++-++++++++++-++-+++++++-++++++-+++++---+++++++++++++++++++++-++++++++++--++++++++++++-++++-+++++-+++--+-++--+++++++++-++-+++++++--++++++-+++++-++++++++++++++++++-++++++-++-++++++++++++++-++++++++++++-++-++-+++++++++-+++-+++-++++-+-+-+--+++++-+-++++++++-++-+-++-+--+-+++++-++++++--+++++++-++++++++-+++-+++-+++-++++++-++++-+-+++-+++++++++-++++++++++++--++-++-+++++++++++-+++-++-++++++++++-+++++++++++-++++++++++++++-+++++++++++-++++++++++++-+++++++++++++-++++++++++++++-+-+++++++++--++++++++++++++++++++-++++++--++++-++++++++-++++++++++-+++++++++++++-+-++-+++++++++-++++++-++++-+++++++---++++++++++++++++-++++++-+-++-++++-++++++++-++++++-+-+-+++++++++++-++-++++++++++++++++-+++-++--++-+++++++++-+++++-+++++++++++++++++++++-+++-+-+++++---+++++++-+-++--+++++++++-++--++++--+-++-+++--++--+++-++++++++++++-++++-+++++++++-+++++++-+++++++-++++++++--+-++++++++-+++++++++++++-+++++++++-++-+-+++-++-+++-+++++++++++++++++++++-++++++++++-++++-++++++-+-+++++++-+++++++-+++-+++++++++-+++++-+-++++++++++++++++++++++-+++++--+++-++++++-++++++--+-+++++--+-+++++-+++++-+++-++-+--+-+++++-+++-+++-++++-+-+++++++++++++-++++-+++-++-++-++-++++-++-+++++-+++-++++++++++-++++++-+--+++-++++++++-++++++--++-+++++++++-+-+-++++-++-+++++++++++++-+++++++-+-+++-+--++++++++++-+-+++++++++++++-+++++++++++--+++++-++++++++-+-++++++++--++++++-++-++++++++++++-++++++++++-+-+++++++++++-++++++++++--++-++++++++-++++++++++++-+++++++++++-++++-++++++-++++++-+++--+++++-+++-++++++++-+++++++++++-+++-+-++++-+++++-+++-+-+++++++++-+++++++-+++++-+++++++++++++++++++++++-+-++++++-++++++-++++++++++++-+++++++-+++--++++-+++++++++++++-++++--++++++-++++++-++-++++++++++++++++++--++-++--++-+-++-++-++++++++++++++++++++-++++++++-+++++++-+++-+++++++-++++-+++-+-+++-+++++++++++-+++++++-+++-+++++++++++-++-+-++++++++-+++++-++-+-+++-+-++++-+++++++++-++++++++-++-+++-++++-+++--++++++++++-++-+++++++++--++++++--++++-++++--++-+++-+++++++++--++++-+-++++-+++++++++++++-+++++-++-++-++++++++-++++++-+++++++++--+-+++++++++-+++++++++++++++-+++++++-+-++-+++++++++-+++-++--++++++++-++-++++-++--++-++++++++++-++++++++++-+++-+-+++-++++-+++++++-++++++-+--+++++++++++-+++++++++--++++-+-+-++++++--++++++-++--+---++-++--++++++-+++++-++-++++++-+++++-++++++++++++--++++++++++++++--+-++++++++++++++-+-++-++-+++++++++-+++++++-+++++++++++++++++-+++++++++++++++-+++-++++--++++++++--++-++++-+---+++++++++-++++-+-+++++++++++++++-++++++++++++-++++++++++++-++-++++++++++++-+-+++++++--++++++++++-+++-++++++++++++-++--++++-+++++-++-++++++++-++++++-+-++++++++++-++++++++-++--++++-+++++-+++++++++++-+-++++++++++--++-+++-+++++-++++++++++++++++-++++++++++++++-+++-+++-++++++++++-+-++-+++++++--+++++-+++++++-++-+++++++++++++++++++++++++++-++++++-+++++++++++++++++++++-++++-+++++++--++++-++++++++++++-++++++++++++++++-+++++++++++++++-+-+++-+++-+++++-++++++++++++++++++++++-++++++++++-+++++++++-++++++++-+++--+++++++++++-+-++--+++++++++++++-+++++--++++-++++++++++++++++++++++-+++++++++++++++++++-++++-++++++++-+++++++-++-++++-+++++++++++-++++-+++++++++-+++++++++-++++++++++++++++++++++++++++++++-+++++-++--++++++++++++++++-++++++-++++++-++++++--++++++++++++++-+++++++++--++-++++++++-+-++++++++-+-+-+++++++++++++++++++++++-+--++++++++-+++++-++++++-++++-+++++++++++--++++-+++++-++++-+++++++-+-+-++++++++-+++++++--++-+++--++-++++-++-++-++-++++++++--++-+++++-++-++-++++++++-++-+++++++++++--++++++++++++++---++++++++-++++++++++++++++++++++++++++++++--++-++++-++-+++-++++++++++++++++++++-++-+++++++++++++++++--++++-+--+++++++++++-++++++++++++++++++++++-++++++++-++-++++++++++++++++++++++++++++++++++++++-++-+++++++++++++---++-+++-+++++++++++-+-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+-++-++++++++++-+-+-++++++--++++++++-++++++-++++++++++-++-+++++++++++++++++-+-++-+-+++--+++--++++++++++++-+++-+++++++++-+++++++++++++-++-+++-+++++++--+++++++++++++++---+++-+++--+++++++++++++++++-+++++++++++++-++++-+++-+++-+++++++--+++-++-++++-++++++++++++++++-++--++-++--++-+-+-++++++++-+++++++++++++-+-++++++-++++-+++-+++-+++++++++++++++++++-++++-+++-++++-++++++++++--+++++++++++++++++++++-++-++++++-+-++++-+-++-++++++++++++-+++++-+++-++++++++++++++++++++++++-++++++++++--+++++---+++++-+++++-+++++++++++++--++++++++++++++++++++-+++++-++++++++++-++++++-+++-+++++-++-++++++++-++++++++-++++++-++-+-++++--+++++++-+++-+++++++++++++++++++++--++++++++++++++++---+++-++-++++-++++++++-+-++-++-+-+++-+++++++++-+++--++++++-++-+++-++++-+++++++++++++++-++-+++++-+++++++-+++-++++++---++++++---++++++-++-++-++-+++--++++++++++++-+-++++-+--+--+-++--++++++++++---++-+++++++++++++++++++++++++++-++-++++++-+-++++++-+++++++-++-+-++++-++++++++++++++-+++++++++++---+++++++++++++++-+-++++++++++++++++++++++++++-++++++++-++++++++++-+--++++++++-+++-+++++++++++-+--++++-++++-++++-+-+-+++++++-+++++++++++-++++-++++++++-++-++++++--+-+++++++-++++++-+-+++++-++++++-++++-++++--+++++++--+++++--++-+++++++++++++++++++++++--+++-+++++++-+-+++--++++++++++++++-+-+++++++-++-++---++-+++++++-+-++++-++++++++-+-++++++++--++++++++++-+--++-+++++++-+++++++--+-+++++++++++++-++++++++-+++++++++-+++++++++++++++-++++++++++++++++++++++--++++----+-+++++++++-+--+++++++++++-++-++-+++++-+++++++-+++++++++-+++++++++++-+++++-++++--+++-++++++++++++-++++++++++++-+-++-+-+++-+-+++++++++-++++++-++-+++++++-++-++++++++-+++++++++++++--+++++++++++++++-+++-+++++-++-+++-++++++++++++-+++++++++++++++++++++++++++++++++++--+++++-++-+++++++++++++++-+++++++++++++++-++++--++++++++-+++--+-+++--+++-++++++++++++++++-++++++-+-+++-+++----+++++--+++++-+--+++++++++++-+++-+-+-+++++++++++++++++--++++-++-++++++-+++++++-+++++++-+++++++++++-++-++++++++--+++++++-+++++-++++++-++-+-+-+++++++++++++-+-+-++-++++++++++++++-++++++++++++++++++-+++++++++-+-+++++-+++-++-+-+++-+++++++++++++++++-+-+++-++++++++++++++-+++---++++--++++-++-+++++++++++++--+----++-+++-+++++++-+-+-++++++++-+++++++++++---+++++++++++++++++++++-+-+++++++++++-+++-++++++++-++++++++++++++-++--+-+-+++++-+-++++++-+++-++++++++++-+++++++++++++++-++++++++++++-++-+-+++++-+++-++++-++++-+++--+++++++++++-+++-+++++++++-+++++++++-+-+++++++++-++++++-++++++++-+-+++++++--++++--+++++++++++++++++-++++++++-++-++-+++++-++++++-+++-++++++++++-++-+-+++++++++++++++++++++++++++--++++++-+++++++-+++-+++-+++-++++++-+-++++--++++++-++++++++++-++++++-++++++++-+++++-+-++++++++++++-+++-+-++++-++-+++++-+-++++-+--++++++++++++++++++++++-++++-++-++++--++++++++-+-++++-+++++++++++++-++-+++-+-+--+++++++-++++++++-++++-++++++---+++++++++++-++++++++++++++++-++++++++++-++++++--+++++++++--+++++++++++++-++++++-++++++++++--+++++++++++-+++-+--+++++++++++++++++++-+--+++++++++++++++++--+++++++++++++++-+-+-+++-++++++++++++++++++++++++++-+++++-+++-++++++++++++-+-+-+-++++--++++++++--+++-+++++-+++++-+++-+-++-+-+-+++++--+++++++++++++-++++++-+++++++-+-+-++-+-+-+++++-+-+-+++++++++++++++++-++-+-++++-++++++++++++++++++-++++++--+++++++++++++-+--+++--+++++++++++++++++++++++++++++++-+++-++++-++++++-+++++++++-++-+++--++++++++-++++++++++++++++++--+-++++++-++++++++-++++++++++-++++++-++++++-+++-+++++++-+++-+-++-+++++++++---++---++--+++++++++++++++++++-++++++-+-+++++++-++++++-++++++++-++++++++++++++++--++++++++++++-++-+---++++-++++++++---+++++++-+++++++++++++--+++--++++-++--++++-++++++++++++-+++---+-++++-++++++++++++++++++++++++++-+++++++--++-+-++++++-+++++++++++++-+++++++-+--++++-+-++++++++++++++++++-+++++-++++++++++++++-++-++++++++-+++++++++---++++++++++++++++++++++-++++-+++++++++++++++-++++++++-+-+++++++++++++++++-++++++-++++--+-+-+++++++++-+++-+++++-++-++++++++++++-+-+++++++++--+++++-+++++-++++++++++-+-++++++++++--++-+-+++-+++-+++++++++++++++++++++-+++++-++-++++++-++++-+-+++-++++++++++-+-++-+-++++++++++++++++++++-+++++++++++-+++++++++++++++++-+-+++++++++-++++++++++-+++++-++-++-++++-++-++++-++++++++-++-++-+--++++--+++++++++++++++++++-+-+++-+++++-++++--++++++++++++++--+++++-++-++++++++++-++++-+++++++-++++++-+++--+++++--++++-+-+-++-+++++-+-+-++++++-++++++++++++++-+++++++++++-++++++++-++-+++-++-+-++++++++-++++++++-+-+++++++++--+-++++-++-+++-+-++++-+-++-++-+++++++++++++-+++++++++-+++++++++++++++++++-+-+++++++++++-+-+++-+++++++++-++-+++++-+++++-++++++-+++++++-+++++++-++++++++-+-++++++++-+++-+-+++++-++++-+-+++-+++++-++++-++-++-++++-+++-++++++++++++-+--+-+++++++-++++++++++++++++++++++++++-+--+++-++++--++++-+++++++-+-+++++++++++++++++-++-+++-+++++-+-+++-+-+++++++++++-++++++++++++++-++++++++++--++-++++++++++++++++++++++-++-++---+++-+++++-++++++++-++++-++++++++++++-++++++++++++++++++++++++++++++++-++++++++++-+-+++++++++++-++++++++++++++++++++++-++++-+-++++-++++-+-+++-++++++++++++++++-+++++++++++++++++-++-+-+++++++++++++++++++++--++++-+++++++++--+++++++++++++-++++++++-++++++++++++++++++++-+++++-++-+++++++++++++-++-+++++++++++++-++-+++--+++++++++-++++--+-+++-+++++++++-+-++++++-+++++++-+++--+++++++++--++-+++-++++++++++-++++-+-+++--+++++++++++++++++++--+++++-++++++++++-++-+++--++-+-+++++++---++-++++++++++++-++-++++++-++++++++++-+++-+++++-++-+-++++++++++++++++++++-++++++++++++++-+++++++++++++++++++-+++++++-+--+++++-+--++++++++-++--++-++-+++-++-+++++++++--+++++++++++++++-++-+++-++++-+++-+++-++-++++-++--+++-+++++-+++++++++++++-++-+++++++++++++++++--++-+-+++++++-+-+++-++++++++-++-+++++++-++++++++-+++++++++++-+-+-+++--++++-+++-++++--++++-++++++++-++++++++++-++++-++++++++-++++++++-+++++++++-++++-++++++++++++++-+++++++-++++++++-+-+-+-++++++++++++++++++++++--++-+++++++++++++-+++++-++++++-+++++++++++++++++-+-++++-+++++-+++++-+-+++++++++++++++++++++++-++++++++-++++--+++-+-+++--+++++++-++++++++++++-+-++-++++++++-+-++++-+++++--+--+++++++++++-++++--+++-+--++--+++++---+++++---++++--+-+++-+++-++++++++++++++++++-++++++-+++++++++++++++++++-++++--++++++-++++++++-+++-++-++++++++---+-++++++++++++-++++++++-++++++--++++++++--+++++++-++++++-++++++-+-++++++-+-++++++++-+++++++---+--+++++++-+++---+++++-+-++-++++++++++--++++++-+-++-+++-+--++++++-++-+-+++++-++++-++-+++++++--+-++-+-+--+-+++++++++++-++++-++++-++++-++++++++++++-+-++-+++++++++++++++++++++++++-+++++-+++-++-++-++++++-+++-+++++++++-++++++++++++++-++-++--+++++++-+-++-+++++++++++++++++-+++++-++++++++++++++-++-++++++++++-++++++++-+++++++++++++-+++-+++++++++++-+++++-++++-+-++++++-++++++++-++++++++++++++++++++++-++++++++-+++++-++++++++++-+++-++++-++-++++--+++-++++++++-++++++++++++++++++++-++++-+++-+-++++++--+++++++--+-++++++--+++-+++++++++-++++++++-++++-++++++++++-+++++++-+++++++++++++++++++-++-+++++++++-+++++-+++++++++-++++-++-++++--+++++-++++-++++++++++++-+++++-+++-++-++++--++++++-+++++++++-+++-++++-+--+-++-+++-+++-+-+++++-++++++-++-++-++++++++++-+++++++++++--+++-++--++++++++-+++++-+++++++++-+++++++-+-+-+++++-++++++-+-++++-++++--++-++++++++-+++++++-+++++-+++-+++-+++-++++++++++--+++++++++++++-++++-+++++++++++++++++++++++++++++++++++++--+++++++++++++-+--+++-++-+++++++++-++++++-+++++++++++-++++++++-+--+-+++++-++++++++++--+---+-++++++++++++++++++-+++++-+-+-+++++++++++-+-++++++++++++-++++-+++++--+++++-++-+-++-+++++++++++++-++-+--++++-++++++++++-++--++++++-+++++++-++++-+++++++-++++-++++--++++--+++--++++++--++-+-+++-++--+-+++++++-+-+++-+++-+++++-+++--++++-+++++++-+++++-++++++++++++-++-++--++-++++--+--+++--+++++++--+++++++++++-+++++--++++++-++++++++--++++-++++-++++++-+++-+-+---++++++-++++-++-+++++++-++++++++++++++++++++++++++++++++++++-+++++++++++++++++++--+++++-+++++++--++++-+++++-+++++-+++-+-++++++++++-+++++-++++-+++++++++-++++--++++-++-+-+-++++++++++++++++++-+-+++++++++++-++++++-+++-++++-+++-++++++--+++++-++++-+++++++++-+++++++++++-+++++-++-+++++++++-+++++++++++++++-++++-++++-+++-++++++-+-++-++++-+++-+++++++++++++-++++++++++-+++++++++++++-+++--++++++--+++-++++++++++++-+++++++++++++++++++++-++++++++++--+++++---+++++++-++++-+++++-+-++++++++++++++-+-++++-+++++++-+-++-+++-+++++--++++-+--++++++++-++-++++--++++-++++-++-+++++++++-+++--+--+--++++++++-++++-+++++++++-++++++++-++++++-+++++-++++++++++++++++++++++++++-++++++-+++++-++++++++++-+++++-+-+++++++++-+-++++-+-++++-++++++++++--++-+-+++++-++-++-++++++++++++-++-++++++++++-++++-+++-+-++++++++++++-++++-++++-++++++++--+-+++++-++--++++++++-+-+++++++++++--+++++++-+-++-+--+-++--++++++-++++++++++-+++++++++++++++++++++-++++-++++++++-++++-+++-+++++++-++-+++++++++++++-+++++++++--++-+++++++++++-+++++-++++++++++-++++---+++++++++++++++++++++-+++++++++++-+-++++++++---+-++++++-++++++++++-++++-++-++++++++-++++++++-++++--+++++++-+++++--+-+--++++++++-+++++++++++-+++++++++++++++++++++++++-+++++++++++++++-++++++++++++++++++++++++++++++++-+-+-+-+++++++++++-+++++-++++-+++++++++-++++++++++++++++++-+++++-+++-+++++++++++-+++++++++-+++-++++++++++-++-++-++++-+++++++++++++++-+-+++-+-++++-+++++++-+++-+-+-+++++++++++--+-+++--++++++-+++-+++-+++++--+-++--++++++++++++++--+++++++++++--++++-++-+++++-++-+++++++++++++++-++-++-+++-++++++++++++--+++-++++-++++++++++-+-++++-+++++++++-++-++--+++++++++++++++-+-+++-++-++++++++++-++-+++++-+-++++++++++-++++++++++-++++++++++-++++++++-+++++++++++-+++++++++++++++++++++-++++++++-++-++++-+++++++-+-+++-+-++++++-++-+-+++++++++++-+-++-++++++++++++++++++--+-+-+++-++++++++++++-+++++++++++-++++++++++-+++++-+++++++-++-++-+++-+++++++-++++++++++++++++-+++++++++++-+++-+++++-+-++++++++-++++++++-+-+++-+++++-+-+++++-+++-++++-++++++-+++++++-+++-++---++++-+-+-+++-++--+++++++++-++-++++++++--++++++++++-+-+-++-+++-++++++-++++++-++++++++-+-+++++++++++++++++-++-++-++++--+++++-+++++++++--+++++++++-+-+++++++++++++-+-++++++++++++++-+++++++-+++--+++--++-+++--+-++-+++++++++-++-+-++-++--++++++++-+++++++++++++++++++++++++++++++++-+++++++++++++++++-+++-++++++--++++-++++++-+++++++++--+++++-+++-++-++--+++++++++--++++-+++-++++-+++++++-++++++-++++++++++++++++++++-+-+++++++++-+++++++-+++--+++++++++++-+-++-++++++++++++++-+++++++-++++++++++++++++-++-++-+--+-+++++++++++-++++++++++++-++++++++++++-++++++++++--+-+-+++++++-++-++++-+++++++++-+--+-++++++++-++++++++++++++++++++++-++-+++-++++++++-++++++++-+++++-++-+++++-+-++++++++++++-++++++++++++++++-++++++++-+++++++++-+++++++-+++++-++++++++++++++-++++-++-++++++++++++++++-+++-+++++++--++-+-++++++--++++++++-++++++-++++++++++-++++-+++++++++++-++-++-++-++++-+-+---+-+++++++++++++++++--++++++-+++++-+++--+++++-+++++++++--++-+++-++++-+-+++-++-++++++-++++++-++-++++++++--++++++++++++-+-++-+-+-++++++-+++++++++-+++++++-++++-++++++++-++++--+++++++++---+++++++-+-+-+++++++++++++-+++-+-+++++-++---+++++++++++++++++++++++++-+++++++--++++++-+++++++++-+++--++++++-++++++++++-++-++++++-++-++++++++-+++-+++++-++++-+-+++++++++++++-++++++++++-+++++++++++--++++++++++-+++++++++++++-+++++++++++++++-++++++++-++++++++++++++++++++-++-++++-+-+++++-+-++++++++++-+++++-++-+++++++++++++++-+++--+-+++++-++++-++-++++++++++-+-+++++++++++-+--+++-++++++++-++--+++++++++++++---+++++--+++++++++++++-++++++++++++++++++-++++-+++++++-+++-++---++++++++++--++++++++-++++++++-++-+++++++++++++-++++++++++++++++++++++-+-+-+++++++++-+++-++++++++++++++++++-+++-++++++-+++++++++++++++++++++-++++--+++++++++--+++++-++++--++++++++++++++++++++-+-+++--++++---++++++++-++++-+++-+++-+++++++++++++++-++++-++++--++++++++++++++--+++-++++++++-+-+++++++++++++++++-++++++++++-+-+-+++++++++-+++++-++++++++++++++++-+++++-+++++++++++++++++++++++++++-+++-+-+++++--+++++++++++++-++++++++++++-+-+++++-++++++++++--++++-+++++-++++-+-++++-+++++++++++++++++++-+++++++++++++++++-+-++++++++-+++-+++-++++-+++-+-+++-++++++++++++++++-+--+++++++++++++++-+-+++++-+++++++++++++++++-++-+++++-+++++++-+++++++++-++++++++++-+++++++-+++-+-+++++++++-++++-+++-+++++-+-+++++++++++++++++++++++++-++--++++++++++--++++++++-++++++++++++++++++-++++++-++-+++++++++++-++++--+++-+++++++++++--+++-+++++++++++++++++-++++++-+-++++++++++++-++++++-+++-++-+++-++-++++++++++++++-+++++--+-++-+-++++--+-+-++++++++-+++++++++++++++++++++-++++++++++++++++++-+++++++-+++-+++++++++++++-+++++++-+++++++++++-++++-+++-++++-+++-+++++++++++-+++--+++++++-+++-+---+++--+++--+++++++++-++++++++++++++-+-+++++++-+++++++++++-++---++-+++++++++++++-+--+++++++-+++-++-++++-+-+++-++++++++++-+++++-++-++-++++++++++++-+++++++++++++-++++-++-+++-+++++++-+-++++++++++++++-+-++++++++--++-+-+++++-+++++++++++++++++++++++++++++++++-++++--+++++++-++++++++-+-++++++-+++++++++--++++-+-++++++++-+-+++-+-+++-++++++-++++++-+++++++++++++++-+++++++-++++++++++++++--+++-++++++++++++++++++++++++++--++++++++-++++-+-+++++-++++++-+-++++++-+++-++-+++++++++-+++++++-+++-+++++++++++++-+++-++++++-+++++++++++++++++++-+++++-+--+-++++-+++++-++++++++++--++++++-+-++++++-++-++++-++++-++++++-++++++++-+++++++++++-++++++++++++++-+-+-++-+++++-+-++-+++++++-+++++++++-+++++++++++++++-+++++++-+++++++-++-+++++-+-++-+++--+++++++--++--+++++++-+++-+++++++++++-++-++-+++++++-++++++-+++++++-+++++++-+++++++++-+++++++---+++-+++-+-++-+-+++++-+++-+++++++++++-++++-+++--++++--++++-+++++-+-+++++-++++++++++-+++--+++++++++++++++--++++++---++++++-+++-+++---++++++++-+++++++++++++-+++++-+++++++++++++++++++-+++++--+-++-++-++++--++++++++++++++-+++-+++++++++++++++++-+++++++++++++++++--+++++++++++++-++++++++++-++++++++++++++-+-+--+++++++++++++++++++-++++++++-++++-++-+-++++++-++++++++-++++++++++++-+++++-+++++++++---+++++++++++++++++++++++++++-+-+++-++++++-+++-++-+++++-+++++-++++++++++++++++++++++-+-+-++-+-+-++-+++-+++++-+++-++++++-++++++-++-++-+++++++-+++-+--+++++-+-++++-++++-++++-+--+++++++-+++-+++++++++++++++++++-+++++++++++-+++++++-+++-+++++++-+++++++++-+--+++++++++-+++++++++++++++++++++-+++++++--+-+++-+++++--++-+++++++--++++-++--++-++++-+++++++++++-++++-++-++-+++---++++++++-+-++++++++++++++-+++-+++++-++++-+++++-+---+++-+--+++--++-+++++++++-+++++++++++++++-+++++++-++++++-++++++++++-++++++++-++++++++-+++----++++++++++++-++-++++++++-++++++++++++++++--+++++-+++++-++++++++++++++-++-++++++++--++++++++++-++++-+++++++-+++-++++--+++++-++-+-+++-++++---++-++++-+++-++++++++-++++++-++-+++++++++++++-++++++-++++-++-++++-+++++++++++++++-++++++++++++++++++++-+++++--++-+++-++++-+-++++--+++-+++-++-+++-++-++-+++++++++-++++++++++--++++++++++++++-++++++++++-+++++++-+++++--++-++-++++++--++++++++-+++++++++--++-+++++++-++++++--++++++++++-++++++--+-++++++++--+++++++++++-++-++++++++-+-+-+--++++-++++++++++++++++++--++-+-++-++-++++++++++++-+--++++++++++++++-++-++++-++++++++++++++-+-++--++++++++++-+++++++++--++++-++++-++++++++++++++-++++-+-+-++-+++++++++++++++++++++++++++++++--+-+-+++++++-++++-+++-++++++++++-+++++++-+++++++++-+++--+++-++++++++-++-++++++++-+++-+++++-+-+++++++++-++++-++++++++-+++++++-+++++++++-++++++-++++-+++-+++-+++++-++++++++++--+++++++-++-++++++++++++-+++++-++-+-++-++++++++--++-+++++++++++++++++++++++++++++++++++-++++-+++++++++++++-++++++++++++++++++-++++++++--++--+++++--++++++-++--+++++-+++++++-+++++++++++++++-+++-+++++++++++--++++++-+--++++++++-+---+++++++++--+++++++++++-+++++++++++++++++++++++++++-+++++++++++-+++-+++++++-+++---+++--++++--++++++++-++++++++++++++-+++--+++++++++++-++++++-+++--+-+++-+++-+-+++++-++++++++++++++++++---++-++++++++++++++-++++-+++++++++++++++-+++++-+++-+++++-+++-+-++++-++++--++++++++++++-+++-++-++++++++++++++++-++++-++++++++++--++++++++++++++++++++++++-++++++++++++++++++-+++++++-+++--++++++++--+-+++++++-++++++++++++-+++-+++--++++++++++-+++++++-++++-++++++++++++-++++++--+++++++++++++++-++++++++-++++++++++++--++++++-++++++++++++++++-++++++++-+-++++++++-+++++++++-++++++++--+++++++++-+-+++-+++-++++++++++-++-++++++++-+++-+++++++++++++-++++++-++++-+++++++-++++++-++-+-++++++-++-+-++++++++-++++-++-+++++++++++++++-+++++++-+-+-+++--+-+-+-++++++++++++++-++-++++-+++++++-++-+++++++++--+-++++-+++++++++++-++++++++++++++++-+++++++++-++++++--++++++++++++++++++++++-+++++-+-++++---++++-+++++++++-+-++++++++-++-++-+++++++++++++-++++-+++++-++-+++-+++++++++++++-+++-++-++-+++-++++++++++++++++++-+-++++-++++-+++-++-+-++++-+++++-+-+++++++-++-+++++++++++-+++++-++++++++++++++-+++++++++++-+-+-+++++-++++-+++-++-+-+-+++++++++++-+++++++++-+++-+++++++++++++++-+++++++++++++++-++++++++++++++++++++-++++++++++++-+-++++++++++++--+-+-+++-++++++++++++++++++++++-++++-++++-+-++-++-+++++++++++++-+++-+++++++++++--+++-++-++-+++++++++-+++++++-+-+++++++++++---+++--++++--++-++--++-+++-++++-+++++++--+++++++++++++++++++--+-++-+--++-++++++-++-++-++++++++++-++++++-++++-+++-++++++--++++-++++-++++++++++++-++++++++++-++++++++++++++++++++-+++++++++-+-++++++++++++++---+-+++-+++++-++++++++++++++++++-++++--++-++-++++++-++++++-+-++-++-++-++--++++++-+++++++--++++++++++++-++++++++++++-++++++++++++++++++++-++++-+++++--++++-+++++++++++++++-++++++-+-+++++++++-++-+++++-++++++++++++++-+++-++-+-+++++++++-++++++-++-+-+-++---++++--++++++--+++---+-++-++++++++-+-+-+++++++++-++++-+---+++++++++-++++-+++-+++-+++++++-+++++++++++-+++++-+++-++++++-++++-+++-++++++++++++++++++++++++-+++++++++-+++++++++++++-++++++-+++++-+++-+++-+++++++++++++++-+++++++++++++++++++--++++++++-++++++++++++-++-+-+++++++++++++++-++++++-++++++++---+-++++++-+++-+-+-+++++++++++++-+++++++++++-++++++++++-+++++-+++-+++++-++++--+++++++-+++-++--++--++++-++++++++++++++++++++++-+++-+-++++++++-++++-++++++++-+++++++++++-+++++++++++++++++-+++-+++-+-++++-+++++++-++++-+--++++-+++++-++++++-++++++++++++++++++-+-+++-+++++++++++++---+++++++++-+++++--+++++++-+-++-+++++++++++++++++-++++++++++-++++++++++-++++++-+++++++-++-++-++--+++++-+++++++++++----++++++--++++--++++++++--+++++++++++++-+++++++++++-+++++++-+-+++++++++++-++++++-++++-+++++++++++-+++++++++++++++++++++-++-++++++++++++++-++++++++++-+++++++++++++++-++++++++-++++++++-+++++++-++++++++++++++++++++++-+++++++++++++-+++--++++++-+++-+-+-++++++++--++++++++++-+++-+-+++-+++++-++-++---+++++++++++++-+++-++-++++++-++++++++++++++-+++-++++++-+++++-+++++++++++++++++++-++++++++++++++++-+++++-++++++++++-++++--++++-+--+-+-++++++++----+--+--++++++-+++++++++++++++++++++++++-+-++-++++++++++++--+++++++++++++++-++++++-++++++++++++++++++++-++-+++++++++++++-++++++++-+++++-++-++++-++-+++--++++++++++++-++++-++++++++++-++++++++-+-++++++++++++-++++++++++++-+++++-+++-++++++++++++-+-+++-+-+++++++++++-++++++++++++++++++--+++---++++++-+++-++++-+++++++++++++++++++-+-+++++-++++++++++-++++++++++++++++++-++-+++--+-+++++++++++++-+++-+--++-++++++--++++++++++++++++++-++++++--+++++++-++++++++++++-++++++++++-+++++-+++++++-++-++-++-+-++++-++-++++++-++++++++-+++++++++++++++++++++++++++++-++++-+++++++++++-++++++++++++++++++++++-++++++++++++++++++++++++++++-+++++--++++++++++++-++++-++++-+++++++++++-++++-+++++---++++-++++-+-++++++-++++++++++++++++++-++++++++-++++++-+++-+-+-++++---+++++++-+++++-+++++-+++--++-+--+--+++++++++++++++++++++++++++++++++++++++-+-+-++++-++-++++++++++++-++--++++++-+-++++++++++++++++-+++-+++-++++++-+++-+-++++-++++-++++++-+++++++++++++-+++-++++++-+++++++++++++++++++-+++-+++++-+++++++--++-+++-+++++++++++-+++-+-+++--++++-+-+++-+++-++++-++++++--++-++++++++-+-+-++-++++++++++++++++-+++-+++++++++++-+++++++++++++-+-+-++++-+--++++++-++++-+++++++++-+++++-++-+++++++-++++++++-+++-++++-++++++-+++++++--+-++++-+-+-+--+++++++++++++-++++++++-++-++-+++++++++++++++++++++++++++++++++++++++++++++++-+-+++++-+++-++++++++++--+++--++++++++++++++++-+-++++++++++-++++++-+++-+-++++++++++++++++-++--+-+-++++++++++++++--+-+++++-+++++++++-++-+-++++++++++++++++++--++++-+++---+++-+--+-+++++++++++++-++-++++++++-++-+++++++++++++-+++++++++--++---++-+-+++++-+-+++-++++++++++-++-++++++++++++++++++++++++-+++++++++++++-++-+++++++--++++++++++++++++++++++-+++++++++-++++++-++++++--++++++-+++++++++++--+++-+-+++++++++-+++++++++++++++++++-+++++++-+-++++-++--+-++++++-++-+--++-++-++++++++++++-++--+-+-+-++++++++++++-+++++++-++-+++++-+++-++++-++-++-+++++++++++-++++-++++--+-+++++++-+++++++++++++-++++++-++-+-++++++++++++++-++++++-+++-++-+++++--++++++++++++++++++++++++++++-+++-++++--+++++-++++++++++++++++++++++-+++++++-++-+++++--++-++-++++++--++++++-++-+-+++++++++-++--+++++++++-+++++++++++++-+++++++-++-+++++++++++-++++++++++++++++++++++++++-+++++++-++++++-+++++-+++++++++++-++++++-+++++-+++++++++++-+++-+-++--+--++-++++++-++++++++++++++++++++-++++---+-+-++++-++++++++++++++++++++++++++++++--++++++++++++++++--++++++-++++++-++++++++++++++++++++++++--+++++++++++++++-+++-+++++++++++++++++++++-+++++++++-++-++++++++--+++++++-+++++-+-++++-++---++++++--++++++-+++-+++++-++++++-+++++++++-+++++++-+-+++++++++-++--+++++-+++--++++++++++--++++++++-+++++++++++-+++++++++++++-+++++++++-+-++-++-+++++---+--+-+++++++++-+++++-++++++-++++++++++-++-+++++++++++++-+++-+-++++++++++-++++++-+++++--+++++++++++++-++-+++++++-+++++++++++++++++++-+++-+-++++++-+++++-+++-+-++++-++--++++++++++-+-++-+++++++++-++-++++++++++++++-++++++++++++++++++++-+++++-+++++++++-++-+-++++-++++++-+++++++++++++++++-+-+++++++++++++++++++++++++++++++++++++++-+++-++++++++++-+-+--++++++-++++-+++++++++++++-+++++++++++++++++++++++++++-+++--+++++++-+++-++++++++++++-+++++-+++--+++-+++-+++-+++++--++++++++++++++-+-+-+--+-+-+-+-++-+++++++++++++-++++++++-+---++++++++-+++++++-++-++++++++--++-++++++++-++++++++++++-+++++++++-+++-++++++++-+++++++++++--+++++++++++++-++++-+-++++-+-+++++++++++++--+-++++++++++-++-+-++++-+++-++-++++++++++++++++--++++-++++++++-+++++++++++-++++++++++++-+++++++++++-+++-+++++++++-++++++-++++-++--+++-++++-+++++++++++++-++--++--+++++-+-++++-+++++-+-+--++++++-++++-+++++++++++++++-++-+++++++-+-++++-+++-++++++-+++++++++++-+++-+++++++++-++++++-++++++-+++++-++++++++-++--++++++-+-++++++++++++-+++++++++++++++++++++++++++++++-+++++++--+++-+++++++++++++++++--++++++++++++-++++-+++-++++++-+++++++++++++++++++++++++++++++++++++-+++++++++++-+++++++++++++++++++++--+-++++-+-+-++++-++++++++++++++++++-+-++++-+++-++++++++++++-++--+++++-++++++++++-++++--+++-++-+++++++-+--+++++++-++--+-++++-+++++++++++++++++++++++++++++-++++++++++++-+++++-++++--++++-+++++++-+-++-++++--+++++++---++-++++-+++-++-++++++++++++++++-+++++++++-++++--+++-++++++++-++++++++++++-++++++-++++-++++++-+++++++++-+++++++++++++++++++++-+++++-+-+++-+++-++++++++++++++++++++++++++++++++++--+++++--+++--++++++++++++++++++++++++++-+--+++-++++++++++-+-++++++++++++-+-+++++-++++++++++++++++--+-+++-+++-++-++-++++-++++++++++++++++-++-+-+++++++++++++++-++++-++++-++---++++-+++++++++++++++++-++-+++++++-++++-++++++-++++++++-+++++-+++++++++-++++++++++--+++++++++++++--+++++++---+++++++-+++++-++++-+-++++++++-+++-+-++-+-+-+++++++++++++--+-+++++++++-++++++++-+++++++++-++++++++++--+--++++-++++++++++++++++++++++++++--++++++-+++++++++++-++++++++++++---++++++++++++++++-++-++++--+++++-+++-++++++++-++++++++++-++++-++-+++++---+-+++-++++++-+++++++--+++-++++++++-+++-+-+-++++-+++++++++++++++++--++-+-+++++++++++--++++-++-++++++++++++++-++++-+--++++-++-+--+++-+++++---+++-++++++++++++++++++++++++-++++++++++++++++++--++-++-+++++++-++++-++++++-++++++++++-++++++++++++++++++++++++++++-++++++++++-++++++++++++-+++++-+++++--+++++-+++--++++-+-++++++-+++++++-+-++++++++-+++-+-++++-+++++-+-+-+-+++++++++-+++++-+++++-+++++++++++++--++++-+++++++++--+++++-++++++--++++++++--+++++-+++++++++++++++++++++++++-+++-+++++++++++++-+++--++++++++++++++++++++++++--++++++++-++++-+-+++++-++++++-+++++-+++-+++-++-+++++++-+++++++++-++++-++-+++++++++++-+++++++-++--++++++++--+++-+-++-++--+++-+-+++++++++-++++-++-++++++--++++++++-++-++-++++++++++++-++---+++--+++++++++++++++-+++++++++++++++++-+-+-++-++++++-+-+++-++++++++-+++++++--++++++++-++++++++++-++++++++++++++++++++++-+++++-++++--++++-+-+++++-++++-+++---+++++++-+-++++++-++-+-++++-----+++++++++++++-++-+++++--++-+-+-+++++-+-++++++++++++++++++++++++-++++++-+++++++++--+-+++-+-+++++-+-++--+++++++-+++++++++++++-+++++-++-+++--++++++++++-++++++++++-+++++-++++++-++++++++++++++-++-+-+++++++-++-+++++++++++++++++++-++++-+++-++++++++++++++++-++++++++++++++++++++++++++-++++++++++++-++++-++++++++++++-+++-++++++++++++++-+++++++++++++++++++-++-+++++++++-+-+++++++-++++++++++++++-+-++--++++++++++++++++--++++++++-++++++++++++++-++++++-+++-++++++++++++++-+--+++-++++++++-++-+++-+++-+++-++-++++++-++-+++++++-++++++++++-+-+-+++++++-+++++-++++-++++++++++++++-++++++++++++++--+-+-++++++-++++++++++---+++++++-+-+++++-++++++-++++--+++++++-++-++++++++-+++-++++++-+++++--+++++++++++++++-+++++++++++++++++++++-+++++++--+++++++++-+-++++++++-++++++++++++++++++++-+-+--++-+++-++++++--++++++++-+++++++---+++++++-++-+++++++++++++--+--+-++-++-+++++--+++--+++++++++++++++++++++-+++-++-+++-+--+++++++++++-+++-+++-+++++++++-+++++++++++++++-++++++++++--++-++++++++--++++-+++++++++++++++++++--+-+++++++++-++---++++++-+++-++++++++++-+++++-++-++++++-++++++++-+++++++++++++-++++++-++++++-++++++--+-+-+++-+++++++++-+++++++++++-+++++++-+++--+++++++---+++-+++++++++++++++-+--++++++++++++++++++++++-++++++++++++++++-++-+-++++++-+++++++++++-+-+--++-+++++++++++++++++++++++-+-++++++-+++++++--++-+++++++-+++++++++++--++-++-+++++++++++++++++--+++-+++++++++++-+++++++++++-++++-+++-++++-+-++++++++++--++++++++++++++++++++++++++++++-++++++++++--+++-++++++++-+++-+++++++++-++++++++++++++-+++++-+++-+++++++-++++-+-+-+++++++-++++++++-+++++++++++++++++-+++++++-+-+++++++-++++++++++++++++--++-+++++++-++++-+++-++++++++-+-+++++++++++++++-+-++-+++++++-++++++---++++-+-++-++-++++-+-+++++++-++++++++-+-++++++++++++++++++-++++++-+++++++++++++++-++++++++++++-++++++--+++++-++--+++++-+++-++++++-++-+-++++++++-+++---+++-++++++++--+++-++++++-++-++-+++++++++++++++++-+++++++-++++++++++++++++-++-+-++-+++++-++++-+-++++++++++-+-++++++++-+++-+--+-++++-++++-++-++++++++--++-+++-++++++++++++-+++-++--+-++-+++++++++++-+-+++-+--+++++++++++++++-++++++++++-++-+++++-++++++++++++++++++++++++++++++++-++++-++++-+--++++++++++++---++-+-++--++++--++++++++++++++-+++++++++++++++++++++---+++++++-+-++++-+++-+--+++-++++++++++++++++-++-+++++++++++-+-+++++-++++++++++-++-++-+++-++++-++-+++-+-++++-++++-+--++-++++-++++++-++--++--+++++++++++++++++++++-+++++++++++-++-+++-++++++++++++++++++++++-+++-++-++++++++-+++++++++++++-++---++-+++++++++-++-++++-+++++-++-++-++++-+-++++-+++++++++++++-++++++++++-+++++++-+---+++++++++++++++++++++---+++-++-+++-+++++++-++++-+++++++++++-++-++-++-+-+++++-+++++-+++++++++-++++--++-+++++++-+++++++++++-++++++++++++--+++++-++++++++++++++-++++++++-+++++-+-+-++++-++--+-++++++++++++++++++++-++++-++++-+-+++++++++++++++++++++++++++++++-++-+++--+-++++++++++++++++++++++-++++++++++++++++++++++++-+++++-++++++++-++++++-++++++++++++++++-++++++++-++++--++++++++-++++-+-+-+++++++++-+-++++++++++++++++++-++--++++++-+-+++++++-++-++-++++++++++++++++++++-+-++++++++++++++++++--++++++-++++--+++++++++++++++++++-+++-+++-++++++-++++-+++++--+++++++++++-+-+++--++++++++++++++-+++--++++++++++++++-+++--++++++++++++++++--++--+++++++++-+++++-+-+-++++-++++-+-+++++++++-++++++++++++-++-+++++-+-+-++-+++++++-+++-++++++++++-+-++-+++-+++-+++++-++++++-+-+++-+-++++++++++++++++-++++++-+++++++-++++++-+-+---++++++-++--+++++++++-+++---++-+++++++-++++++++++++++-+++-++++++++++++-++-++++++++++++-+++++++-+++++++++++++-++-++++++-+--++++++++++-+++++-+++++-+++++++++-++++++-+++++-++-++++++++++++-++++++++++++++++++++++-+++-+++++++++-++-+++-+++++-++++++-++--+++++-+-+++++--++++-++++-+++++++++-++-++--+++-+-++-+++++-+++++-++++++-++-++++-+++++++-++++++++++-++++++-++++++-+++++++++++++++++-++-+--+++-+++++-++-++++++++-++++++++++++++++++++-+++++-++++++++----++++-+-++++++++++-+-+++++++++++++++++++++++++-++-++++++-+++-+++++++++++--+-++++--++++-+++-+++-+++-+++++++++++++++++++-+-++++++++-+++++--++++-+++-+++++++-+++++-++++++++-++++-+++++++++++++++++-+++++++--++-++--+++-++++-++++++++--+++++++++-++++++--++-++++-++-+-+++++++++--+++-+-+++++-++++++++-++++++++-+++++++++++++++++-+++++-+++++++++++++-+++-+-++++++++-+++-+-+++++++--++++-++++++++--+++-++-+++++-++++++-+-+++++++++++++++-+++++++-++-+++--++++++++-+++-+++-+-++++-+-----+++++-++++++++++--++++++-++-++-++++++-+--++-+++++++-++++++++-++-++++++++--+++++++-+++++++-++++++-+-+-+++++++-+-++++++++++-+++++++++++++++++++++-+-+++++++++++-+-++++++-+++++++++++++-++++-++-+++++++++++++++++++++++++++++-+++++++++++-+++-+++++-+-+++-++-+--++++-+++++++++-+-+++++++++++++-++++-+++++-++++--+-+-++++-+++++-+++++--+-++++-++++++++++-++--++++-++-+-++++-+++---++++++++++++++++++++++-+++-+++++++++++-+++++---+-+-++++-++++-+++++++++++-++-++++++++++---++--++++++-++++++++++++-++++++++--++++++-++-+++-+-++++-++++++++++++++++++++++--+-+-++-++++++++++++-+++++++++++++++++++++-+++++++++++++++++++++++-++++++-++++-+-++++-+++++++++++-++--+-+-+++++++-++-+++-++++++++++-+-++++-++++-+-++++++++-+++-+++++-++++++-+++++-+++--+++++-+++++++++-+++++-+++++++-+-+++-+--+++-++++-++++++++++++++-+++++++++++-+++++++++++++++++++++++++++--++++-+++-+++-+-+++++++++-+++-+++++++++++++++++-++++--+++++-++++-++++++++--++-+++++++++++++++++++++++-++-+++++-+++++++++++++++-+++-+++++-++-+++++++--++-+++++++-++++++++++++-+--++++-++++++++-+-+++++++-++++++--++++++++-+-++-++-+++-+++-+++++++++-+++++++++-+-++++++-++++++++++++-+++-+++++++++---++-+++++++++--+++-+-++++--++++++++++++++++++++-+++++++++--++++++++++-+++++-+++++++++++-++++++++++-++++++++++++---++++++++-+++++++++++++++++++++++++----+-+--+-+++++++++++++-++++-++-+++--+++++-+-+++++++-+++++++++-+-+-+++++++-++++++++++-++--++++++++++--++-+++++-++++++-+-++++++++++++++++++++++++-+--++-+-++++-+++++++++++-++++-++-+-++++-+++++++-+-+-+---+++++-++++++++++-++++--+-+--++-++++-++-++++++++++-+++++++++++++++++++--++++++++-++++-++--+++-+++++-+++-+++++++++++++++-++++++-++++--+++-++++++++++++-++++-+++++++-++++++-++++++++++++++++++-+++++++--++-+++++++++-+++++++++++++-++-++++-+-++++++-+++++++-+++-+++++++-+++-+-+++++-+++--+-++++-++++++-+++++++++++-++++++++++-+++++++-++++--+++++++-++-+++-+++++++--++++-+++-+++-+++++++++++-+-+++-+-+--++++++++-++++-++++++-+++++-++-+-++++-+++++--++++++++++-++--+++++++++++++++-++--+++--+++++-+++++++++++++++++++++++++++++++-+++++++++++++--++++++--+++++++++++++++++++++++-+++++-++++-+-++++++++-+++++-+++++-+++++++-+++++--++++++++++++++++-+++++++++++++++++++++-++++-++++---+++++++-++++++++-++-+-+++-+-++-+---++--++++-+-++++++-+++++++++++++--+-++++++++-++++++-+-+++++-+++++++++++++---+++++-+-+++-++-+++++++++++-++-++++++++-+++-++--+++++++++++++++++++++-++++++-++++++++++++-++++++-+++++-+++++++++++++++-++++-+-+++--++---+++++++-+++-+++++++-+++++-++-+++++++-++++-+--+++++++++++++++-++++++++++++++++-++---+++++-+--+++++++++++++-+++-++++++-++++++++-+-++-+++++++++++-+-+-++++++-++++++---++++++++-++++++-+-++-++++++++++++--++++++++-++++++-+++++-+++++-++-++++++-+++-+++++++-++-+++-+++++++++++++++++++-+++++++++++++-+++-++++--+++-+++++-+++++++-++++++-+++++++++++-+--+++++++++++-++++-++++-+++++++++++++++++++-+++++++-++++-++++++++++-+--+++++++++++++++++-++++++++++++++--++++++-++++-++-++-+++-+-++-++----+++-++++++++++--++++++----+++-+++++++++++-+++++-+++++-+++++++++-++++++++-++++++-++++++--+++-++-++++++++++++++-++++++++-+-+-+++++-++-++++++-++-++---+++++++++++++++++-++++++-++++++++++++++-++-+++++++++-+-+++++++-++++++++-+++++++++++--++---+++-++++-+++++++-+++-+-++-+++++-+++-+++-+-+++++++++++++++++++++----++++++++++-+++-++++++--++++++++++++++++++-+++++++++++++-+++++++++-++++++++++--+++++++--+++++++++-+-+++++++++-+++++-++-++--++-++-+-+++++++-+-+++-+++-++++++++++++++--+-++-+++++-+++++++-++++++--++-++++++++++++--+-++++++-++++++++++-++++++-++-+++++++++++++++++-+-++++-++---++++++++-++++++-+-+--+++-+++++++++++-++-+-+-++-+++++++++--+-+-+++--++++++++--+-+--++++++++++++++++++-+++++++-++++-++++++++++-+-+-+--+-+++++++++++++++++++++-+++++++++++-+++-+-+-+++++++--+--++++++++-+++-+++++++++++++++++++-+++++++++-+++++++++++++++++++++-++++++++-++++-++--++++++++-+++-+++++++-+++++++-++++-+++-+-+++++++++--+++-++++++++++++++++++++++++++++++--+++++++-+++++++++++++++++++-+++++++++++++++++++-+++++--++++-+-++++++++++++++++-+++-++--++++++++++-++++++-++++++-+-+--++---++++++++-++++++++-+--+++-++++-+++++-+++-+++-++++--+++++++-++++-+-++++++++++-+++++++++++++++-++-+-+-++-++++++++++++-+++++++++-++-++++++++++++++++++++++-+--+---+++-++++-++++++-+-+-+++++++-++-+-++++++-+-++++++++++++--++-++++++++++++++++++-+-+-++++++++++++-+-+-++++++++--+-+++++++++++++++++-++--+-+++++++++++-+++++++++++-++-+++-++++-+++++++++++--+++++++++++++++-+++++++++-+--+++++++++-++++-+++++-++++++++++++-+-+++-+++++++-++++++++++-+-++++++-++++++++++-+++-+++++++-++-++-++++++-++-++-+++++++-++++++++++++++++++++++-+++++-++++--+++++++++++++++++-+++++-+++++++++++++-++++--+++++-+++-++++++-+++-+++++++++++++++-++++++++++++++--++++++++-++-+++-++++--+-++-+++++---++-+-+-+-+-+++-+---+++++-+-++++-+-++++-+++++-+++++-++++-+++++-++-++++++++++++++++++++++++++-++-+-++++++-++++++++--+-+-++++++++++++++++++++-+++++++++++++++++++++++-+++-++-++++++++++++++++++++--+-+++++-+++-++-+++-+++++++++-+++++++++++++++-+++++-+-+++--++++-++++++--++++++-+++++-+++-++++-++--+++++-+-++++++++++-+-+++++++++++--++-+++++--++++++-++++++++++++++++++++--+++++-++++-+++++++++-++++++-++++-++++++-++++-+++++-+++-+++++++++++++-+++++++++++++++++-+++++-++++-++++++++++++++++++++++-++-+++-++++-+++++++--+++++-++-+++-+++-+-++++--+++++++++--+++++++++-++++++++++++++++-++-++++-+++-+++++--+++-++++++++++++++++++++++-+--++++++-+++++++++-++++++++++++++++++++++++++++-++++++++-+++++++++++++++++++++-++-++++-+++---++-+++++++++++-+++++++++++-++-+++++-+-+++-+++++++-+++-++++++++-++++-+-++++++-+++-+++++++++++-++-+++-+++-+--++-+++++-++++++-+++++++++++-++++++++-++-+++-+++++-+++-++++++++++++++-+-+++--++++++++++-+--+++++++++++++++-+-++++-+++-+-++++--++++++++++-++++-++++++++-++++-+-++++-+++++--+++-+++-++++++--++++--++++++++++++++-+++++-++++++-++-+-++++-+++-++++-++++++++++++++++++++++-++---++-++-++++-+++++-+++++++++-++++++--+-+++-+++++++++-+++-+++++++++++++++++++++++++++++++-+++--+++++++++++++++-+-++-++++-+-++-+-++-+++++-++---+-+-++-++-+++-++++++-+++++-+++++++++++++-+++++++++++++-++-++++-++++-++++++++--++++++++-++++++++-++-++++++++++++++++++++++-+-++++-++++++++-+++++-+++-++++++-+-++++-++++-++++++++-++++-+-++-+++-+++++-+++++++++++++++-++++-++++++-++-++++++++++++++++++-+++++++-++++++++++-+++-++++++++++++-+-+++++-+++++-++++-+-++++-+++++-+-+++-+++++-+++++++++++--++++++-+++-++-+++--+++-++++++-+++++++++++++-++++++-+++-++-++-++-+++++++++++-+-+++++---++-++-++++--+++-++++-+++++++++++++-++++++-+++-++++++++-++++++++++++++++-+++++-++++++++++--+++++++++-++-++++++-++++-++++-+-++++++-++-+-++++++++--++++--+++++-++++-++++++++++--+++++++++++++++-++-++++--+++++++-++++++++-+++-++++-++-++++++-+-+++-++-+++++++++++++++++--+-++-+++++-+++++++-+++-+++++++++++++++++++++-+++++++-+++++-++++++++++++++-+++-++++++++++-+-+++++++--++++++-++++++-++++++++-+-+-++-+++++-+++++++++++-++-+++-+++++++++-++++++++++-++++++++++++++++++++++-+-++++-++++--++++++++++++++++++++++++++--++-+++++-+++++++++++++++-++++-++++++++-+++-+++++++++-++-+++--++++-+++++-+-+-++-++++++-++++++++-+-++++++++++++++++-++++++++++++++++++-++++-+++-+++++++++++-+++++-++++++-++++-+++++++++++++++++-+-+++-+++++-++++++-++++++++-+--+++++++----++++++-++++-+++++-+++++++++-+-++++-++--++-+++++++++++-+++++++++++++++++++++-+++++-++-++-+++++++++++++-+++-++-++++++-+++++++-+++++++++--++-++-++-++-+++--+--+++-+-++++++-++++++++++-+++++++++++-++++-++--++++++-+++++++++++++-++++++++-++++++-++-++++-++++++++++++++-++++-++-++++++++---++++++++++++-+++++++++++++++++++++++-+++++--++-+++++++-++++++++++++++-+++++++++-++++++-+++-++++++++++++++-++-+-+++--++-+++++++++++++++++++++-+++-++++++++---+++++++++-+-++++++--++++-+++++++++-++++-+-+++++++-+++++++++-++++-++++-+-+++++++++++++++++++-++++++++++++++++++++++-++++++++-+++-++-+++++++++++-++++++++++++-++++-++--++++-++---++--+++-++++-+++-+--++++++++-+++-++++++++-+++-++++++++++-++-++++++-+++++--++++++++---++++++--+++++++-++++++++++++-++++++-++++++-+++++-++++-++-+--+++-+-++-++++++++++++--++-+++++++++++-++-++-++-++++++++++-+-+++-++++-++++-++-+++++++-+++++++++++-+++++++++++++++-+++-+++++-+++++-+++++++++++--+--++-+---+--++++++-+++-++++++-++-+++-+++++++++-++++++++++++-++++++++++++++++++-+++++++++++--+++++-++++++++---+-+++++--++-+++++++-++++++++++-++---++++-++++++-++-++++++-++++++-+++-++--+++++++++++++++++++++-++++++++++---++++-+-++++++-++++++---+++-++-+++++++++++--++++++++++-++-+++-+++++++-+++++++---++-++++-+-++++++++-++++++-++++++++++++++++++++++++++++++-+++++++++--+-++-+-++++++-+++++++-++++++++-++-++++--++++-+++-+++++++-+++++--++++-+++++++-++-++++-++-++++--+-++++++-+++++++-++++++-+++++-+-+++++++-++++++++++-++++++++++-+++--+++-++++-+--+++++++++++++--++-++++-+++-++++++++++++++-+++++++++++++++++++++++++-+++++++++-+++++-+++++-+++++--+-++-+++-+++++-++++-+-+++++---++-++++-++-+++++++-+++++++++++++++-+++++++++++-++++--++++++++---+++++-+++++++++-++++++-+-++++++-++-+++++-+++-++++++++++-+-+-+++++++++++-+++-++++++-+-+--++++++++-+++++++-++-++++-++++++++++++++++++-+-++++++++++++++++++++-+-+++++-+-++++++++-++-+++++-++-+-++++++++++-+++++++++-++++++++++++++-++++++-++-++++-++++++-++++++++++++++++-+-+++++++++++++++-+-++++-+++++++++--++++++-++++++--+++++++++-+-++++-++++++++-++++-+++--++++++++++++++++++++++++-+-+--+--+++++-+++++++++-+++-+++++++++++++++++-++-++++++++-+++++-+++++++++++++-+++++++++++++-++-+++----+-++-+++++++-++++-++-++++++++++++-+++++-+-++-++++++++--+++++-++++++++++++-+++-+++++++-++++-++++++-++++-++++++++++-+++++-++++++--++++++++++++-++++++++++--++++-++++++++++-++--+-+-+++--++++-+++++++++++++++++++++++++++++-+-++++++-++++++-+++-++++--++-++-++++++--++++++++++++++++--+-++-++-++++-++-+++++++++++++++++++++++++++++-+-+++-+++++--++++++++-++-+++-++++++-+-++++++++++++++++++-+++++-++++++++-+++++++---++-+++++++++-+++++++++---+++++++-++++++-+++++++++++-++++-++++++++++++++-+--++++++++++++++++++--++++-++++++-+-+++++-+++++++-++++++-++-+-++++++++-++++++++++++++++++-+++-+++-++++-+++++++++++++-+-+++++-++++-++-++++++++++++-+++++--++++++++++++++++++++++++++++++++-++++++-+++++++++++++++++++++++++++++-+++-++--+++--+++++++++++++-----+++++-+-+++++++--++++++++-++++++++++++++++++++++++++-++++++++++++++--+++++++--+++--+++++++++++-++++++++++-++++-+++++++---++-+++--+++++-+++++--+-++++-+-+++++++++-+++-++++++++++-++++++++++++++++++-+++++-+-++++--++-++++-+++++-+++++++-++++++++++++++-++-++++++---+-+++-+++++++-+-+++++++-++++++++-++++++-+++++++-++++-++++++++++++-+--++++++-+++++++++++++++++++++++++++++++-+++++--+++--+++++++-+++++++++-+++++-+++++++++++++++-+++--+++++++-++++++++++++-+-++++-++++++++-++-+++++++-+++++++++++++-++++++-+++-+++++++++++--+--+++++++-++-++-+-+++++++++++++++--+-+++++-+++++++-+++-+++++++++-+++++++-++++++++++++++++++++-++++-++++++-+++-++++++++-+++++++++++-++++++++++++++++--+++++-++++++++++++++++-++++-+++--++++++++-+-++++++++-++++++---+-++-+++-++-++++++-++-+-+++++++++++-+++-++-++++++++++++++++++++-+++++++++++++++-+++++++++++-++++++--++-+++-++++++++-+-++---+-+-++---+-++-+---+++++++++++++++-++++++++++++++++++-++++++++++++++-++++++++-+++-++++--++-+++++++++++++++-+-+++++-+-+-+++++++++--++++++++-++--+--+-+++++++--+++++++++-++++++++++-+--+++-++--++++++---+++++-+++-++++++++++++-+-++++++++-++--++-+++++++-+++-++++--+++++++++++++++++++++++++++++-+-+--+++++--++++++-+++-++++++++-++--+++++++-+++-++++-++++++++++++-++++-+-++++++++++++--++++-++++++++-++-+-++++++++-++++-++-++-+++++++++-+++++++-+-+++++-++++++-++++++++++++++++++++++++++++-+++++-+++-+++-+++++++-+++-++++-++-++-++++++-+++-++++++++-+-+-++++--+++++-+-+++++++-++-++++++++-++-+-++++-++-+++++--++-++++-+-+++++-++++++++-++++++-+-++++++++++++++-+++-+++++++++--++++++++++++-++-++++++++-+-+++++++++-++++-+++++-+-++--++++--+-+++-+++++--++++++-++++++-++++-++++++++-+++-++++++++++--+++-+-++++++-+-+++++++++++-++--++++++++++++++++++++-+++++++++++++-++++-++++++++++-++-+-++++++-+++++++++++--+++++--+-+++++--+-+++-+++-+++++++++-++++++++++++-++++-++-++++++-++++++-+++-+++-++----++++-+-+-+-+-+-+++-+++++++++++-++++++++++-+++++++-+++++++-+++++-++++-+++++++-+++++++-+++++++++-++++++++++++++++++++-+++++++-+++++++++-+-+-+++--++-+-+++-++++--+++++++-+++-++++++-++++++++++++-+++++++++++++-++--+-+-++-+-++--+++++++++---+--+++++-++++++++-++++++++-+--+-++++-++-+++-+++-+-++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++-++++++++-++++++++++++-++++++++-++++++-+++++++++++++++++++-++++++++++++++++++++++++++++++++++++++--++++-+++++++-+++++----++++++++++++-+++++++++-+++++-+-++++++++++++++-+--+++++++++++-+++++++-++-++++++++-++-++++++-++++++-+-++++++-++++-+++++-++++--++++++++-++-+-+++++++++++---+--+++-+++-++-++++++---+++++++++++++++++-+-++++++++++++++++++++++++-++++++-++++++-++++-++++++-++++++++++++++++-++--++--++++++++-+++++++++-++++--+-++-+--++-+-+++++++++++++-++-+-+++++++-+++++++++-+++++++-++++++-++++-++++-+++++-+-++++-++++++++-+-+++++++--++++++++++-+++++++++-++++++-+++-++++++++++++-+++-+++++-+++++++++++++++++++++++++-++++++-++++++--+++++++-+++++++++++-++-+++--++++++++++++++++++++++++++-+++++-+++++-+++-++++-+-+++-+++-++++-++++++-++++++++-++++++++++-+++++++-++-+++-+++-+++++++-++++-+++--++-++--+-+-+++++++++++++++++++++-+++-+-+++-+++++-+++-+++++-+++-++--++-++++++++--++++++++++++++++++-+++-+-++++++++++++++++-++--++++-+-++-++++++++++-+-+++-++-+-+++-+++++++++++++++++++--+++++++++++++++++++-+-+++++++-++++-+++++++++++++++-+++++-++++++-+++++++++-+++-++++-+++++--+++++++++-++-+++++++++++-+++++-++++-+++++++++++++-+-++-++++-++++-+++-++-++++++++++++++++-+-++-+++-++++++++++++++++-++++++++++++++++++-++++++---+++-++++++++-+--++++-+-+++++++++++++++-+++++++++-+-++++++++++++++++++++++-+++++-++++-++++++-+++--+++++++++++-++++-+-+++++++++++++-++++++++++++++++++-+++++++++++-+++-+++++++++---++-+++++++++++-+-++++-++++-+++++-++++++-++-+++++-++++++++--+++++++++++++++++++++++++++++++++-++-+++-++-++++++++++++++++++++++-++++++++++++++-+-+++++++++++++-+++-+++++++++-++++++++++++++-+-+++++++++++++++++++++-+++++++++++++++++++++++++++-++++++-++++++++++++++++++++++++++-++++++++++++++++++-+++-+-++++++++++++++++-+++++++---+++-+-+++++++-+++++++-+++++-+++++++++++++++++++++-+++++---+++++++++++-+++++++++++++-++-++++++++++++-++++-+-+-++++-+++++++++++++++-+++++++++++++-+++-++++-++--++++-+-+++++++-++-++++++++-+++++++++++++++++++-++++++-+++++-++--++++-+++++++-+++++-++++++++--++++-+++++++++++++-+++++-+-+++++++++-+++++++++++++++-+--+++++++++--++--++++-++++++++++++++++++++++++-+++++-++++++++-++++++++++++++++++++++-+++-++-++++-+++-++++++-++++++++++++--+++++-++++++-++++++++++-++++++++-+++++++++++++++-++-++-++++++++++++-++-++++++++++++++-+++++++-+--+++++++++++-+++-++++++++--+++++++++++++-++++-+++-++-+-++--+-++++++-++++-+-++++---+-++-++-+-++-++++++++++++-+++++++++++++++-+++-++++--++-++++++++++++-+++-++++++++-+---++-+++-+-++-+++--++++++++++-++++-++++++++++++++++++++++++++++++++++-+++-+++++++++++--++-+++-+++-++++++-++-+-+-+-++++++-++++++++++++++++-+++++++++++--++++++++++-++---++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++---+++-+++++++++-+-+--++-+--++++-++++++-+-+---+--++---+--+-++-+++---+++---+-+--+--+--+---+-+++--+++---+----+-+--+--+++-+--+++++----+-++++---++--+++--++-+-+-----++++-+--++-----++++++-+-+-+++++--+++--++++++++-+-+-++----+++-+++-+--+++---++++-+-+++++-+-++---+-++---+--++------++------++--+--++++-----+---+---+-++-++----+---++-+----+--+++----+-+-++-+++++-++--+--+++++--+-++++-+-++--++-+-+++-+++---+++-+--++--+--+-++--+++-+-----+-+--+---++--+--+++-+-+-++-++++-++-+----++---+-+-++-++---+++-+-+----+---+--++-+-+--++-++++++-+--++--+-++-+---+-+---+--+-+-+++-+-+++-+-+++-+++++++++-+----++++-+-+-+------++-+-+----+-----+++-+-+++--+---++---++--++--++-+-++++-+--+--+------++-++--++++-+-++-----+-+--+--++-+++-++++--+--++-++++-+---+--++--+---+++-++-+-+-+-+---+----++-+++++++-+++-++--++--+----++----+-++++---++-----++-+---+-+--+-+---+-++-+-++--+-+--++-+----++--++-++--+++-++----+-+-+--+---+---+++-+-+-+-+-----++++-+++++--+-+++-+--++++--+---+++-++++--++-+-++--+++---+--++-+-++--++++--++----+-+---++-++++---+-+-+--+-+---+-++-++--+-+-----++---+----+--++--------++-++-+++-++--+--+--++-------+-+---+++---+--+++++++--+---+---+--+-+--++--+-+-+-+-+-++-+++-+++++---+-+--++--+--+--+++++-+++--+--+-++-+++-+--+-+---+++-+-++++-+-+++-+++++-++-+----++--+-+-++--++--+++--+-+--++-++--+-+-+++-+-+---++++---++---++++-++++-+-+---+---------++--++++-+-+++--++--++-------------+-+--+---+--++-+--+------+--+-----+++++++++--++-+-++-+++-+++-----+++---+++++----++++-+-+------+-+-+-+++--+--+---+--++--+-+--++-++++---+-+++++++-+++-----+-+-+++-+-+++---+++--+---+--+-+---+++---++--+---+--++-+++--+-++++---+-+-++--+-----++-++-++++---++++-+--++-+----+---++++---+---+++++-+++++++-+-++-+-++++++----+++-+---++----+-++--++++-+-++-+--++++++--++-+-+-+++++--++---+-+++---++-++++---++---+----++--+++-++----++-+--+++++--+-+++--+++-+++++-++++-+++-+++++++--+---+-+-+-+--++--++-+-+-+-+-+-+--++-+-----+++-++--++--+------+-++++-+++-+-+------+++--+-++-+++---+--++--+++-++-+-----++++++--+-++-+--+-+-+++---+-++----+-++--+++--+-+-++++--++++--+-++-+-+++++-++-++---++++---+-++----++---++--+-+--+--+++++-+++--+---+--++--++--++-++++----+-++-----++++-++--+-+---+++----+--+--+-+-+-+-+--+----+-----------+-+--------+------++-+--+--+---+-++++-++-+--+-++--+-+++-+++--++--++++--++-+------+++--++++++-+-+-+-+-+-+++------++-+++-+---++--+----+-++++++++--+-+-+-+---++-+--+--+---+++++-+++++--++-+++-------++-+++---+-++----++++-++-++-++----+++-+-+-+-----+++-+-++++++-+++++-++-+---+--+-+++---+-+-+-++---+-+-----++-++-+--+----++---+--++-++++++-+----+------+-++-+--+++---+-+------++-+++----++-++---+-++++--++--+++-+++++++--++++-+---+-++-+--+----+++---++---++--+++-+-+++-+--++---+-+++-++---+-+-+++-+-+++-++++++---++--++-+--+---+-+++--+++--+--+-+-+++-++------+---+--+--+-+++----+--+++++++++-++-+-----+-+++++-----+++-+-+-++-+++++++--+++++-++-+++--++---++---++------+-+---+++--+--+--+--+------------+-++------+-+++-+++-++--+--++---++-++-++---+-+++--+++++----+--++++----+--+---+---+-+++-++----++++-++--+--++-++++-+-+---------++++--+++-++++---+-++------+-+++--++---+-+-+--+++--+--+--++----+-+--+---+-++++--+++++-+--+--+-+-++-++-+-+---+---+-++-++--+++--++---+-+-+--++-----++---+-+--+-++-++--+-++-+--+--+-++-+-++-+-+-++-++--++++-+-+-------+-+-+-+-+-++++++----+-----+--+--+----+-+---+++++-+++++++--+-+--+-++--------+-+----+-+-++++--+-+++++-++-+----+----+--+++--+++---++-+-+-++-++--+------+---++++--++---+-++++-++-++-+----+-+--+-------+++---++++-++++-+++--+-+--+----+++-+-+-+---++++----+-----------++--++-++-+-++-++-----+-++-++-+--+-+---+---++-----+++-+-+-+--+-----+------++-+-+-+-++++-+---+-----+-++-+-++--++--++++-+-++--++-++++-++-+-++--++---+++---+---++++--++++-+--+-+--++++-++--+--+++--+++-+-++-+-++----+-+----+-+--+-+---+-++--++-++-++++++++-+-+++++-++++--+++-++-+-+-+-------++-+---++---+++----+++--+-++-+----++-+-++-+++++++++--++++-+++++++--+-+-++--+++---++----+-+++---+++-+---+-+-+-+-+-+++++-+-+----++++-+--+-++----+++-----+--++-+-++-+--++-++-++---+--+-+-+++-++----+----++++----++++++-+-++---+--++----+++-----+-+-+++-+-+-+++++-+--+-+------++--+++--++++-+-+----+++--+--+++-+-+++-+-+-++++---+-+-++---+++-+--++-+---+-+-++-+-+-+--++---++-+++++-+----+++-+++-+-+++-+---+---++-+--++---+++-----++++++++--+++-++++--++---++-++---++++++++---+++----++--+++++-++--+-+-++++++-++-++-+--++---+-+--++-+++--++-+-+----+-+-++-+-----+-+-+---+--+-++-++++-+-++++++----+++++++++---+-+---++--++-----+-+-++++-+--++++-+++-+++-++-+++-+---+-+++-+-+-++-+----+-+---+++--++++-+----++-+++++++++-+++++-+++--+++++--++---+++-+-++---++----+++---+---+--++-++++--+++--++++-----++++-----+-+++-+---+-+-+--+--+-+++++-++---++++++++---++-++-+-+++----+--+-++++-+-++-----+++++--+--+++++-++++-+--++++-+++---+---+---+++-+-+--+-+-+-+++-++++-+-+--+-----+-+++-+--+-+-+-+-++--++++-+++++--+-++++--+++-+---+-+-----+++++-+---++++--++--+-++--+--++++----+--++--+---+----+++++++--++++++++--+-+--+-+--+--+++-++-+---++--+-+-----+-++----++-+-+--+---+-+--------+-+++-+++-+++-+++++---++-++++-+--++++-+-+-+-+-+-+----+++---+-+-+-+-+-+-+-+++--++--+++---+-++++--++++-+--++++++-++------+--+-++---++++++--+++-++++++---+----+-----+++++++--+-+-+++-++----+--++-++++---+--++--+++-+---+-----++----+--++-+-+++---+-++--+--+++++++++---+----++--++-----+--+++-+++--+--++-++--+-++--+--+-+----++++++---+-+--++-------+++-++-+---++++++-----+-+--+---++++---+---+++++++++-++--+--++-+-+-++--+-----++++--++++--+----++++----+-++-+++--+-++--+-++--+++-++-++++---++++++-----+---+-+-+++-+-+-----+-+++-+--+-++-+---+++-+-++-++++-+-+-+--++++++-+-+-+-+++--+++--++-+-++-+++--+-+++---+++++---+----+---+++-+++++-++++---+--+-++--++-+-+-+-++++---++++++-+++-+--++-++-+++++------+++-+---++--++++++-+-+-+-++-+--++++-+-++++++-+-+----+++----+-+-------++++--++-++-++-----+--++-+-----++--+--+++-+--++-+++-+++--+--++--+--+-+-++--+++-+-++----+--++++------+-------+-+++-+--++----+-------+--++-++++-++--+---+--++-++-+++--+++-+-+---+-+--+-+++--++---++-+----+--+--+-+++---+++-----+++++-++------+++---+---++-----+---+------+-+-+----+--------+-++-+--+-+-+------------------+++-++---++--++-++-++-++-+-+--++++-+--+-+-+++-+-+++-+++--++----++--+-+--+++-++------++-+++-++--+-+------+---++-++-+--+++-+--+-++++-----+---++-+-+--+----+--+-+--+--++--+--+-+----++-+++-+++++-+--++++++----+--+-+-+-+-+-+-+--+-+-+--++-++--+-+--++--++---++--++++-+-++++++-+--+++-+-++++---+++--++-+-+-+----+-+---+++-+--+++-+----+--++-+++-+-+++-+-----++++-++-----++-++++----+-++-+---+-+-++-+++++---+++-+----+-+--+-+++++----+-++-+++-++-+++-+--++-+++------+-++-----+++-------++---++-++++++------+++-++-++-+++++------++++-++-+++--++++-+++-+-++--+--+-+---+-+--+-+-++---+-++--+----+-++-+-----+--++++-+--++-+--+----++--++-+++++-+-++-+++---+--++-----+++++++--++++-+---+-----++++-+-+-+-+-+-+++---+--++-++--+-+----+--+--+-+-++-+--++-+++-+---+--++-+---+-++-++++-++---+-+--++-+-++----+-++------++-++-----+++-+-++-++--++-++-+-+--++-++-+-+--++--++-+++----------+-+-+++-+---+------++-+-------++--+-+------+++-++--+--++-++-+-+--------+-+-+---+-+-+++-+-++----------++-------+++---+-+-+--+------+-+--+--++++--+-+----++-++-+--++-+++--+-+-+++-+--+-+-++++--+---+++-++++---++--++++--+++-+-+--+++-+--------++-------++++++-+++--++++++--+-+--------+---++--++-+-+---+--+--+---+--++-++++++--++----++-+--+-++--+-+-+++------+++-++++--+--++++++-+++-++-++--+++++-----++-+----+-+-++++++-+++---+--++++-+--+---+++---+++---++---+---++-++--+++---++-----+---+-------+-+--+-+----+++-++--+----+-++-++--++++-----+++++--+----+++--+++-+++--+---+-+-+-++-+--+++-++--+-+-++---+-++-+-----+--++++-++--++----+-+++-+++-++-+++---+-++-+-++++---+++-+-++--+++-+++-+-++---+++++++-++++--+---+-+-+-+-+--+-+-++++---++++-++-+--+--++--+--++----+--++++-+-++++--+-+---+---+-+--------+-++-+-+++++-++-++-+-+--+++-++--++++-+++---++++----++-+-+---+--+-+--++-++--+--+--+++-++++--+------++-+-+++-++--+++-+-++-+++-++-+++-+-++--+++++-++--+++++--+-+++++--+++++++----++--+++---++--+++-+-+-+++--++-+--+-++-++--+-+-+--+-++--+---++--++----+---+-++-+++----++-+-----++-+-++-+++----+++++++-+--+--+----+-+--++++++++----+-----+-+--++--+-+-+-+--+++++++-+-++--++++---++--++-++---++++++-+--++++-++-+-++-+-+-++-+++---+-+--++--++++---+-++++-+++-++-+--+-+-++---++-+-+-+-++---+-+--+-+-+---+-+++-++--+---+-++++++--++--+-+---++---+-++----+++-----++----+--++-++--+-++-++++-++----+---++-+--+++--+-+--+-+---++-++--+-+------+--++-++--++--+++-+--++--+--++--+----++-++++++--++-+-++--+++-+++-++--+++---++++--+++--+---+------+---+----+++---++++--+-+--++-++-++-++++---++-+-----++----+++--++++-+-+++----------+--+-+-+--++----++----+--+-++++++--+++-+++-++--++-++--+-+-++++--+-+-++++-+-++--+------+---+++++-+--+++-+----++++++-++++++--++++++---+-+----++++--++--++++--++--+--++-++-++---+-+-++---+---+--++-+-+++++--+-+-----+--+----+---+-+++-+--+++-------+++-++-++-++++++-+-+++-++-+--+-+-++++----++---++-+-+-----+--+-++--++-++++-+++--++--+-++--+-+-++---+-+-+----+---+++++---------+--++--+-++-+++++---+----+--+-----++++-+-+++--+-++--++-+---+--+-+-+-+++-+-+++-+----+++++++--++--+---++-----+-++-++---++--+-+---+----------++--++++---+--+--+--++-++-++---++-+-++-++-+++-+++++--+++-++-++--++-----+++--+++-+-+++-+++---+---++--+-+-+---+++-+--+-+--+----+-----+++--+-++--++-+---+-++++--+----++++++-----++-+-+++++-----------+-+-++++++-+-++++----+-++-+----+-+-+++----+---++--++++---+--+--+---++-++++-+++--+++--++--++--++-+-+---++++-++-+-+-+-+--+++++-++++-+++++--+++---+-++++-+-+---+++--+-+-++--+--+---+++-+--++-+---+-++++----+-++-+++--+-+++------+---++-+++++--+++-++++-+--+-+++-+++--++---+--+++++++-+-+-+++--+++-+-----++++--+-+-+-++++----+-+-------++--+------+-+-++-++--+++-++---++-+----+-----++++---+-+--++-++--+++-++++-++---+-++--++-+-+-++---++-+-+--+--+-++++++-++-++-+--+-+-+---++++++++-+----+---+-++--+----+++---++---+--++++++--++-++--+++--+++--++--+-+-++-++--+-+-+++----+++-+-+-----+-+++-++++-+--+--++----++++++-+---+++--------+++--+--+++-++++--+++---------+++-++++--++---++++--+--+--+-+++-++---+--------+++++-++++---+-++++++++--+-----+--++--+--+----+++-++--+-++-++++++-++--+-+--+-----++-+--+++---+-+++--+----++-++-+++--+-+-+-++++-+-+++++++--+++-+-+++++-++----++++---+++--+++++-+++--+++-+--+++-++-+--+----+++-+-++-------+++--------++-++-+---++++--+--++++-++--+---++--+++++---+--++----+-++-+-+-+-+++---++-+++---+-++----+-+-+++---+--+++++--+-+-+-++-++--+-+-++++-++++----+++-+---+--+----+-+++-++++-++---++--+---+-++-+---+++---++-++-+++--++--++-+++-++---------++++--+---++---+++---+-++-+++++---+-+--+++-+-+-+--+++----+-+++++-+-++----+----+-+++-+++++++---+-++++--+-++-+-+++-+++--+++-+--+----+----+-----++----+++--+--++++++--++--++-+++-+--+++-+-++-+-+---+-+--++++--+--+-+---+-++--+-++--+---+++++--+-++++++-+++-++----------+++-++++-+++--+-++-+--+----+--+----++-+++--+-++--++-+-+--+++--+--++++------++++-+----+-+++-+++++----+--+-----+-++-+---++++-+-+--++--++--+--+---+--+---++++-+-+-----++-++++-+++--+--+----+++--+----++++---++--+-++-------++-++-++-+-+-++-------++++++++++++--+-+-++++-++-+--+-+++--+---++-++++-+-+++--+-+++++--++--+---+-+--+-++--+-----+++--+++++----+-+--------+-++++-----+-+-++-++--+--+--+++-+-+-++++-+--+-+-++-+++++-+---+--+---+++++++-++----+++-------+----+---+++-++-------+--+----++-+-+--++----+--+-++-+--+-----+++-+-+-+--+--+-+----++-+------+-+-++++-++-+-+-++-+++--+--++++-++---+-+-++-+---+-++-+++-+-+-+++---++---++-++-+--++---+--++-++-++------++-----+++-++++-+-+++-+++++-+--++++-+++--+---+-+++++---+-++++--++-+-+-+-++----+++--++-++---+-+-+++--++-+--+---+-+-+---+-++-+--++-+-+----++-+-++++++-+---+---++++-+---+-+----+-+++-+--++--+-+-+--+--++------+---+-+-+++++-+-----+--------+-++--++++---++--+--+-------+----++++--++-++++++-++-++-+--++-++-+-+-+++-++---++-++-------++-+-+-+------++--+-+++--++-++++++-+---+--+-+-++--+------+-+++--+-++---+-+++-++-+--+++++---++++-++--+-++--+-+--+-+-+-----+-+-+-+--++--+-+----++---------+-++-++-+---++--++-+--+--+-----++++++-+--+-+-+++--------+--+--+++-----+-++---++-+--+--++-++++--+-++-+---------++-++---+---++----+----+--+++++-+++-++----++-++------+++++---+-+--+++-++--+---+-++-+----+--++++++------+-++-+----+--+---+++----++-++-+-+--+-----+-+-++---+----++++-+-+-++-++-+-+-+++-+++-++--+++----+++-+-++-+---+++----++++-----+++--++++-+--+++--+--+++-+-++-+-++---++++--+++-++++++--++--++-+-+--+++++++---+++---++-+-+++-++--++---++-----+-++-++++---++-+-+++-+---+--++--++-+-++-++---+++-+-----+-+++---++---++-----++--++-+++--++--+---+--++-++---++-+++---+-+-++--++--++-+++-++-++---+---++++---+++++--++++-+---++-+-+---++-++---+--+-++--+++++--+-+--+++++--+++-++++--+++--++-++--+---+++-+-+---+-+--++-+++++---++-+---+-+-+--++--+++-+++--+--++++-++-++-+--+++--++++--+-----+----+-+-+++-+++-+++-++-+------+--++-+--++-+-+------++--+--+-+-+++-++---+-+++++++++--+++++-+------++-++++---+-+++-+-+-+---------+-+++-++-++-+++++-+++-++-+++--++-+-+++--+---+++-+-+-++++-+--+-+++---++--+-+-+--++-+-++++---+-+-++-+++-+-----+++-+---++++++-++---+-+--++-++---+-+--++-+++-+++-+-+++++---------+--++++--++----+-++----+--+++++-++++-+++--+-++++--+-+-++---+-+++-+-+-----+-+-++----+---+-+-----++--+--++++-+-++--++-+-+-+--+---++--+-+-+-+---++-+-+----+-++-+++--+------+-+----+-+++----+++-+-++-++-++++--+--++-+-++--+++---++++-+++-----+--+++---+-----+---+-+++--+++-+---+-++-+---+------+-+-++++--+--+--++++----+--++++-+-+++----+------+-++-+-+---++++++-------+-++-+++++++-+--+-++++--+-+--+-+-+--+---++-+---+++----+-----+-++---+--++++-+---+-++-+-------+-++-+--+++-++++----++---+--++--+-+++++++-+-+++++++-----+++--++++--+-+-++++----++++++---++++------+-+++----+---+--++-+-+-+--+--+-+-+-+++-+-------++--++--+-+++++-+-+-+--+-++-+++--+--+------+++---+-+++-+-+++--++-++++++++++-++-+-+-+-+---+++----+++---+----+++-+----+----++-++---+--++-+-+-+--+-++------++------+-+-++-+--+-+---+--+-+++-++++++-+-++-+--+++-++-+-+------+++++++-+-+++--+++++----+-++-++--+++---++++-++++-+--+-+---+++-+++-++-+++----++++-++++-++---++++-+---+++++++-+-+++-+-+--++-+----+--++++-----+-++----+---++++++--+----++-+++++--+---+----+++-+++--++----+++---------+--+-+----++--------+--+-++-++----+-------+--+-++-+--+---++-++-+--+--+--+---+-++--+++++-+-----+-----+--+--+---++---+-+++-++-------++-+-+-++-+-++-++-+-++--+--+--++-++--+-++++++----+-----+-+-+++-+++-+--+-+-+--+-++++++++--++-+++-+++++-+++-++---+++--++-++++-++---++--++++--+-+-+-+-+--++--+++++-+--+++-++---+++--++-----+++-+-----+-++++++++--+---+-++---+-++++++-+++--+-+--+++++-+-++-+-+++--+++---+-++++++-------++++---+---+++----++-+-+++++++-+++-++--+-+------++++-+---++-+++--+++++-+-++-++--+++++++++++----+++---+-+-++++---+++-++---+----+++--++--++------+---++-+++++++++-+++-+-+--++--++-+++-+-++++---+-+-++++--+++++-++-------++++++++-++++-++---+---+-+-++-+---+++-++---+-+--+--+--++++--++-++-+---+--++--++++++-+-+++++----+-++-+-+++-++---++++++---++++++-+-+-+++--++++--+++--++-+----++-++-+-+---+-++-+-++---+-+-----+-++--+----+-+--+-+-++---+--+--+++-++++++++++++--+-+--+-+-++-+-++-+-+--+-+-+--+-++++++--++++-++++--+----+-++---++++--+++--+----+------+++--++-+---+-+--+-++-++-++-+++---+++-+--+-+-++---+---+-+++---++---+-+--+--+-++-+------++++++--+--+--+++++-+-+--+--+---+-+++-++---+-+-+-++-+--++-+-+----+++++--+-++++---+-++-+----+----++-+--+++---+--++----+-+------+--++-+-----++++----+--++------+---++-++-+++--+-+++-++++++++-++--+-+++--++++---+++++---+-+---+--+-+--+-++--+----++++++-+-++---++------++---+--+-+-+-+--++++++-+-++-++-----+----+--++-+-+++---+-+-+--+--+-++-+-++------+++++++--++-+--++----+-+-------++-+-+---++-+++--+++--+++-++-+----++++++-+-+-+-+-+--++--++--+--+-+-+--+-++-+----+-+--+++-+++++++-+--+++--+--+-+-+--+++-+--+++---++-+-+++-+++--++---++-+---+----++--+----+--+-+-++--++++++-++-+++-++-++-++----+++++--++---+--++-+-++--++--+---++----++--+---++--+++++--+--+-----+-+-++-++-+-++-+-+-+-++-+-++++--++---++-+--+++-+--+-+-+----++-+-+--++-+---+-++++---+-+-++------+---+--++-+++----+--++----+--+-++++-+++-+-+-+-+++++-+++++--++---+--+++++-++++------+++-++---++--+-+--++--+++++++++-+++--+-+-+++---+-+--+++-+-+--+++--+-+++-++++++-++++---++----+++++----+-+-+-+++---+--++-----++-+--+---+++---+++++--+-++-++-+----+++++-+--++---++-+--+---+++-++---+--++---+--+++-++--++-+--++++--+---+--+--++--+++-++++-+++-+--++-+-++--++++++--+-+-+----+++++-+-+++-+---++++++----++--+++----+-+--+--+-+----+----++-+-+---+-+++-+--+--+--+-------++++--+-++-------+---++-++--+---+++-+---+-++-++---+++-+-++--+--+-+++++---++---+---++---++-++++-+-+-+--+-+-++---+-+----+++---+-++++---+-+++++++-+-++-+------+++--+--+++---+----+++++++++---+++-+---+-+--++-+-+++---++-++-+++-+-++--++--+----+++-+++++--+++---++-++++-+-----+-+++-+--++++--+++-+-+-++-++--++--+++--+++--+-+-+++-+-+--+--++++---+----+--++-+-++--+-+++++---+-++++-+++---+--+++----+++--+---+++-++--+--++-+-------+++++-+---+-+-+++-++---+---+--++-+-++++--+-+++---+--+-++-+----+-+++--+----++-+-----+-++-++-++++---+-++++--+--+--+--++++--++-----++--++-+-++--+-++---+++-----+------+----++-+---++-+-+--++-+-++-+----+---+--+---+++-----++++-+++++++-+++-+++++++--++-+++----+++-+-+++--+++-+++-+-+---+-+--++-+-+++-+-+-+-+-+--+-+++-+++++--++--+-+----+-+----+---+-+-+--+++++--++-++-++-++-+--++-+---+----++-++++--++++-++-+-+--++-+-++-+-+++---+---+++-++-+--++++++--++++--+-+--++----++--++++-+--+-+++-+---+---+--++--+----+++++-+-+++++++-++-+---+-+-++++---++--+-+-+-+--++--++--+++---+--+++----+++--+-+-++----+++--++-++--+-+++--+-+--++++++--++-++-+-+++-+-++-+-----++-+-+++--+++++---+--++++-++----+-+-+-+---+-----++++---+++-++-++--+----+-++--+++------++++++----++-++--+-+---++-++-++++-+-++-+++--++-++-++-+-+-+---+-+-+++--+++++-+----+++-+---++--+---+--++++-+++++++---+++++----+-++++++-+---+-+++-+-+-+--+--+--+++--++--++-+++--++------+---+-+--++++++--+++-+-++--+--+++++------++++-++++++-+-++---+++-++-++-++---+---+++-+--+-++--++----+---+---+---++++--++--+---+----+-++++++++++---++----++-++--+----++++-+-+-++++---+----+++++++-++++--++-+-+-+++++-++-+-++++--+++---+-++++++---++-+---+-+-+++-+--+-++-+-+-----+++-+++-+-+----+-+-+--++--+--++-----++-+-++-+-+-+++++-+----+-++-++-+++-+-++-+---++-+++++++-+++--+-+-+++-+-----++++---++++-+-++--+--++++-+++++-+-++-+++--++-+--+---+-+--+++--++--+-+-+--++----+-+++++++--+-----++--++-+--+--+---+++--+---+--+-+---++----+-----+-+--+++++-+-++++++-+--+-++++-+--++---+--++--+++-+++++-+--------++-+--+-++---++--+-+--++-++-++--++-++++--+----++++-+++--++--+++--+++--+++-++---+++-+-+++-+-+-++---+--+++++++++-+---+++----++++++++---+++------+--++------++--++--+--++++-++-+--++-++-+--++-+--+-++--++-+-+++-++++-++-+-+---+--+-+---+-+---+---+++-++++--+-+---------+--+-++----+++-----+-+++-++--+-++----+--+-+-+++++++++--+-++-+-+--+---+-+++-+-+-+-+++-+--+----+---++--+++++-+-+++----++--+--+++++--+--+++---+++-++--++-+-+-+-++-+++++---+-+-+--+--++-+-----++++---+-+----+----+---+-+++--+++-----+-++++--+--++--++--++-+-+--+-+--+++-+++-++----++-----+---++--+-++---++-+--+--+-++-++-++--+---+-++-+-+-++-+-+---+-+-----+++++-++++-+--+-+------+-++++++------+++++++--++-++-+++---++----+--++++-+--+-+--++---+--++++-+-++--+-+++++-++-+-++-+-++---+--+++----+-++++--+---+++------++-+--+--+---+-++--++-+-++-++-+-+-+-----+-++++-++----+-+---++----+---+-+++++-+-------+--+-----+-++-+-++---++++++++-+-------+-++++-+++-++---+++++++-++-++----+----+-+++-+-+-+-+-+-++++-+--+--+--++----++---+-+---+++-+----+-++-++++++-++-+-+--+-+---+--+-++-+-+-+-+-+-++++---+-++-+++--++-+----++-+---+-+--++-+++-----+--+--+++-+--+--+--+++---++-+++-+++--++++---+--+----+---++--+++-+--+++-++-++++-++-+-+---+++---++-+--+++-+-+-++---+-+++++--+----+--+++-++-+++-++-+++--++-+++-+++++--+----+++++---++------++---+--+-++-+++--++-+++--++--+++++--+-+-+---+--++-+-+--+-++---++-++++-+----+-+-++++--+--++-+-++-+-+-++++++++-+-+++-+--++++++--++-+-+-+++---++---+-++--+-+-+--++--+---+++++--+-+-+-+++-+--+----+-++---+++-++++-+-+---++-+-+--++------++++----++-----+----+-+-++++-++++-+++++-+--+------+-+---++-++++---+++++-++++++-+-++++-+-++--++-++---+++---++-+----++---+---++------+++++-+-----+-+--+--+---+--++---++--++-++++-+-+--+-+---+--++++----+-+++--++-+--++-++-++-+---+-++--+++++----+--+---+-+-----++--+---+++++++++-+--+-+++--+----+-++-++-+-+-++++-++-+++-++-+--+++--+-+++++++-+------+---+-++++--++++-+----+-++-++++-+------++-+-++-------+-+--+-+----+++++--+--++-++++++-++-+--+-+++---++-++-+-+-+-+-+---+--+++---+-+++-+-+-++++----++---+---+--++---++++-+--+--+-+-++------+--++-+++---+-+++++-+--+-++-++++++---+++-+-+++---+-+-+---+-+-+-++-++------++++-+--+-++-+++++-+++----++-+++-+----+++-++---+++----++----++++-+-+-+-+++-+++-+-++-+-+--+-++-++++-+-+-+-++--++-----+--++-+-----+-+++---++-++++++++-++-+-++-++----++-+++++---++--+----+-+-+--+--++++++-----++++--+-+-++++--+--++-+++-++--+++--++-+---++--++--++---+-----+-++-+-----+--+-+--+++++--+----+-++--+++-+--++-++--++--+--++-+--++-+++-++-+-+++++--------++-+---+++---++----+++-++++++---+-+++++-++-++-++-+++-+++--++-+--+++-+----++++--+-+--++-+-++--+-+---+--+-+-+-+-+++-+-++-+-+---------+-++--+-++----+++++++-+--+-----+-----+++-++++---+++++-++-++-+-++-+--++++---+--+-+++-+-+++++-+-++-+++-----++-++-+-++++++----++--+++--+--++-+++--+++-+-++---++-+-+--++------++-+-+---+--+--++--+++++-++++++--++----++-+--++++---+++++---++++--++---+-+-+-+-++++--+-++--+-+--+-+--++--++-+-+-++++-+++++-+-+-+++++++++-+-+++---++----++-+++++---+++++--+++-+++--+-++---+-+-+--++-+-++---+---+-+++--+------+--++---++-++--+-+-+-+++--+--+--+-+++++--+-++-+-+++--++-+--+--++---+++-++-+----++-+++-+-++++++-+++++-+-+++-++-----++--++++---+-+-+---+-+-------+---+----++-+----++-+-------+++-++--+-+++-----+----+-+--+-+-+--++++-+--+--+------+----++------+++-++++-+++------+-++--++-++-+-++---+--+++++++--+-+-+++-+-++-+-++-++-+---++--+-+-+-+-+++----+-+---++++++--++-+----+---+--+-++++-+++---++-+-----+++++++++-+-----++++++--++---+-+---+++-+-++-++---++--+-+++++------++-+-----++-+-+--++---+-++-++---+-+--+---+-+++++-+--++-++-----+---------+--+++-+------++++++--+-++++++++-+-++-+++++++----+---+-+++--++++++---+++-+--+--++-++---++-+--+++--+-+-+-++-++--++--+-+-+++-+-+-+++++-+++-+--+++-++++-+--+-++---++--+++++-++----+----++--+--+--++-++++-+++-+-+-++--+++--------+++---+-++----+-+--++--+-++-++--++-+---++-++---+--+--++--+-+-+++--+--+-+++-+----++-++--++-+++-+-----+-+---+--+-++++-+++-+-+++-++-+-+-++-+-----+++-+-+--++----+++-+--+-------+-+---+-+++-++---++-+++-++---+-++-++--++--+++++++----+-+--+-+-+--+--++-+-++++-+-++-+------+-----+--+-----+++--++++-++--+-++-+--+-+--+--+-----++--++++++------+++-++++-++-++-+--++-+++-+--+-+-+---+-+++++---++-+---+-------+-++++++---+-----+-+++++++++++++---+++-+--+--+----+++---+-+++--+---+--+----++-++-+--++-++------+----++-++-----+++-+-+++-++--+-+-++--+++-+-+---++--++++++--+----++-+-+++++-++---+-+-+---+-++-++-+++++---+-+-++--+-----++---+-++++---++--+++--+-++++-+-+-+-+++------++--+++++----+----+-+++-++-+-+-+--++--++++-+--+---+----+-+----+-++-+++----+----+++++-+------+++--++--+--------++--------+-+-+---++-+--+--++++--++++++++-+--+--++++--++---++--+++-+---+---++-+--++-+--+--++-++--++-+++-+++-----++------++-+-++------+-+++-++-++-++--+-+----+----------++----++--+---++++-++--+--++-+++-++-+---++-++++-++--+-++---+++-+--+--+-+--+----++-+---++---++----+-++--+-++-+-+----+------++-+++++--+-+--+-++--+---+--+--+-+-+-++-+--+---+-++--+-+-++-+-+++++++-+--+++-+---+-+---++++++---+++-+-+---+--+----+--++-+-+--++-+---++-+-++--+--+-+++-+-+-++--++--+++--++++----+-+++---+++-++--+-++++++++-++-++-+--+---++-----+----+-+-+++--++--+-+--++++-+--+--+--++--+-+++-++-----++--++---+--+-+++--+++-+-++-+++-++---+-+-++++-----+++++----+-+++--+++--+++--+++-+-++--+-++-+++-+++--+-+-+-+++-+---+-+-+--+++-+---+--+--+-+-++++-++--++-+-+-+-+++-+++++-++---+--++++----++---++++--+-+++---++-+-+--++-+-+--+++-++--+-++-+++++++-+++-++-++---++++++-+++---+++-++--+---+++++++-+----++-+--++-+-+++--+-+-+-+++--+---+--+---+-+--++-+-+----++-++++-++-+----+-++---++--+------++++++-+--+--+++-+-+-++-+-++-+++----+-+--+---+--+-++++--++++----++--+---++-+--++-++--+-+-------+++-++-+-+++---+-+--+++-++-+++-+-+++-+--+-++-+--+++---+-+++--+++-----+-+++-++-+-+----+-+++-+++-+-+----++-+-+++++-++-++----+++-+++++++--++--+++-+++-------+-++++---+++++-++++++--------+-++-+-++-+++---+---++-++--++-+-+-++++-+++----++-+++-+++-+-++++-+-++++--+--+-+-+-+--++++-+---+--+-+-++--+-++-+--+++---++-++--+-+++++-+++++++-+-+-++++--+++-+-----++-----+++--+++-+--+-++++-+-++----++-+-+-----+-++--+-+-+-+++++++----++--+--++---++++-+----++++++++-+--+--++++-+-+-+++--+-+++--+-+++-+--+++--+++-+-----+-+----+---+-++---+--++++--+--++++-++--+----++-++-+++-+--+--+++--+++-+--+-+-+++-+----++--+-+---+++-+++--++++--+-++-+-+-----+----+-+-++++---+-+++++++++-++------+++--++++++-++++-+-+-+++-+--+--++-+-+-+-+++---+-++++-+++-++-+-++--++--+++-+++++--+-+-+---+-+++-+++-+---+--+++--++--++--+---+-+++-++-++--+++-++-++---+-+++--+++-+++--+---+-+-+++++-+--++++---+++--+++++--++++---+-+-+-+-+++++-++--------+++-+------+----+++-+--++-++-++--+-+++-++-++-++--+-++---+-+++++---++++---++--+---++++----+-+-++-+++-----+-+-++-+----------+--+++------+----++----+--+--++--+++-++-+-+--+--+--+-+--+---++-+-+-+--++-------+----++-++++--+-+-----++--+----+-+++--+++---++--+--++++++--+---++----++----++-++-+-+-++--++-+-++-++-+--+-----+++-+--++-+--+--++----+-+-++-+-+-++++--+-++-++------+-+---++++-+-----++---++-++---++--+---++--------++---++-++-+++-+++++++-++--++-+--+--+---+-+--+++--+++++--++++-++--++-+++--+-+-++-----+----+---+--++---+----+---+-++--+-++++-----+-+----+++-+++-+-+--+-+-----++--++-+-+-+-+-+-+-----++--+--++++--+--++--++--++++-+-+--++----+---+------+---+-++--+++++-++++-++------+-++-+---+-+---++-+-+----+--+----++++-+++-----+++-+-++++-++--+----++-+++++++-+-++++---++--+-++--+-+++-+---+-++++--+-+++++-++-++++-+-+--+-++---+---+++--+++-+++--+++-+++-+--+-+-+++-+++----+++---++++--++++++-+-+-+-+-----+-++--+++-++++-----+-+++--+---+---+---++--++++++++--++++-++-+--++-++--++----+-+++-+-+-++++--+-+----+-+-++-+---+-----+-+-+++---+-++++-+-+-++--+--++--+-+-+--+-+-+-++-++++++++--+++----+-++-++-++---+++---+-++-+++++++-+-+++-+-+-+++-+++++++-+-+-+-+----++--+-++++---+++---++--+++-++--++-+---+-++-+++++++---+++-+++++--++++--++-+++---+++++--+-+-+-+-+-+-++-++---++---++-++--+----+-++-+-+-+-----+--+-+++--++-++----+-+++++--+---+-++++-+++-+-++-+++++-+-++--+-----++++----+----+-+++--+++-----++---+-++-+-+++++++--+-+-++-+-+-++++++--+-+-+---++-+----+-++--+++---+++++-+--+++-+----++------++----+++-+--+-+--+-++---+-++-+++++++----++--+--++---+----++-----++++--+++-----+++-+--+-+++++-++++++++-------+++-+-----+++--+--+++------++-+-++-++-++---+-++-+-+--+----++-+++-+-+++++++---+-++-++++-+++-+-++--+-+++---+-+-+--+-+-++-++--+-+--+---+--+++---+-++++-+++---+-++--+---++------+-+---++--+--------+++-------+--++-+++-+-++--+---+++-++-++------+-+-----++-+++++-+---+-----+--++--+--+--+++--++--+--------+---+++-++--++++++--+-++-++++++++-+-+------+++-----+-+-+-+---++++-+-+-++-+--++-++++--+++++++--+----+-+-++++--+++--++---+++--++-+--+--+++--+-----+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--+++--++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-----++++++-+--++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++---++++++-+--++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++++++-+--