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