#include <bits/stdc++.h> using namespace std; typedef unsigned long long ULL; const int N = 110, P = 13331; int h[N], p[N], ha[N]; ULL get(int l, int r){ return h[r] - h[l-1]*p[r-l+1]; } ULL get_a(int l, int r){ return ha[r] - ha[l-1]*p[r-l+1]; } int main(){ string str; while (getline(cin, str)){ memset(h, 0, sizeof h); memset(ha, 0, sizeof ha); memset(p, 0, sizeof p); int str_size = str.size(); str = " " + str; h[0] = 0; p[0] = 1; for (int i=1; i<=str_size; i++){ p[i] = p[i-1] * P; h[i] = h[i-1] * P + str[i]; } string a; string b; cin >> a >> b; int a_size = a.size(); a = " " + a; ha[0] = 0; for (int i=1; i<=a_size; i++){ ha[i] = ha[i-1] * P + a[i]; } vector<int> tt; for (int i=1; i<=str_size; i++){ if (get_a(1,a_size) == get(i,a_size+i-1) && str[i-1] == ' ' && (str[a_size+i] == '\0' || str[a_size+i]== ' ')){ tt.push_back(i); } } for (int i=1; i<=str_size; i++){ for (int j=0; j<tt.size(); j++){ if (i == tt[j]){ cout << b; i = i + a_size; break; } } cout << str[i]; } puts(""); getchar(); } return 0; }