#include #define rep(i,a,b) for(int i=int(a);i> S; set cnt[26] = {}; rep(i,0,S.size()){ cnt[S[i] - 'A'].insert(i); } int N,ans = 0; cin >> N; rep(i,0,N){ string ss; cin >> ss; int mini = INF,ind; char c; rep(j,0,ss.size()){ int num = cnt[ss[j] - 'A'].size(); if(mini > num){ mini = num; ind = j; c = ss[j] - 'A'; } } //しらべる文字 c //調べる文字に対してのssのインデックス ind // Sのインデックス j for(int j:cnt[c]){ //cout << j << " " << ind << " " << ss.size() << " " << S.size() << endl; if(j < ind || j - ind + ss.size() > S.size())continue; if(S.substr(j - ind, ss.size()) == ss)ans++; } } cout << ans << endl; }