#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; string a, b; vector pi; int res = 0; void kmp() { int j = 0; int n = a.length(); int m = b.length(); for (int i = 0; i < n; i++) { while (j > 0 && a[i] != b[j]) { j = pi[j - 1]; } if (a[i] == b[j]) { if (j == m - 1) { res++; j = pi[j]; } else { j++; } } } } void getpi() { int n = b.length(); pi.clear(); pi.resize(n); int j = 0; for (int i = 1; i < n; i++) { while (j > 0 && b[i] != b[j]) { j = pi[j - 1]; } if (b[i] == b[j]) { pi[i] = ++j; } } } int main(void) { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> a; cin >> n; for (int i = 0; i < n; i++) { cin >> b; getpi(); kmp(); } cout << res << '\n'; return 0; }