#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n)   FOR(i,0,n)
#define pb emplace_back
typedef long long ll;
typedef pair<ll,ll> pint;

struct PMA{
    PMA* next[256];
    vector<int> matched;
    PMA(){memset(next,0,sizeof(next));}
};
PMA *buildPMA(vector<string> p){
    PMA *root=new PMA,*t;
    rep(i,p.size()){
        t=root;
        rep(j,p[i].size()){
            if(t->next[(int)p[i][j]]==0) t->next[(int)p[i][j]]=new PMA;
            t=t->next[(int)p[i][j]];
        }
        t->matched.pb(i);
    }
    queue<PMA*> que;
    FOR(i,'a','z'+1){
        if(!root->next[i]) root->next[i]=root;
        else{
            root->next[i]->next[0]=root;
            que.push(root->next[i]);
        }
    }
    while(!que.empty()) {
        t=que.front();que.pop();
        FOR(i,'a','z'+1){
            if(t->next[i]){
                PMA *nx=t->next[0];
                while(!nx->next[i]) nx=nx->next[0];
                t->next[i]->next[0]=nx->next[i];
                vector<int> rv;
                set_union(t->next[i]->matched.begin(),t->next[i]->matched.end(),
                nx->next[i]->matched.begin(),nx->next[i]->matched.end(),back_inserter(rv));
                t->next[i]->matched=rv;
                que.push(t->next[i]);
            }
        }
    }
    return root;
}
void match(PMA* &pma,const string s,vector<int> &ret){
    rep(i,s.size()){
        int c=s[i];
        while(!pma->next[c]) pma=pma->next[0];
        pma=pma->next[c];
        rep(j,pma->matched.size()) ret[pma->matched[j]]=true;
        //rep(j,pma->matched.size()) ret[pma->matched[j]]++;
    }
}
vector<string> p;
vector<int> v(100001);
int main(){
    string s,pi;
    int n;
    cin>>s>>n;
    rep(i,n){
        cin>>pi;
        p.pb(pi);
    }
    PMA *r=buildPMA(p);
    PMA *cur=r;
    int ans=0;
    rep(i,s.size()){
        int c=s[i];
        while(!cur->next[c]) cur=cur->next[0];
        cur=cur->next[c];
        if(cur->matched.size()>0)++ans,cur=r;
    }
    cout<<ans<<endl;
    return 0;
}
