def findNumberOfLIS(self, nums: List[int]) -> int:
# dp[i][1] -> NumberOfLIS
dp = [[1, 1] for _ in range(n)]
for j in range(i + 1, n):
if dp[i][0] + 1 > dp[j][0]:
longest = max(longest, dp[j][0])
elif dp[i][0] + 1 == dp[j][0]:
return sum(dp[i][1] for i in range(n) if dp[i][0] == longest)