.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-.+-