#include #include #include using namespace std; const long long int BASE=31; const long long int MOD=1e8+1; struct RollingHush { vector hash; vector power; RollingHush(string s) : hash(s.size()+1), power(s.size()+1) { hash[0] = 0; power[0] = 1; for(int si=0; si> str; int str_size=str.size(); RollingHush rh_str(str); int M; cin >> M; long long int ans=0; for(int m=0; m> cmp; int cmp_size=cmp.size(); RollingHush rh_cmp(cmp); for(int si=0; si+cmp_size<=str_size; si++) { if(rh_str.get(si, si+cmp_size)==rh_cmp.get(0, cmp_size)) ans++; } } cout << ans << endl; return 0; }