#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 9;
char s[1505], tab[30];
set<long long> S;
int main() {
  int k;
  scanf("%s %s %d", s, tab, &k);
  for (int i = 0; s[i]; i++) {
    long long hash = 0;
    int qtt = 0;
    for (int j = i; s[j]; j++) {
      qtt += (tab[s[j] - 'a'] == '0');
      if (qtt > k) break;
      hash = hash * 29 + (s[j] - 'a' + 1);
      S.insert(hash);
    }
  }
  printf("%d\n", S.size());
  return 0;
}
