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