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

You are given a string text. You should split it to k substrings (subtext1, subtext2, ..., subtextk) such that:

subtexti is a non-empty string.
The concatenation of all the substrings is equal to text (i.e., subtext1 + subtext2 + ... + subtextk == text).
subtexti == subtextk - i + 1 for all valid values of i (i.e., 1 <= i <= k).

Return the largest possible value of k.
 
Please complete the following python code precisely:
```python
class Solution:
    def longestDecomposition(self, text: str) -> int:
```