#include <bits/stdc++.h>
using namespace std;
long long fact(long long x, long long mod, int& cnt) {
  long long res = 1;
  for (long long j = 1; j <= x; ++j) {
    long long i = j;
    if (cnt) {
      if (i % 2 == 0) {
        i >>= 1;
        cnt--;
      }
    }
    res *= (i % mod);
    res %= mod;
  }
  return res;
}
long long arr[100000];
int main() {
  int cnt = 0;
  map<long long, long long> m;
  map<long long, long long>::iterator it;
  int n;
  cin >> n;
  for (int i = 0; i < n; ++i) {
    long long a;
    cin >> a;
    arr[i] = a;
    m[a]++;
  }
  for (int i = 0; i < n; ++i) {
    long long a;
    cin >> a;
    m[a]++;
    if (a == arr[i]) {
      ++cnt;
    }
  }
  long long mod, res = 1;
  cin >> mod;
  for (it = m.begin(); it != m.end(); it++) {
    res *= fact(it->second, mod, cnt);
    res %= mod;
  }
  cout << res;
  return 0;
}
