func findSubstringInWraproundString(p string) (cnt int) {
	n := len(p)
	if n == 0 {
		return
	}
	dp := make([]int, 256)
	runes := []rune(p)
	l := 1
	dp[runes[0]] = 1
	for i := 1; i < n; i++ {
		if runes[i] != rune((runes[i-1]-'a'+1)%26+'a') {
			l = 1
		} else {
			l++
		}
		if dp[runes[i]] < l {
			dp[runes[i]] = l
		}
	}
	for i := 'a'; i <= 'z'; i++ {
		cnt += dp[i]
	}
	return
}