You are given an array a of length n and array b of length m both consisting of only integers 0 and 1. Consider a matrix c of size n × m formed by following rule: c_{i, j} = a_i ⋅ b_j (i.e. a_i multiplied by b_j). It's easy to see that c consists of only zeroes and ones too.

How many subrectangles of size (area) k consisting only of ones are there in c?

A subrectangle is an intersection of a consecutive (subsequent) segment of rows and a consecutive (subsequent) segment of columns. I.e. consider four integers x_1, x_2, y_1, y_2 (1 ≤ x_1 ≤ x_2 ≤ n, 1 ≤ y_1 ≤ y_2 ≤ m) a subrectangle c[x_1 ... x_2][y_1 ... y_2] is an intersection of the rows x_1, x_1+1, x_1+2, ..., x_2 and the columns y_1, y_1+1, y_1+2, ..., y_2.

The size (area) of a subrectangle is the total number of cells in it.

Input

The first line contains three integers n, m and k (1 ≤ n, m ≤ 40 000, 1 ≤ k ≤ n ⋅ m), length of array a, length of array b and required size of subrectangles.

The second line contains n integers a_1, a_2, …, a_n (0 ≤ a_i ≤ 1), elements of a.

The third line contains m integers b_1, b_2, …, b_m (0 ≤ b_i ≤ 1), elements of b.

Output

Output single integer — the number of subrectangles of c with size (area) k consisting only of ones.

Examples

Input


3 3 2
1 0 1
1 1 1


Output


4


Input


3 5 4
1 1 1
1 1 1 1 1


Output


14

Note

In first example matrix c is:

<image>

There are 4 subrectangles of size 2 consisting of only ones in it:

<image>

In second example matrix c is:

<image>
"""
"""
from math import sqrt, ceil


def int_as_array(num): return list(map(int, [y for y in str(num)]))


def array_as_int(arr): return int(''.join(map(str, arr)))


def read_int(): return int(input())


def read_array(): return list(map(int, input().split(' ')))


def array_to_string(arr, sep=' '): return sep.join(map(str, arr))


def matrix_to_string(arr, sep=' '): return '[\n' + '\n'.join(
    [sep.join(map(str, row)) for row in arr]) + '\n]'


def solve(N, M, K, A, B):
    L_a = max_ones(A)
    L_b = max_ones(B)
    total = 0
    for p, q in all_divisors(K):
        total += count_recs(p, q, L_a, L_b)
    print(total)
    return total


def all_divisors(K):
    out = []
    sqrt_k = ceil(sqrt(K + 1))
    for p in range(1, sqrt_k):
        if K % p == 0:
            q = K // p
            out.append((p, q))
            if p != q:
                out.append((q, p))
    return out


def max_ones(a):
    L_a = [0]
    seg_i = 0
    for i, j in enumerate(a):
        if j == 1:
            L_a[seg_i] += 1
        elif L_a[seg_i] > 0:
            L_a.append(0)
            seg_i += 1
    return L_a


def count_recs(p, q, L_a, L_b):
    countW = 0
    countH = 0
    for l in L_a:
        if l >= p:
            countW += l-p+1
    for j in L_b:
        if j >= q:
            countH += j-q+1
    return countH*countW


N, M, K = read_array()
A = read_array()
B = read_array()
solve(N, M, K, A, B)
