#include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll MOD = 1000000007; template T pow(T a, ll n) { T ans = 1; T tmp = a; for (int i = 0; i <= 60; i++) { ll m = (ll)1 << i; if (m & n) { ans *= tmp; ans %= MOD; } tmp *= tmp; tmp %= MOD; } return ans; } ll N, M, X; ll A[200000], B[200000]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout << setprecision(10) << fixed; cin >> N >> M >> X; ll axor = 0, bxor = 0; for(int i = 0; i < N; i++){ cin >> A[i]; axor ^= A[i]; } for(int i = 0; i < M; i++){ cin >> B[i]; bxor ^= B[i]; } if(axor == bxor){ cout << pow(((ll)1<