Given two strings `s` and `t`, return the number of distinct subsequences of `s` which equals `t`.
The test cases are generated so that the answer fits on a 32-bit signed integer.
**Example 1:**
```
Input: s = "rabbbit", t = "rabbit"
Output: 3
Explanation: There are 3 ways to generate "rabbit" from "rabbbit".
```
**Example 2:**
```
Input: s = "babgbag", t = "bag"
Output: 5
```