#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define FOR(i,l,r) for(int i = l; i<= r; i++)
#define fastIO ios::sync_with_stdio(0);cout.tie(0);cin.tie(0)
#define FORD(i,r,l) for(int i = r; i >=l ; i--)
#define LINF 0x3f3f3f3f3f3f3f3f
#define pb push_back
#define fi first
#define se second
#define pii pair<int,int>
string s;
int q;
int n;
int cnt[30][200005];
vector<pii> qr;
int a[100005];
void read(){
cin>>s>>q;
FOR(i,1,q){
int a,b;
cin>>a>>b;
qr.pb({a,b});
}
FOR(i,1,s.size()){
cin>>a[i];
}
n = s.size();
s = ' ' + s;
FOR(i,1,n){
FOR(j,0,26) cnt[j][i] = cnt[j][i-1];
cnt[s[i]-'a'][i] ++;
}
}
bool check(int k){
int dem[30][200005];
FOR(c,0,25){
FOR(i,0,n){
dem[c][i] = cnt[c][i];
}
}
FOR(i,1,k){
dem[s[a[i]]-'a'][a[i]]--;
}
FOR(i,1,q){
int l = qr[i].fi;
int r = qr[i].se;
FOR(c,0,26){
if(dem[c][r] - dem[c][l-1] > 1) return false;
}
}
return true;
}
void solve(){
int l = 1;
int r = s.size();
int ans = 0;
while(l <= r){
int mid = (r+l)/2;
if(check(mid)){
r= mid -1;
ans = mid;
}
else{
l = mid + 1;
}
}
cout<<ans;
}
int main(){
fastIO;
read();
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgRk9SKGksbCxyKSBmb3IoaW50IGkgPSBsOyBpPD0gcjsgaSsrKQojZGVmaW5lIGZhc3RJTyBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTtjb3V0LnRpZSgwKTtjaW4udGllKDApCiNkZWZpbmUgRk9SRChpLHIsbCkgZm9yKGludCBpID0gcjsgaSA+PWwgOyBpLS0pCiNkZWZpbmUgTElORiAweDNmM2YzZjNmM2YzZjNmM2YKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CnN0cmluZyBzOwppbnQgcTsKaW50IG47CmludCBjbnRbMzBdWzIwMDAwNV07CnZlY3RvcjxwaWk+IHFyOwppbnQgYVsxMDAwMDVdOwp2b2lkIHJlYWQoKXsKY2luPj5zPj5xOwpGT1IoaSwxLHEpewogICAgIGludCBhLGI7CiAgICAgY2luPj5hPj5iOwogICAgIHFyLnBiKHthLGJ9KTsKICB9CiAgRk9SKGksMSxzLnNpemUoKSl7CiAgICAgY2luPj5hW2ldOwogIH0KICAgbiA9IHMuc2l6ZSgpOwogIHMgPSAnICcgKyBzOwogIEZPUihpLDEsbil7CiAgICAgRk9SKGosMCwyNikgY250W2pdW2ldID0gY250W2pdW2ktMV07CiAgICAgY250W3NbaV0tJ2EnXVtpXSArKzsKICB9Cn0KYm9vbCBjaGVjayhpbnQgayl7CiAgaW50IGRlbVszMF1bMjAwMDA1XTsKRk9SKGMsMCwyNSl7CiAgICBGT1IoaSwwLG4pewogICAgICAgIGRlbVtjXVtpXSA9IGNudFtjXVtpXTsKICAgIH0KfQogICBGT1IoaSwxLGspewogICAgICBkZW1bc1thW2ldXS0nYSddW2FbaV1dLS07CiAgIH0KICAgRk9SKGksMSxxKXsKICAgICAgaW50IGwgPSBxcltpXS5maTsKICAgICAgaW50IHIgPSBxcltpXS5zZTsKICAgICAgRk9SKGMsMCwyNil7CiAgICAgICAgICAgaWYoZGVtW2NdW3JdIC0gZGVtW2NdW2wtMV0gPiAxKSByZXR1cm4gZmFsc2U7CiAgICAgICB9CiAgIH0KICAgcmV0dXJuIHRydWU7Cn0Kdm9pZCBzb2x2ZSgpewogICBpbnQgbCA9IDE7CiAgIGludCByID0gcy5zaXplKCk7CiAgIGludCBhbnMgPSAwOwogICB3aGlsZShsIDw9IHIpewogICAgaW50IG1pZCA9IChyK2wpLzI7CiAgICBpZihjaGVjayhtaWQpKXsKICAgICAgICByPSBtaWQgLTE7CiAgICAgICAgYW5zID0gbWlkOwogICAgfQogICAgZWxzZXsKICAgICAgICBsID0gbWlkICsgMTsKICAgIH0KICAgfQogICBjb3V0PDxhbnM7Cn0KaW50IG1haW4oKXsKZmFzdElPOwpyZWFkKCk7CnNvbHZlKCk7Cn0K