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 nums and a positive integer x.
You are initially at position 0 in the array and you can visit other positions according to the following rules:

If you are currently in position i, then you can move to any position j such that i < j.
For each position i that you visit, you get a score of nums[i].
If you move from a position i to a position j and the parities of nums[i] and nums[j] differ, then you lose a score of x.

Return the maximum total score you can get.
Note that initially you have nums[0] points.
 
Please complete the following python code precisely:
```python
class Solution:
    def maxScore(self, nums: List[int], x: int) -> int:
```