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