Problem:
Score : 200 points

Problem Statement

We have a grid with N rows and M columns of squares. Initially, all the squares are white.

There is a button attached to each row and each column.
When a button attached to a row is pressed, the colors of all the squares in that row are inverted; that is, white squares become black and vice versa.
When a button attached to a column is pressed, the colors of all the squares in that column are inverted.

Takahashi can freely press the buttons any number of times. Determine whether he can have exactly K black squares in the grid.

Constraints

1 \leq N,M \leq 1000

0 \leq K \leq NM

Input

Input is given from Standard Input in the following format:

N M K

Output

If Takahashi can have exactly K black squares in the grid, print Yes; otherwise, print No.

Sample Input 1

2 2 2

Sample Output 1

Yes

Press the buttons in the order of the first row, the first column.

Sample Input 2

2 2 1

Sample Output 2

No

Sample Input 3

3 5 8

Sample Output 3

Yes

Press the buttons in the order of the first column, third column, second row, fifth column.

Sample Input 4

7 9 20

Sample Output 4

No

Solution in Python (2.7.6) (judge verdict: Wrong Answer)

#!/usr/bin/env python                                                                                          
#-*- coding: utf-8 -*-                                                                                         

import numpy as np
from itertools import product

if __name__ == "__main__":
    N, M, K = map(int, raw_input().split())
    success = False
    for n, m in product(range(N+1), range(M+1)):
        rows = np.zeros((N, M))
        rows[:, 0:n] = 1
        cols = np.zeros((N, M))
        cols[0:m, :] = 1
        board = rows + cols
        board = np.where(board % 2 == 1, 1, 0)
        if np.sum(board) == K:
            success = True
            break
    if success:
        print "Yes"
    else:
        print "No"