Please solve the programming task below using a self-contained code snippet in a markdown code block.

You are given a 0-indexed integer array books of length n where books[i] denotes the number of books on the ith shelf of a bookshelf.
You are going to take books from a contiguous section of the bookshelf spanning from l to r where 0 <= l <= r < n. For each index i in the range l <= i < r, you must take strictly fewer books from shelf i than shelf i + 1.
Return the maximum number of books you can take from the bookshelf.
 
Please complete the following python code precisely:
```python
class Solution:
    def maximumBooks(self, books: List[int]) -> int:
```