#include <bits/stdc++.h>
using namespace std;
int main() {
  long int i, j;
  string p, s;
  cin >> p >> s;
  long int b[26], a[26];
  for (i = 0; i < 26; i++) {
    a[i] = 0;
    b[i] = 0;
  }
  for (i = 0; i < s.size(); i++) {
    ++b[s[i] - 'a'];
  }
  for (i = 0; i < s.size() && i < p.size(); i++) {
    if (p[i] >= 'a') ++a[p[i] - 'a'];
  }
  long int count = 0;
  long int x = s.size(), y = p.size();
  for (i = 0; i <= (y - x); i++) {
    int sw = 0;
    for (j = 0; j < 26; j++) {
      if (a[j] > b[j]) {
        sw = 1;
      }
    }
    if (sw == 0) {
      count += 1;
    }
    if (p[i] >= 'a') a[p[i] - 'a'] -= 1;
    if (i + x < y) {
      if (p[i + x] >= 'a') a[p[i + x] - 'a'] += 1;
    }
  }
  cout << count << '\n';
  return 0;
}
