#include <bits/stdc++.h>
using namespace std;
char S[100010], T[100010];
int lenS, lenT, s[26], t[26], ans;
bool flag;
int main() {
  scanf("%s", &S);
  scanf("%s", &T);
  lenT = strlen(T);
  for (int i = 0; i < lenT; i++) t[T[i] - 'a']++;
  lenS = strlen(S);
  for (int i = 0; i < lenS; i++) {
    if (S[i] != '?') s[S[i] - 'a']++;
    if (i >= lenT && S[i - lenT] != '?') s[S[i - lenT] - 'a']--;
    if (i >= lenT - 1) {
      flag = 1;
      for (int k = 0; k < 26; k++) {
        if (s[k] > t[k]) {
          flag = 0;
          break;
        }
      }
    }
    ans += flag;
  }
  printf("%d", ans);
  return 0;
}
