#include <bits/stdc++.h>
using namespace std;
void Init()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
typedef long long ll;
const int maxn=2e5+5;
int a[maxn],b[maxn],cnt[maxn];
int n,k,r;
int m=0,ans=INT_MAX;
void Input()
{
cin>>n>>k>>r;
for (int i=1;i<=n;i++) cin>>a[i],a[i]++;
for (int i=1;i<=r;i++)
{
int x,y;
cin>>x>>y;
b[x+1]=y;
}
for (int i=1;i<=k;i++)
if (b[i]==0)
m++;
}
void Bai()
{
int i=0,j=0;
while (i<=n&&j<=i)
{
if (m<k)
{
i++;
cnt[a[i]]++;
if (b[a[i]]>0&&cnt[a[i]]==b[a[i]]) m++;
}
else
{
ans=min(ans,i-j);
// cout<<i<<" "<<j<<"\n";
j++;
if (b[a[j]]>0&&cnt[a[j]]==b[a[j]]) m--;
cnt[a[j]]--;
}
}
if (ans==INT_MAX) cout<<"impossible";
else cout<<ans;
}
int main()
{
Init();
Input();
Bai();
return 0;
}