-++--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++-++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++--++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++----+----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+----+----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++----+----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-++++-++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-++++-++++++------++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++------++++++++++++++++++++++++++++++++++---+-----------------------------++----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+----++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++-+++++++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++++++++------++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++------++++++++++++++++++++++++++++++++++---+-----------------------------++---+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-----+++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-+++--++++++------++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+--------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-----------------+++++++++++++++++++++++++++++++++---+-----------------------------+----------------+++++++++++++++++++++++++++++++++---+-----------------------------+--+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--------+++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-----++++++++++++++++++++++++++++++++++---+-----------------------------+----++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+-------++++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------++++--++++++++++++++++++++++++++++++++++---+-----------------------------++---++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-+++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------+++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++++-------++++++++++++++++++++++++++++++++++---+-----------------------------+++-------++++++++++++++++++++++++++++++++++---+-----------------------------++-------++++++++++++++++++++++++++++++++++---+-----------------------------+--------+++++++++++++++++++++++++++++++++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------++++--++++++++++++++++++++++++++++++++++---+-----------------------------++---++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++++++++++++++-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++--++++++++++++++++++++++++++++++++++---+-----------------------------++-++----------+++++++++++++++++++++++++---+++---+-----------------------------+--+----------+++++++++++++++++++++++++---+++---+-----------------------------+++----------+++++++++++++++++++++++++---+++---+-----------------------------++----------+++++++++++++++++++++++++---+++---+-----------------------------+----------+++++++++++++++++++++++++---+++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------++++--++++++++++++++++++++++++++++++++++---+-----------------------------++---++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++++++++++++++++++++++---+++---+-----------------------------+-+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++---++++++++++++++++++++++++++++++++++---+-----------------------------++--+----------+++++++++++++++++++++++++---+++---+-----------------------------+--+----------+++++++++++++++++++++++++---+++---+-----------------------------+-+----------+++++++++++++++++++++++++---+++---+-----------------------------++----------+++++++++++++++++++++++++---+++---+-----------------------------+----------+++++++++++++++++++++++++---+++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+++---++++++++++++++++++++++++++++++++++---+-----------------------------++---++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++---+-----------------------------+--+++++++++++++++++++++++++---+++---+-----------------------------+-+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++--+----------+++++++++++++++++++++++++---+++---+-----------------------------+--+----------+++++++++++++++++++++++++---+++---+-----------------------------+-+----------+++++++++++++++++++++++++---+++---+-----------------------------++----------+++++++++++++++++++++++++---+++---+-----------------------------+----------+++++++++++++++++++++++++---+++---+-----------------------------+------++++++++++++++++++++++++++++++++++---+-----------------------------+-+---++++++++++++++++++++++++++++++++++---+-----------------------------++---++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+-+++++++++++++++++++++++++++++++++++--+-----------------------------++++++++++++++++++++++++++++++++++++--+-----------------------------+--+++++++++++++++++++++++++---+++---+-----------------------------+-+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++--+----------+++++++++++++++++++++++++---+++---+-----------------------------+++----------+++++++++++++++++++++++++---+++---+-----------------------------++----------+++++++++++++++++++++++++---+++---+-----------------------------+----------+++++++++++++++++++++++++---+++---+-----------------------------+------++++++++++++++++++++++++++++++++++++-+++++-------------------------++++--++++++++++++++++++++++++++++++++++++++++++-------------------------++---++++++++++++++++++++++++++++++++++++-+++++-------------------------+---++++++++++++++++++++++++++++++++++++-+++++-------------------------+--++++++++++++++++++++++++++++++++++++-+++++-------------------------++++++++++++++++++++++++++++++++++++++++++++-------------------------+++++++++++++++++++++++++++++++++++++++++++-------------------------+--+++++++++++++++++++++++++---+++---+-----------------------------+-+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++++-------++++++++++++++++++++++++++++++++++---+-----------------------------++--------+-++++++++++++++++++++++++++--+++---+-----------------------------+----------+++++++++++++++++++++++++---+++---+-----------------------------+---+--++++++++++++++++++++++++++++++++++++++++++-------------------------++++--++++++++++++++++++++++++++++++++++++++++++-------------------------+++--++++++++++++++++++++++++++++++++++++++++++-------------------------++--++++++++++++++++++++++++++++++++++++++++++-------------------------+--++++++++++++++++++++++++++++++++++++++++++-------------------------++++++++++++++++++++++++++++++++++++++++++++-------------------------+++++++++++++++++++++++++++++++++++++++++++-------------------------++-++++++++++++++++++++++++++--+++---+-----------------------------+-++++++++++++++++++++++++++--+++---+-----------------------------+++++++++++++++++++++++++++--+++---+-----------------------------+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++----------+++++++++++++++++++++++++---+++---+-----------------------------+----------+-+++++++++++++++++++++++---+++---+-----------------------------+-+++--++++++++++++++++++++++++++++++++++++++++++-------------------------++++--++++++++++++++++++++++++++++++++++++++++++-------------------------+++--++++++++++++++++++++++++++++++++++++++++++-------------------------++--++++++++++++++++++++++++++++++++++++++++++-------------------------+--++++++++++++++++++++++++++++++++++++++++++-------------------------++++++++++++++++++++++++++++++++++++++++++++-------------------------+++++++++++++++++++++++++++++++++++++++++++-------------------------++-+++++++++++++++++++++++++---+++---+-----------------------------+-+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++++---+++---+-----------------------------+-+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-------------++++++++++++++++++++++---+++---+-----------------------------+-+++--++++++++++++++++++++++++++++++++++++++++++-------------------------++++--++++++++++++++++++++++++++++++++++++++++++-------------------------+++--++++++++++++++++++++++++++++++++++++++++++-------------------------++--++++++++++++++++++++++++++++++++++++++++++-------------------------+--++++++++++++++++++++++++++++++++++++++++++-------------------------++++++++++++++++++++++++++++++++++++++++++++-------------------------+++++++++++++++++++++++++++++++++++++++++++-------------------------++-++++++++++++++++++++++++++--+++---+-----------------------------+-++++++++++++++++++++++++++--+++---+-----------------------------+++++++++++++++++++++++++++--+++---+-----------------------------+--++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++++++-++++++++++++++++++++++++++++++++++++++++++++------------------------++++-++++++++++++++++++++++++++++++++++++++++++++------------------------+++--+++++++++++++++++++++++++++++++++++++++++++------------------------++--+++++++++++++++++++++++++++++++++++++++++++------------------------+--+++++++++++++++++++++++++++++++++++++++++++------------------------+++++++++++++++++++++++++++++++++++++++++++++------------------------++++++++++++++++++++++++++++++++++++++++++++------------------------++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++---+-----------------------------++++++++++++++++++++++++++++++++---+-----------------------------+-+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--++++++------------------------+-++++++------------------------+++++++------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++--++++++++++++++++++++++++++++++++++++++++++-------------------------+++--++++++++++++++++++++++++++++++++++++++++++-------------------------++--++++++++++++++++++++++++++++++++++++++++++-------------------------+--++++++++++++++++++++++++++++++++++++++++++-------------------------+++++++++++++++++++++++++++++++++++++++++++++------------------------+++++++++++++++++++++++++++++++++++++++++++-------------------------+--++++-++++++--+++++++++--+---+++---+-----------------------------+-++++-++++++--+++++++++--+---+++---+-----------------------------+++++-++++++--+++++++++--+---+++---+-----------------------------+----++++++--+++++++++--+---+++---+-----------------------------++--++++++--+++++++++--+---+++---+-----------------------------+--++++++--+++++++++--+---+++---+-----------------------------+-++++++--+++++++++--+---+++---+-----------------------------+++++++--+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++---++++++++++++++++++++++++++++++++++---+-----------------------------+---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++------------------------+++++++++++++++++++++++++++++++++++++++++++-------------------------+--+++--+++++---+++++++++--+---+++---+-----------------------------+-+++--+++++---+++++++++--+---+++---+-----------------------------++++--+++++---+++++++++--+---+++---+-----------------------------+----+++++---+++++++++--+---+++---+-----------------------------++--+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------++++++---+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++---------------------------+-+++---------------------------++++---------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++---++++++++++++++++++++++++++++++++++---+-----------------------------+--++++++++++++++++++++++++++++++++++++-+++++-------------------------++++++++++++++++++++++++++++++++++++++++++++++-----------------------+++++++++++++++++++++++++++++++++++++++++++++-----------------------+--+++--+++++---+++++++++--+---+++---+-----------------------------+-+++--+++++---+++++++++--+---+++---+-----------------------------++++--+++++---+++++++++--+---+++---+-----------------------------+----+++++---+++++++++--+---+++---+-----------------------------++--+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------++++++---+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++--++++++++++++++++++++++++++++++++++++++++++-------------------------+++++++++++++++++++++++++++++++++++++++++++++++----------------------++++++++++++++++++++++++++++++++++++++++++++++----------------------+--+----+++++---+++++++++--+---+++---+-----------------------------+-+----+++++---+++++++++--+---+++---+-----------------------------++----+++++---+++++++++--+---+++---+-----------------------------+----+++++---+++++++++--+---+++---+-----------------------------+---+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------++++++---+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+++++-------------------------+-+++++-------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++++++++++++++++++++++++++++++++++++++---------------------+++++++++++++++++++++++++++++++++++++++++++++++---------------------+--+----+++++---+++++++++--+---+++---+-----------------------------+-+----+++++---+++++++++--+---+++---+-----------------------------++----+++++---+++++++++--+---+++---+-----------------------------+----+++++---+++++++++--+---+++---+-----------------------------+---+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------++++++---+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--++++--------------------------+-++++--------------------------++++++-------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++++++++++++++++++++++++++--+-----------------------------+--------++++---+++++++++--+---+++---+-----------------------------+-------++++---+++++++++--+---+++---+-----------------------------+------++++---+++++++++--+---+++---+-----------------------------+-----++++---+++++++++--+---+++---+-----------------------------+---+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------++++++---+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++---------+++---+++++++++--+---+++---+-----------------------------+--------+++---+++++++++--+---+++---+-----------------------------+-------+++---+++++++++--+---+++---+-----------------------------+------+++---+++++++++--+---+++---+-----------------------------+---+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------++++++---+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+--+-----------------------------+-+-----------------------------++-----------------------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+----------------------+---------------------+--------------------+-------------------+------------------+-----------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-+++++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++++++++-+++---+-----------------------------+----+++++---+++++++++--+---+++---+-----------------------------++--+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-++++++--+++++++++--+---+++---+-----------------------------+++++++--+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------++-++++++++++---++---------------+-++++++++++---++---------------+++++++++++---++---------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+-+---++---------------++---++---------------+---++---------------+--++---------------+-++---------------+++---------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++++++++++++++++++-+++---+-----------------------------+-----++++---+++++++++--+---+++---+-----------------------------+---+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------+++++++--+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------++++++++++++++--++---------------+++++++++++++--++---------------++++++++++++--++---------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+-+---++---------------++---++---------------+---++---------------+--++---------------+-++---------------+++---------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-----++++---+++++++++--+---+++---+-----------------------------+---+++++---+++++++++--+---+++---+-----------------------------+--+++++---+++++++++--+---+++---+-----------------------------+-+++++---+++++++++--+---+++---+-----------------------------+++++++--+++++++++--+---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+++---+++++++++--+---+++---+-----------------------------++---+++++++++--+---+++---+-----------------------------+---+++++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---+-----------------------------+-+++---+-----------------------------++++---+-----------------------------+++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++-++---------------++++++++++++++-++---------------+++++++++++++-++---------------+-----------------------------+----------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+-+---++---------------++---++---------------+---++---------------+--++---------------+-++---------------+++---------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++---+++---+-----------------------------++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++---+++---+-----------------------------+++++---+++++++++--+---+++---+-----------------------------++++---+++++++++--+---+++---+-----------------------------+-+---++-++++++--+---+++---+-----------------------------++---++-++++++--+---+++---+-----------------------------+---++-++++++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------+--+++---++-----------++++++++++++++++++-+++---++-----------+++++++++++++++++++++---+++----------++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+-----------++++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--+++++---+++++++++--+---+++---+-----------------------------+-+++++++++++++++++--+---+++---+-----------------------------++++++++++++++++++--+---+++---+-----------------------------+++-----++-+--+++--+---+++---+-----------------------------++-----++-+--+++--+---+++---+-----------------------------+-----++-+--+++--+---+++---+-----------------------------+----++-+--+++--+---+++---+-----------------------------+---++-+--+++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------++-+++---+++----------++++++++++++++++++-+++---+++----------+++++++++++++++++++++---+++----------++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+-----------++++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++-+---+++---+-----------------------------+++++++++++++++++++-+---+++---+-----------------------------+++-----++-+--+++--+---+++---+-----------------------------++-----++-+--+++--+---+++---+-----------------------------+-----++-+--+++--+---+++---+-----------------------------+----++-+--+++--+---+++---+-----------------------------+---++-+--+++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------++-+++---+++----------++++++++++++++++++-+++---+++----------+++++++++++++++++++++---+++----------++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+-----------++++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+---+++---+-----------------------------+++-----++----+++--+---+++---+-----------------------------+------++----+++--+---+++---+-----------------------------+-----++----+++--+---+++---+-----------------------------+----++----+++--+---+++---+-----------------------------+---++----+++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------++++++---+++++--------++++++++++++++++++++++---+++++--------+++++++++++++++++++++---+++++--------++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+-----------++++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------++----+++--+---+++---+-----------------------------+------++----+++--+---+++---+-----------------------------+-----++----+++--+---+++---+-----------------------------+----++----+++--+---+++---+-----------------------------+---++----+++--+---+++---+-----------------------------+--+++++++++--+---+++---+-----------------------------+-+++++++++--+---+++---+-----------------------------++++++++++--+---+++---+-----------------------------++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+-+---+++---+-----------------------------++---+++---+-----------------------------+---+++---+-----------------------------++++++---+++++--------++++++++++++++++++++++---+++++--------+++++++++++++++++++++---+++++--------++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+-----------++++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------++----+++--+---+++---+-----------------------------+-----++----+++--+---+++---+-----------------------------+----++-+--+++--+---+++---+-----------------------------+---++-+--+++--+---+++---+-----------------------------+--+++++++++--+---+++---+----++++++++++++++++++++++++++++++++++++-++---+++---++---+++++++++++++++++++++++++++++++++++-++---+++---++---+++++++++++++++++++++++++++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+++---+++---++---+++++++++++++++++++++++++++---+++---+----++++++++++++++++++++++++++---+++---+-----------------------------++++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+---++++++++++++++++++++++++++--++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----++-+--+++--+---+++---+-----------------------------++---++-++-+++--+---+++---+-----------------------------+---++-++-+++--+---+++---+-----------------------------+--+++++++++--+---+++---++++++++++++++++++++++++++++++++++++++++++++---+++---++++++++++++++++++++++++++++++++++++++++-++---+++---++++++++++++++++++++++++++++++++----+++--+---+++---+-----------------------------+----+++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+++---+++---++++++++++++++++++++++++++++++++---+++---+++++++++++++++++++++++++++++++---+++---+-----------------------------++++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+++++++++--+---+++---+-----------------------------+---++-++++++--+---+++---+-----------------------------+--+++++++++-++---+++---++++++++++++++++++++++++++++++++++++++++++++---+++---++++++++++++++++++++++++++++++++++++++++-++---+++---++++++++++++++++++++++++++++++++-----++--+---+++---+-----------------------------+-----++--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+++---+++---++++++++++++++++++++++++++++++++---+++---+++++++++++++++++++++++++++++++---+++---+-----------------------------++++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---++-++-+++--+---+++---+-----------------------------+-++++++++++-++---+++---++++++++++++++++++++++++++++++++++++++++++++---+++---++++++++++++++++++++++++++++++++++++++++-++---+++---++++++++++++++++++++++++++++++++------+--+---+++---+-----------------------------+------+--+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+-+--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+++---+++---++++++++++++++++++++++++++++++++---+++---+++++++++++++++++++++++++++++++---+++---+-----------------------------++++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++---+++---++++++++++++++++++++++++++++++++++++++++++++---+++---++++++++++++++++++++++++++++++++++++++++-++---+++---++++++++++++++++++++++++++++++++---------+---+++---+-----------------------------+---------+---+++---+-----------------------------+++++++--+---+++---+-----------------------------+--+++--+---+++---+-----------------------------+-+++--+---+++---+-----------------------------++++--+---+++---+-----------------------------+----+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------+++---+++---++++++++++++++++++++++++++++++++---+++---+++++++++++++++++++++++++++++++---+++---+-----------------------------++++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--++++---++++++++++++++++++++++++++++++++++++++++-++---+++---+++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------++++-----------------------------------------------+----------------------------------------------+---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------++---+++---++++++++++++++++++++++++++++++++---+++---+++++++++++++++++++++++++++++++----------------------------------------+++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++---+++---+----++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------+--+-----------------------------------------------+----------------------------------------------+---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------++---+++---++---+++++++++++++++++++++++++++---+++---+----++++++++++++++++++++++++++----------------------------------------+++++---+++++++++++++++++++++++++++++++++++---++++++++++++++++++++++++++++++++++---+++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------++++++++++++++++++++++++++--++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------++-+++++--+++++++++++++++++++++++++++++++++---+++---+----++++++++++++++++++++++++++----------------------------------------+++++--++++++++++++++++++++++++++++++++++++--+++++++++++++++++++++++++++++++++++--++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------+++++++++++++++++++++++++++-++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------+++---+-----------------------------+++++++-++++++++++++++++++++++++++++++++++++++++++-++++-++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--+---+++---+-----------------------------++--+---+++---+-----------------------------+--+---+++---+-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+++---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------+---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++------------------------------------------------+---+--------------------------------------+---+------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--+++++++++++++++++++++++++++++++++++++++++------------------------------------------------+------------------------------------------+----------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--+---+++---+-----------------------------+--+---+++---+-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--+---+------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------+--------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+++---+-----+++++++++++++++++++++++++----------------------------------------+++++--++++++++++++++++++++++++++++++++++++--+++++++++++++++++++++++++++++++++++--++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------+++++++++++++++++++++++++--++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+---+-----------------------------++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++---+++----------+++++++++++++++++++++---++++---------++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------++++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---++++---------++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------+++++++++++++++++----------++++++++++++++++++---------++++++++++++++++++--------++++++++++++++++++-------++++++++++++++++++------++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------+++++++++++++++----------+--+++++++++++++++---------++++++++++++++++++--------++++++++++++++++++------+++++++++++++++++++-----+++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--+++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+-----------------------------+---+-----------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++---++---------------++++++++++++--++---------------+----------------------------------------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+-+---++---------------++---++---------------+---++---------------+--++---------------+-++---------------+++---------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++--++---------------+----------------------------------------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+-+---++---------------++---++---------------+---++---------------+--++---------------+-++---------------++++--------------+----------------+---------------+--------------+-------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++----------------------------------------------------------+---------------------------+--------------------------+-------------------------+------------------------+-----------------------+-+---++---------------++---++---------------+---++---------------+--++---------------+-++---------------++++-+------------+----------------+---------------+-+------------++------------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++--++++++++++++++++++++++--++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---++++++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----+++++++++++++++++++++---+++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----+++++++++++++---+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----++++++++++++++++++++----++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----++++++++++++---+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------+++++++++---+---+++++++++++++++++++++++++++++++++++++++---+++++++++---+++++++++--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------+++++++++-------++++++++++++++++++++++++++++++++++++++----+++++++++---+++++++++--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---++---------------+--+++++++----------+-+++++++----------++++++++----------+----------------+---------------+++++----------++++----------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++---++---------------+--++-++++----------+-+++++++----------++++++++----------+----------------+---------------+++++----------++++----------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++-++++++++----------+++++++++----------++++++++----------+----------------+---------------+++++----------++++----------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++++---------++++++++----------+----------------+---------------+++++----------++++----------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-+++++++++----------+----------------+---------------+-++-----------+++-----------+------------+-----------+----------+---------+--------+-------+------+-----+----+---+--+-++----------------+---------------+--------------++------------+------------+-----------+----------+-+-------++-------+-------+------+-----+----+---+--+-++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---+++++++++--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------+------------+-----------+----------++++------+++------+-------+------+-----+----+---+--+-++------------+-----------+----------+++++-----++++-----+-------+------+-----+----+---+--+-++---+++++++++--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++--++++++-++++++++++++++++++++++++++++++++++++++++++++++---+++++--++++++++++++++++++++++++++++------+-------+------+-----+----+---+--+-++-------+------+-----++---+---+--+-++-++++++++++++++++++++++++++++++++++++++++++++++++++--++--+--+-++---+--+-++--+-++++++