#include <iostream>
#include <string>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <map>
#include <vector>
#include <iomanip>
#include <stack>
#include <queue>
using namespace std;
#define ll long long
#define DEBUG(X) { cerr << #X << " : " << X <<endl; }
#define FOR(i,a,b) for(int i = a , _##i = (b) ; i <= _##i ; i++)
#define FOD(i,a,b) for(int i = a , _##i = (b) ; i >= _##i ; i--)
#define sqr(x) ((x)*(x))
#define SZ(s) s.size()
#define ALL(a) a.begin() , a.end()
#define MAXN 1000005
#define MOD 1000000007
#define TIE cin.tie(0)
#define SYNC ios::sync_with_stdio(0)
#define min3(a1,a2,a3) min((a1),min((a2),(a3)))
#define ii pair<int,int>
#define llp pair<ll, ll>
#define lmp(a,b) make_pair((a), (b))
const int maxn = 1000010;
int b[maxn];
string s, p;
int n, m;
void preKMP() {
int i =0, j = -1;
b[0] = -1;
while(i < m) {
while(j >= 0 && p[i] != p[j]) j = b[j];
i++;
j++;
b[i] = j;
}
}
int compareKMP() {
int i = 0, j = 0 ;
while(i < n) {
while(j >= 0 && s[i] != p[j]) j = b[j];
i++; j++;
if(j == m) {
// cout << "Find at " << i - m << " length = " << m << endl;
s.erase(i - m, m);
return 1;
}
}
return 0;
}
int main() {
SYNC;
TIE;
cin >> s >> p;
n = s.length();
m = p.length();
preKMP();
while(compareKMP()) {
}
cout << s;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8cXVldWU+CgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgREVCVUcoWCkgeyBjZXJyIDw8ICNYIDw8ICIgOiAiIDw8IFggPDxlbmRsOyB9CiNkZWZpbmUgRk9SKGksYSxiKSBmb3IoaW50IGkgPSBhICwgXyMjaSA9IChiKSA7IGkgPD0gXyMjaSAgOyBpKyspCiNkZWZpbmUgRk9EKGksYSxiKSBmb3IoaW50IGkgPSBhICwgXyMjaSA9IChiKSA7IGkgPj0gXyMjaSA7IGktLSkKI2RlZmluZSBzcXIoeCkgKCh4KSooeCkpCiNkZWZpbmUgU1oocykgcy5zaXplKCkKI2RlZmluZSBBTEwoYSkgYS5iZWdpbigpICwgYS5lbmQoKQojZGVmaW5lIE1BWE4gMTAwMDAwNQojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CiNkZWZpbmUgVElFIGNpbi50aWUoMCkKI2RlZmluZSBTWU5DIGlvczo6c3luY193aXRoX3N0ZGlvKDApCiNkZWZpbmUgbWluMyhhMSxhMixhMykgbWluKChhMSksbWluKChhMiksKGEzKSkpCiNkZWZpbmUgaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIGxscCBwYWlyPGxsLCBsbD4KI2RlZmluZSBsbXAoYSxiKSBtYWtlX3BhaXIoKGEpLCAoYikpCgpjb25zdCBpbnQgbWF4biA9IDEwMDAwMTA7CmludCBiW21heG5dOwpzdHJpbmcgcywgcDsKaW50IG4sIG07Cgp2b2lkIHByZUtNUCgpIHsKICAgIGludCBpID0wLCBqID0gLTE7CiAgICBiWzBdID0gLTE7CgogICAgd2hpbGUoaSA8IG0pIHsKICAgICAgICB3aGlsZShqID49IDAgJiYgcFtpXSAhPSBwW2pdKSBqID0gYltqXTsKICAgICAgICBpKys7CiAgICAgICAgaisrOwoKICAgICAgICBiW2ldID0gajsKICAgIH0KfQoKaW50IGNvbXBhcmVLTVAoKSB7CiAgICBpbnQgaSA9IDAsIGogPSAwIDsKICAgIHdoaWxlKGkgPCBuKSB7CiAgICAgICAgd2hpbGUoaiA+PSAwICYmIHNbaV0gIT0gcFtqXSkgaiA9IGJbal07CiAgICAgICAgaSsrOyBqKys7CiAgICAgICAgaWYoaiA9PSBtKSB7CiAgICAgICAvLyAgICAgY291dCA8PCAiRmluZCBhdCAiIDw8IGkgLSBtIDw8ICIgbGVuZ3RoID0gIiA8PCBtIDw8IGVuZGw7CiAgICAgICAgICAgIHMuZXJhc2UoaSAtIG0sIG0pOwogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKCkgewogICAgU1lOQzsKICAgIFRJRTsKCiAgICBjaW4gPj4gcyA+PiBwOwogICAgbiA9IHMubGVuZ3RoKCk7CiAgICBtID0gcC5sZW5ndGgoKTsKCiAgICBwcmVLTVAoKTsKICAgIHdoaWxlKGNvbXBhcmVLTVAoKSkgewoKICAgIH0KCiAgICBjb3V0IDw8IHM7Cn0K