#include<iostream>
#include<cstdio>
#include<vector>
#include<bits/stdc++.h>
//length, compare, substring finding, delete, insert, replace, reverse
using namespace std;

int Length(string s)
{
    int len = 0;
    for(int i=0;s[i]!='\0';i++)
    {
        len++;
    }
    return len;
}
int Compare(string s1, string s2)
{
    int lens1 = Length(s1);
    int lens2 = Length(s2);

    if(lens1 == lens2)
    {
        for(int i=0;i<lens1;i++)
        {
            if(s1[i] == s2[i])
                continue;
            else
            {
                if(s1[i] < s2[i])
                {
                    return 1;
                }
                else
                {
                    return -1;
                }
            }
        }
        return 0;
    }
    else
    {
        if(lens1 < lens2)
        {
            for(int i=0;i<lens1;i++)
            {
                if(s1[i] == s2[i])
                {
                    continue;
                }
                else
                {
                    if(s1[i] < s2[i])
                    {
                        return 1;
                    }
                    else
                    {
                        return -1;
                    }
                }
            }
            return 1;
        }
        else
        {
            for(int i=0;i<lens2;i++)
            {
                if(s1[i] == s2[i])
                {
                    continue;
                }
                else
                {
                    if(s1[i] < s2[i])
                    {
                        return 1;
                    }
                    else
                    {
                        return -1;
                    }
                }
            }
            return -1;
        }
    }
}
string Reverse(string s)
{
    string res = "";
    int len = Length(s);
    for(int i=len-1;i>=0;i--)
    {
        res = res + s[i];
    }
    return res;
}

vector <int> SubStringFind(string s, string sub)
{
    int lens = Length(s);
    int lensub = Length(sub);
    vector <int> pos;
    int paisi = 0;
    for(int i=0;i<=lens-lensub;i++)
    {
        int matched = 0;
        for(int j=0;j<lensub;j++)
        {
            if(sub[j] == s[i+j])
            {
                matched++;
                continue;
            }
            else
                break;
        }
        if(matched == lensub)
        {
            pos.push_back(i);
        }
    }
    return pos;
}

string Delete(string s, string sub)
{
    int lens = Length(s);
    int lensub = Length(sub);
    vector <int> pos;
    pos = SubStringFind(s,sub);
    string res = "";
    int kototomo = 0;
    for(int i=0;i<lens;i++)
    {
        if(kototomo > pos.size() || i != pos[kototomo])
        {
            res = res + s[i];
        }
        else
        {
            i+= (lensub-1);
            kototomo++;
        }
    }
    return res;
}

string InsertAtPos(string s, int pos, string sub)
{
    string res = "";
    int lens = Length(s);
    int lensub = Length(sub);
    for(int i=0;i<pos;i++)
    {
        res = res + s[i];
    }
    res = res + sub;
    for(int i=pos;i<lens;i++)
    {
        res = res + s[i];
    }
    return res;
}

string Replace(string s, string sub1, string sub2)
{
    int lens = Length(s);
    int lensub1 = Length(sub1);
    int lensub2 = Length(sub2);

    vector <int> pos;
    pos = SubStringFind(s,sub1);
    string res;
    res = Delete(s,sub1);
    for(int i=0;i<pos.size();i++)
    {
        res = InsertAtPos(res,pos[i]+(i*(lensub2-lensub1)),sub2);
    }
    return res;
}

int main()
{
    //memset(kothay,100,-1);
    vector <int> kothay;
    string s,sub1,sub2;
    int pos;
    cin>>s>>sub1>>sub2;
    string res = Replace(s,sub1,sub2);
    cout<<res;
    return 0;
}