#include <bits/stdc++.h>
using namespace std;
string s, p;
int cnt[30], a[30], t, n, m, ans, r;
void das() {
  r = 0;
  for (int i = 0; i < 29; i++) r += abs(a[i] - cnt[i]);
  if (r == t) ans++;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> s >> p;
  n = s.size();
  m = p.size();
  if (m > n) return cout << 0, 0;
  for (int i = 0; i < m; i++) a[p[i] - 'a']++;
  for (int i = 0; i < m; i++) {
    if (s[i] == '?')
      t++;
    else
      cnt[s[i] - 'a']++;
  }
  das();
  for (int i = m; i < n; i++) {
    if (s[i - m] == '?')
      t--;
    else
      cnt[s[i - m] - 'a']--;
    if (s[i] == '?')
      t++;
    else
      cnt[s[i] - 'a']++;
    das();
  }
  cout << ans;
  return 0;
}
