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

You are given two strings s and t of equal length n. You can perform the following operation on the string s:

Remove a suffix of s of length l where 0 < l < n and append it at the start of s.
	For example, let s = 'abcd' then in one operation you can remove the suffix 'cd' and append it in front of s making s = 'cdab'.

You are also given an integer k. Return the number of ways in which s can be transformed into t in exactly k operations.
Since the answer can be large, return it modulo 109 + 7.
 
Please complete the following python code precisely:
```python
class Solution:
    def numberOfWays(self, s: str, t: str, k: int) -> int:
```