21.1.13 ** There are $n$ parking spaces along a road, and $n$ drivers each driving a car. Each driver parks their car in front of their favorite parking space. If that space is already occupied, they park in the nearest available space down the road. If that space and all the spaces below it are occupied, they drive away without parking. Question: How many arrays $\left(a_{1}, a_{2}, \cdots, a_{n}\right)$ are there such that no parking space is empty? Here, $a_{i}$ is the favorite parking space of the $i$-th driver, and $a_{1}, a_{2}, \cdots, a_{n}$ do not have to be distinct.