```cpp
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,k,a[105],b[105],c[105],d[105];
bool f=0;
signed main(){
//freopen("status.in","r",stdin);
//freopen("status.out","w",stdout);
cin>>n>>m>>k;
for(int i=1;i<=m;i++){
cin>>a[i];
b[a[i]]=i;
}
for(int i=1;i<=k;i++){
int x,y;
cin>>x>>y;
if(b[x])f=1;
c[x]=y;
d[y]=x;
}
if(c[1]){
cout<<c[1]<<"\n";
return 0;
}
if(b[1]){
for(int i=1;i<=n;i++){
if(!d[i])b[1]--;
if(b[1]==0){
cout<<i<<"\n";
return 0;
}
}
}
if(f==0){
for(int i=1;i<=n;i++){
if(d[i]==0){
cout<<i<<"\n";
return 0;
}
}
}
if(!c[a[m]])
for(int i=n;i>=1;i--){
if(!d[i]){
d[i]=a[m];
c[a[m]]=i;
break;
}
}
for(int i=m-1;i>=1;i--){
if(c[a[i+1]]&&!c[a[i]]){
int z=c[a[i+1]]-1;
while(d[z])z--;
d[z]=a[i];
c[a[i]]=z;
}
}
// for(int i=1;i<=n;i++){
// printf("d[%d]=%d\n",i,d[i]);
// }
for(int i=1;i<=n;i++){
if(d[i]==0){
cout<<i<<"\n";
return 0;
}
}
return 0;
}
```
by oier25 @ 2024-03-24 15:42:02