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