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