import math import sys import heapq from collections import deque sys.setrecursionlimit(500*500) stdin = sys.stdin def YES(): print('Yes') def NO(): print('No') def TAKAHASHI(): print('Takahashi') def AOKI(): print("Aoki") def ns(): return stdin.readline().strip() def ni(): return int(ns()) def na(): return list(map(int, stdin.readline().split())) def nz(): return list(map(lambda x: int(x)-1, stdin.readline().split())) def nm(n): return [na() for _ in range(n)] MOD = int(1e9+7) def YES(): print('Yes') def NO(): print('No') def TAKAHASHI(): print('Takahashi') def AOKI(): print("Aoki") s = ns() M = ni() s_set = [set()]*11 ans = 0 ord_a = ord('A') def o(s): return ord(s)-ord_a for i in range(M): c = ns() lc = len(c) hc = 0 hs = 0 for l in range(lc): hc += o(c[l])*26**l hs += o(s[l])*26**l if hc == hs: ans += 1 for j in range(1, len(s)-lc+1): hs -= o(s[j-1]) hs //= 26 hs += o(s[j+lc-1])*26**(lc-1) if hs == hc: ans += 1 print(ans)