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