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