#include <bits/stdc++.h>
using namespace std;
string s1, s2;
int a[200005];
int x;
bool check(int spsm) {
  int k = 0;
  string s = s1;
  while (spsm) s[a[spsm--]] = '~';
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == s2[k]) k++;
    if (k == s2.size()) return 1;
  }
  return 0;
}
void ppap(int l, int r) {
  if (l == r) {
    if (check(l)) {
      cout << l;
    } else
      cout << 0;
    exit(0);
  }
  int mid = l + r + 1 >> 1;
  if (check(mid))
    ppap(mid, r);
  else
    ppap(l, mid - 1);
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cerr.tie(0);
  cout.tie(0);
  cin >> s1;
  cin >> s2;
  int sz = s1.size();
  for (int i = 1; i <= s1.size(); i++) {
    cin >> x;
    x--;
    a[i] = x;
  }
  ppap(1, sz);
}
