You've got string s, consisting of small English letters. Some of the English letters are good, the rest are bad.
A substring s[l...r] (1≤l≤r≤|s|) of string s=s1s2...s|s| (where |s| is the length of string s) is string slsl+1...sr.
The substring s[l...r] is good, if among the letters sl,sl+1,...,sr there are at most k bad ones (look at the sample's explanation to understand it more clear).
Your task is to find the number of distinct good substrings of the given string s. Two substrings s[x...y] and s[p...q] are considered distinct if their content is different, i.e. s[x...y]≠s[p...q].
Output
Print a single integer − the number of distinct good substrings of string
s.
Note
In the first example there are following good substrings: "
a", "
ab", "
b", "
ba", "
bab".
In the second example there are following good substrings: "
a", "
aa", "
ac", "
b", "
ba", "
c", "
ca", "
cb".