#include<iostream>
#include<queue>
using namespace std;
priority_queue< pair<int,char> > q;
string s, p;
int a[200005];
int n;
int ktra(){
int m = p.size();
int count = 0;
while (!q.empty()){
pair<int,char> temp = q.top();
// cout << temp.first << " " << temp.second << endl;
q.pop();
if (temp.second == p[count]){
// cout << temp.first << " " << temp.second << endl;
count++;
}
if (count == m){
//cout << "1" << endl;
return 1;
}
}
//cout << "0" << endl;
return 0;
}
int main(){
cin >> s >> p;
n = s.size();
for (int i = 0; i < n; i++){
cin >> a[i];
}
// if (s.substr(s.size()-p.size(),p.size()) == p){
// cout << s.size() - p.size();
// return 0;
// }
int l = 1, r = n;
while(l<=r){
while(!q.empty()) q.pop();
int mid = (r+l)/2;
for (int i = mid; i <= n; i++){
q.push(make_pair(-a[i],s[a[i]-1]));
}
//cout << "l: " << l << " r: " << r << " mid: " << mid << endl;
if (ktra()) l=mid+1;
else r=mid-1;
//cout << "l: " << l << " r: " << r << " mid: " << mid << endl;
//system("pause");
}
cout << r;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHF1ZXVlPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnByaW9yaXR5X3F1ZXVlPCBwYWlyPGludCxjaGFyPiA+IHE7CnN0cmluZyBzLCBwOyAKaW50IGFbMjAwMDA1XTsKaW50IG47CgppbnQga3RyYSgpewoJaW50IG0gPSBwLnNpemUoKTsKCWludCBjb3VudCA9IDA7Cgl3aGlsZSAoIXEuZW1wdHkoKSl7CgkJcGFpcjxpbnQsY2hhcj4gdGVtcCA9IHEudG9wKCk7CgkvLwljb3V0IDw8IHRlbXAuZmlyc3QgPDwgIiAiIDw8IHRlbXAuc2Vjb25kIDw8IGVuZGw7CgkJcS5wb3AoKTsKCQlpZiAodGVtcC5zZWNvbmQgPT0gcFtjb3VudF0pewoJCS8vCWNvdXQgPDwgdGVtcC5maXJzdCA8PCAiICIgPDwgdGVtcC5zZWNvbmQgPDwgZW5kbDsKCQkJY291bnQrKzsKCQl9CgkJaWYgKGNvdW50ID09IG0pewoJCQkvL2NvdXQgPDwgIjEiIDw8IGVuZGw7CgkJCXJldHVybiAxOwoJCX0KCX0KCS8vY291dCA8PCAiMCIgPDwgZW5kbDsKCXJldHVybiAwOwp9CgppbnQgbWFpbigpewoJY2luID4+IHMgPj4gcDsKCW4gPSBzLnNpemUoKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKCQljaW4gPj4gYVtpXTsKCX0KLy8JaWYgKHMuc3Vic3RyKHMuc2l6ZSgpLXAuc2l6ZSgpLHAuc2l6ZSgpKSA9PSBwKXsKLy8JCWNvdXQgPDwgcy5zaXplKCkgLSBwLnNpemUoKTsKLy8JCXJldHVybiAwOwovLwl9CglpbnQgbCA9IDEsIHIgPSBuOwoJd2hpbGUobDw9cil7CgkJd2hpbGUoIXEuZW1wdHkoKSkgcS5wb3AoKTsKCQlpbnQgbWlkID0gKHIrbCkvMjsKCQlmb3IgKGludCBpID0gbWlkOyBpIDw9IG47IGkrKyl7CgkJCXEucHVzaChtYWtlX3BhaXIoLWFbaV0sc1thW2ldLTFdKSk7CgkJfQoJCQoJCS8vY291dCA8PCAibDogIiA8PCBsIDw8ICIgcjogIiA8PCByIDw8ICIgbWlkOiAiIDw8IG1pZCA8PCBlbmRsOwoJCWlmIChrdHJhKCkpIGw9bWlkKzE7CgkJZWxzZSByPW1pZC0xOwoJCS8vY291dCA8PCAibDogIiA8PCBsIDw8ICIgcjogIiA8PCByIDw8ICIJIG1pZDogIiA8PCBtaWQgPDwgZW5kbDsKCQkvL3N5c3RlbSgicGF1c2UiKTsKCX0KCWNvdXQgPDwgcjsKCXJldHVybiAwOwp9