#include<bits/stdc++.h>
#define lowbit(x) (x&(-x))
using namespace std;
int n,cnt,m,c;
unsigned long long k;
int a;
int q,p;
bool f[100];
bool x[100];
int main(){
scanf("%d%d%d%u",&n,&m,&c,&k);
for(int i=1;i<=n;i++){
scanf("%d",&a);
for(int j=0;a;j++){
f[j]|=(a&1);
a>>=1;
}
}
for(int i=1;i<=m;i++){
scanf("%d%d",&p,&q);
x[p]=1^f[p];
}
for(int i=0;i<k;i++){
if(x[i]){
cnt++;
}
}
k=k-cnt;
if(k==64)return !printf("18446744073709551616");
else cout<<(1<<k)-n;
return 0;
}