#include <bits/stdc++.h>
using namespace std;
long long sub(long long a, long long b) {
  return (a - b + 1000000007) % 1000000007;
}
long long add(long long a, long long b) { return (a + b) % 1000000007; }
long long mul(long long a, long long b) { return (a * b) % 1000000007; }
vector<long long> adj[100005];
bool vis[100005];
long long siz, edges;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
void dfs(long long i) {
  vis[i] = 1;
  for (long long j = 0; j < adj[i].size(); j++) {
    edges++;
    if (!vis[adj[i][j]]) dfs(adj[i][j]);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long n, sum = 0, t = 1, m = 0;
  while (t--) {
    long long m, p;
    cin >> n >> m >> p;
    vector<long> a(n), b(m);
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < m; i++) cin >> b[i];
    long long a1 = 0, a2 = 0;
    for (int i = 0; i < n; i++) {
      if (a[i] % p) {
        a1 = i;
        break;
      }
    }
    for (int i = 0; i < m; i++) {
      if (b[i] % p) {
        a2 = i;
        break;
      }
    }
    cout << a1 + a2 << '\n';
  }
}
