[Codeforces Round #626 (Div. 2, based on Moscow Open Olympiad in Informatics)] B

//很好玩的一道题
#include <bits/stdc++.h>
#define P pair<int, int>
#define ll long long
using namespace std;
 
const int maxn = 4e4 + 5;
 
int n, m, k;
ll ans;
int a[maxn], b[maxn];
 
int main()
{
    int c[5] = { 0, 1, 2, 3 };
    int ccc = lower_bound(c + 1, c + 4, 6) - c;
    cin >> n >> m >> k;
    for (int i = 1; i <= n; ++i) cin >> a[i], a[i] = a[i - 1] * a[i] + a[i];
    for (int i = 1; i <= m; ++i) cin >> b[i], b[i] = b[i - 1] * b[i] + b[i];
    sort(a + 1, a + 1 + n), sort(b + 1, b + 1 + m);
    for (int i = 1; i <= k / i; ++i)
        if (k % i == 0)
        {
            int aa = lower_bound(a + 1, a + 1 + n, i) - a;
            int bb = lower_bound(b + 1, b + 1 + m, k / i) - b;
            if (aa <= n && bb <= m) ans += (n - aa + 1) * (m - bb + 1);
            if (k / i == i) break;
            aa = lower_bound(a + 1, a + 1 + n, k / i) - a;
            bb = lower_bound(b + 1, b + 1 + m, i) - b;
            if (aa <= n && bb <= m) ans += (n - aa + 1) * (m - bb + 1);
        }
    cout << ans;
    return 0;
}