#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll MOD = 1e9 + 7;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n,k,r;
cin >> n >> k >> r;
vector<ll> lst(n+1);
vector<ll> Occurences(k);
vector<ll> Requirement(k,-1);
for(ll i=1;i<=n;i++){
cin >> lst[i];
Occurences[lst[i]]++;
}
ll ye=0;
for(ll i=0;i<r;i++){
ll b,q;
cin >> b >> q;
Requirement[b]=q;
if(Requirement[b]>Occurences[b]){
ye=1;
}
}
ll L=1;
ll R=n;
while(L<R){
ll Change=0;
//cout << lst[L] << " ";
if(L<R){
if(Occurences[lst[L]]-1>=Requirement[lst[L]]){
Occurences[lst[L]]--;
L++;
Change=1;
}
}
//cout << lst[R] << " " << Occurences[0] << "\n";
if(L<R){
if(Occurences[lst[R]]-1>=Requirement[lst[R]]){
Occurences[lst[R]]--;
R--;
Change=1;
}
}
if(Change==0) break;
}
//cout << L << " " << R << "\n";
if(ye==1){
cout << "impossible" << "\n";
return 0;
}
cout << R-L+1;
}