#include #include #include using ull = unsigned long long; using std::cin,std::cout,std::iostream,std::bitset; ull n,m,c,k,num,input,p,q,ans {1}; bitset<64+5> bt; template class ReadNumber{ char c; T w,n; public: ReadNumber& operator>>(T &num)noexcept{ c=(char)0,w=1,n=0; while(!isdigit(c)){ if constexpr(!std::is_same_v){ if(c=='-')w=-1; } c = getchar(); } while(isdigit(c)){ n = n*10 + (c-'0'); c = getchar(); } num = w*n; return *this; } }; ReadNumber readull; #define cin readull int main(){ cin>>n>>m>>c>>k; if(n==0 && m==0 && k==64){ cout<<"18446744073709551616\n"; return 0; } for(ull i=0;i>input; num |= input; } for(ull i=0;i>p>>q; if(!((num>>p)&1) && !bt[p]){ k--; bt[p]=true; } } for(int i=0;i