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

You are given an array words of size n consisting of non-empty strings.
We define the score of a string term as the number of strings words[i] such that term is a prefix of words[i].

For example, if words = ["a", "ab", "abc", "cab"], then the score of "ab" is 2, since "ab" is a prefix of both "ab" and "abc".

Return an array answer of size n where answer[i] is the sum of scores of every non-empty prefix of words[i].
Note that a string is considered as a prefix of itself.
 
Please complete the following python code precisely:
```python
class Solution:
    def sumPrefixScores(self, words: List[str]) -> List[int]:
```