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