#include<iostream>
#include<string>
#include<climits>
using namespace std;
string minWindow(string str, string pat){
int len1 = str.length();
int len2 = pat.length();
if(len1<len2){
return "";
}
int hash_str[256] = {0};
int hash_pat[256] = {0};
for(int i=0;i<len2;i++){
hash_pat[pat[i]]++;
}
int start = 0;
int start_idx = -1;
int min_len = INT_MAX;
int count = 0;
for(int j=0;j<len1;j++){
hash_str[str[j]]++;
if(hash_pat[str[j]]!=0 && hash_str[str[j]]<=hash_pat[str[j]]){
count++;
}
if(count == len2){
while(hash_str[str[start]]>hash_pat[str[start]] || hash_pat[str[start]]==0){
if(hash_str[str[start]]>hash_pat[str[start]]){
hash_str[str[start]]-=1;
}
start+=1;
}
int len_window = j-start+1;
if(min_len>len_window){
min_len = len_window;
start_idx = start;
}
}
}
if(start_idx == -1){
return"";
}
return str.substr(start_idx,min_len);
}
int main() {
string str,pat;
getline(cin,str);
getline(cin,pat);
string ans = minWindow(str,pat);
cout<<ans;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8Y2xpbWl0cz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RyaW5nIG1pbldpbmRvdyhzdHJpbmcgc3RyLCBzdHJpbmcgcGF0KXsKCWludCBsZW4xID0gc3RyLmxlbmd0aCgpOwoJaW50IGxlbjIgPSBwYXQubGVuZ3RoKCk7CglpZihsZW4xPGxlbjIpewoJCXJldHVybiAiIjsKCX0KCWludCBoYXNoX3N0clsyNTZdID0gezB9OwoJaW50IGhhc2hfcGF0WzI1Nl0gPSB7MH07Cglmb3IoaW50IGk9MDtpPGxlbjI7aSsrKXsKCQloYXNoX3BhdFtwYXRbaV1dKys7Cgl9CglpbnQgc3RhcnQgPSAwOwoJaW50IHN0YXJ0X2lkeCA9IC0xOwoJaW50IG1pbl9sZW4gPSBJTlRfTUFYOwoJaW50IGNvdW50ID0gMDsKCWZvcihpbnQgaj0wO2o8bGVuMTtqKyspewoJCWhhc2hfc3RyW3N0cltqXV0rKzsKCQlpZihoYXNoX3BhdFtzdHJbal1dIT0wICYmIGhhc2hfc3RyW3N0cltqXV08PWhhc2hfcGF0W3N0cltqXV0pewoJCQljb3VudCsrOwoJCX0KCQlpZihjb3VudCA9PSBsZW4yKXsKCQkJd2hpbGUoaGFzaF9zdHJbc3RyW3N0YXJ0XV0+aGFzaF9wYXRbc3RyW3N0YXJ0XV0gfHwgaGFzaF9wYXRbc3RyW3N0YXJ0XV09PTApewoJCQkJaWYoaGFzaF9zdHJbc3RyW3N0YXJ0XV0+aGFzaF9wYXRbc3RyW3N0YXJ0XV0pewoJCQkJCWhhc2hfc3RyW3N0cltzdGFydF1dLT0xOwoJCQkJfQoJCQkJc3RhcnQrPTE7CgkJCX0KCQkJaW50IGxlbl93aW5kb3cgPSBqLXN0YXJ0KzE7CgkJCWlmKG1pbl9sZW4+bGVuX3dpbmRvdyl7CgkJCQltaW5fbGVuID0gbGVuX3dpbmRvdzsKCQkJCXN0YXJ0X2lkeCA9IHN0YXJ0OwoJCQl9CgkJfQoJfQoJaWYoc3RhcnRfaWR4ID09IC0xKXsKCQlyZXR1cm4iIjsKCX0KCXJldHVybiBzdHIuc3Vic3RyKHN0YXJ0X2lkeCxtaW5fbGVuKTsKfQppbnQgbWFpbigpIHsKCXN0cmluZyBzdHIscGF0OwoJZ2V0bGluZShjaW4sc3RyKTsKCWdldGxpbmUoY2luLHBhdCk7CglzdHJpbmcgYW5zID0gbWluV2luZG93KHN0cixwYXQpOwoJY291dDw8YW5zOwoJcmV0dXJuIDA7Cn0=