#include #include #include #include #include #include #include using namespace std; typedef unsigned __int128 Hash; map mm[11]; int main(){ string S; int M; cin >> S; cin >> M; for(int i = 0 ; i < S.size() ; i++){ Hash w = 0; for(int j = 0 ; j < 10 and i + j < S.size() ; j++){ w = w * 128 + S[i+j]; mm[j+1][w]++; } } long long ans = 0; while(M--){ cin >> S; Hash w = 0; for(int j = 0 ; j < S.size() ; j++){ w = w * 128 + S[j]; } ans += mm[S.size()][w]; } cout << ans << endl; }