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