Record
#include <iostream>
#define int __int128_t
int n, m, c, k, bits, lock, have;
std::istream& operator>>(std::istream&, int&);
std::ostream& operator<<(std::ostream&, int);
signed main() {
std::cin >> n >> m >> c >> k;
for (int i = 1; i <= n; i++) {
int a;
std::cin >> a;
have |= a;
}
for (int i = 1; i <= m; i++) {
int a, b;
std::cin >> a >> b;
lock |= (int(1) << a);
}
int bitanswer = 0;
for (int i = 0; i < k; i++)
if (not (lock >> i & 1) or (have >> i & 1))
bitanswer += 1;
std::cout << (int(1) << bitanswer) - n << "\n";
return 0;
}
std::istream& operator>>(std::istream& ip, int& x) {
x = 0;
char ch = getchar();
while (isdigit(ch)) {
x = x * 10 + ch - '0';
ch = getchar();
}
return ip;
}
std::ostream& operator<<(std::ostream& op, int x) {
if (x < 10)
return op << char(x + '0');
op << x / 10 << char(x % 10 + '0');
return op;
}