//直接使用find()的话不是单词也可能匹配到
//手动给a,b加空格
//因为a可能在开头和结尾也匹配到,也给原字符串前后加上空格
//最后截掉头尾输出子串
#include<stdio.h>
#include<string>
#include <iostream>
using namespace std;
void tihuan(string& str1, string a,string b) {
//字符串匹配
while (str1.find(a) != string::npos) {
int pos = str1.find(a);//得到匹配位置
//如果是一模一样的单词
str1.erase(pos, a.size());//删除原来的字符串单词
str1.insert(pos, b);//插入替换成的字符串单词}
}
}
int main(){
string str1;
string a, b;
while (getline(cin, str1)) {//输入第一行
getline(cin, a);//输入被替换的单词
getline(cin, b);//输入要替换成的单词
str1 =" "+str1+" ";
a=" "+a+" ";
b=" "+b+" ";
//替换
tihuan(str1, a, b);
printf("%s\n", str1.substr(1,str1.size()-1).c_str());
}
return 0;
}