#include<iostream>
#include<set>
#define endl '\n'
using namespace std;
const long long mod=1000000009;
const long long base=31;
long long h,st[100005],p[100005],begi=1,m[100005];
set <long long> u[100005],d;
long long fastst(long long ch,long long st)
{
    if(st==0) return 1;
    if(st%2==0)
    {
        long long v=fastst(ch,st/2);
        return v*v%mod;
    }
    else return fastst(ch,st-1)*ch%mod;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    st[0]=1;
    for(int i=1;i<=100000;i++)
    {
        st[i]=(st[i-1]*base)%mod;
    }
    string s;
    cin>>s;

    string a;
    long long n;
    cin>>n;

    for(int i=1;i<=n;i++)
    {
        cin>>a;
        h=0;
        for(int j=0;j<a.size();j++)
        {
           h+=((st[j]*(a[j]-'a'))%mod); h%=mod;
        }
        u[a.size()].insert(h);
    }
    for(int i=1;i<=s.size();i++)
    {
        if(i!=0) p[i]=p[i-1];
        p[i]+=st[i]*(s[i-1]-'a')%mod;p[i]%=mod;

        for(int j=i;j>=begi;j--)
        {
            long long r=((p[i]-p[j-1]+(i-j+1)*mod)%mod)*fastst(st[j],mod-2)%mod;//cout<<r<<endl;
              if(u[i-j+1].count(r)) {m[j]++;m[i+1]--;begi=i+1;break;}
        }
    }
    long long t=0;
    for(int i=1;i<=s.size();i++)
    {
        t+=m[i];
        if(t==0) cout<<s[i-1];
    }
    cout<<endl;
}
