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

You are given two non-increasing 0-indexed integer arrays nums1​​​​​​ and nums2​​​​​​.
A pair of indices (i, j), where 0 <= i < nums1.length and 0 <= j < nums2.length, is valid if both i <= j and nums1[i] <= nums2[j]. The distance of the pair is j - i​​​​.
Return the maximum distance of any valid pair (i, j). If there are no valid pairs, return 0.
An array arr is non-increasing if arr[i-1] >= arr[i] for every 1 <= i < arr.length.
 
Please complete the following python code precisely:
```python
class Solution:
    def maxDistance(self, nums1: List[int], nums2: List[int]) -> int:
```