Codeforces Round 103 (Div. 2)
C
Anagram Search
Codeforces
1500
原题
← BD →
翻译中…

A string $*t*$ is called an anagram of the string $*s*$, if it is possible to rearrange letters in $*t*$ so that it is identical to the string $*s*$. For example, the string "aab" is an anagram of the string "aba" and the string "aaa" is not.

翻译中…

The string $*t*$ is called a substring of the string $*s*$ if it can be read starting from some position in the string $*s*$. For example, the string "aba" has six substrings: "a", "b", "a", "ab", "ba", "aba".

翻译中…

You are given a string $*s*$, consisting of lowercase Latin letters and characters "?". You are also given a string $*p*$, consisting of lowercase Latin letters only. Let's assume that a string is good if you can obtain an anagram of the string $*p*$ from it, replacing the "?" characters by Latin letters. Each "?" can be replaced by exactly one character of the Latin alphabet. For example, if the string $*p*$ = «aba», then the string "a??" is good, and the string «?bc» is not.

翻译中…

Your task is to find the number of good substrings of the string $*s*$ (identical substrings must be counted in the answer several times).

翻译中…

Input

翻译中…

The first line is non-empty string $*s*$, consisting of no more than $10^{5}$ lowercase Latin letters and characters "?". The second line is non-empty string $*p*$, consisting of no more than $10^{5}$ lowercase Latin letters. Please note that the length of the string $*p*$ can exceed the length of the string $*s*$.

翻译中…

Output

翻译中…

Print the single number representing the number of good substrings of string $*s*$.

翻译中…

Two substrings are considered different in their positions of occurrence are different. Thus, if some string occurs several times, then it should be counted the same number of times.

翻译中…

Note

翻译中…

Consider the first sample test. Here the string $*s*$ has two good substrings: "b??" (after we replace the question marks we get "baa"), "???" (after we replace the question marks we get "baa").

翻译中…

Let's consider the second sample test. Here the string $*s*$ has two good substrings: "ab?" ("?" can be replaced by "c"), "b?c" ("?" can be replaced by "a").

翻译中…

样例

Input #1
bb??x???
aab
Output #1
2
InputCopy OutputCopy
Input #2
ab?c
acb
Output #2
2
InputCopy OutputCopy
题目信息
题号
144C
时间限制
2 s
内存限制
256 MB
标签
模拟
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。