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