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