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

You are given an array nums of size n consisting of distinct integers from 1 to n and a positive integer k.
Return the number of non-empty subarrays in nums that have a median equal to k.
Note:

The median of an array is the middle element after sorting the array in ascending order. If the array is of even length, the median is the left middle element.

	
For example, the median of [2,3,1,4] is 2, and the median of [8,4,3,5,1] is 4.


A subarray is a contiguous part of an array.

 
Please complete the following python code precisely:
```python
class Solution:
    def countSubarrays(self, nums: List[int], k: int) -> int:
```