알파벳 소문자로만 이루어진 문자열 s가 주어진다. 26개의 알파벳은 각각 좋은 알파벳이거나 나쁜 알파벳이다.
길이가 ∣s∣인 문자열 s=s1s2…s∣s∣에서 부분 문자열 s[l…r] (1≤l≤r≤∣s∣)은 slsl+1…sr을 뜻한다.
부분 문자열 s[l…r]을 이루는 문자 sl,sl+1,…,sr 중에서 나쁜 알파벳의 개수가 k개 이하이면, 그 부분 문자열을 좋다고 한다.
s의 서로 다른 좋은 부분 문자열의 개수를 찾는 프로그램을 작성하시오. s[x…y]=s[p…q]인 경우에 두 부분 문자열 s[x…y]와 s[p…q]를 서로 다르다고 한다. 위치가 달라도 내용이 같은 부분 문자열은 한 번만 센다.