#include<bits/stdc++.h>
using namespace std;
string s,t;
long long m,base=1e7+7,h1=0,h2=0,mod=1e9+9,c=1,ss,ans=0;
bool b[100007];
priority_queue<pair<int,int>> pq;
int main(){
  //  ios_base::sync_with_stdio(false);
    cin>>s;
    ss=s.size();
    cin>>m;
    for(int i1=0;i1<m;i1++){
        cin>>t;
        h1=0;
        h2=0;
        c=1;
        int ts=t.size();
        for(int i=0;i<ts;i++){
            c*=base;
            c%=mod;
            h1*=base;
            h1+=t[i];
            h1%=mod;
        }
        for(int i=0;i<ss;i++){
            h2*=base;
            h2+=s[i];
            h2%=mod;
            if(i>=ts){
                h2+=mod*mod;
                h2=(h2-c*s[i-ts])%mod;
            }
            if(h2==h1){
                pq.push({-i+ts-1,ts});
            }
        }
    }
    int posl=-1;
    for(int i=0;i<ss;i++){
        pair<int,int> pqt={1,1};
        if(!pq.empty()){
            pqt=pq.top();
            //cout<<pqt.first<<" "<<pqt.second<<"\n";
        }
        if(pqt.first*-1==i){
            for(int i1=i;i1<i+pqt.second;i1++){
                b[i1]=true;
            }
            i=i+pqt.second-1;
        }
        while(!pq.empty() && pq.top().first*-1<i){
            //  cout<<pq.top().first*-1<<" "<<i<<"\n";
            pq.pop();
        }
    }
    for(int i=0;i<ss;i++){
        if(!b[i]) cout<<s[i];
    }
    cout<<"\n";
    return 0;
}
