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