#include #define int long long using namespace std; const int mod=1000000007; signed main(){ int N,M,K; cin>>N>>M>>K; vector A(N),B(M); uint32_t a=0; map C,D,E,F; C[0]++,D[0]++; for(int &i:A){ cin>>i; a^=i; C[a]=(C[a]+1)%mod; } a=0; for(int &i:B){ cin>>i; a^=i; D[a]=(D[a]+1)%mod; } if(C.size()==1 && D.size()==1){ if(K!=0)puts("0"); else cout<<(N*(N-1)/2%mod+N)%mod*((M*(M-1)/2%mod+M)%mod)%mod< p1:C){ for(pair p2:C){ if(p1 p1:D){ for(pair p2:D){ if(p1 p:E)ans=(ans+p.second*F[p.first^K]%mod)%mod; cout<