#include<bits/stdc++.h>
using namespace std;
int n,m,c,k,no;
unsigned long long flag,x;
int main()
{
scanf("%d %d %d %d",&n,&m,&c,&k);
for(int i=1;i<=n;i++)
{
scanf("%llu",&x);
flag=flag|x;
}
for(int i=1;i<=m;i++)
{
int p,q;
scanf("%d %d",&p,&q);
if(((1ll<<p)&flag)==0)
{
no++;
flag=flag|(1ll<<p);
}
}
if(no==0 && k==64) cout<<(unsigned long long)-1;
else cout<<(1<<(k-no))-n;
return 0;
}