n, m, c = map(int, input().split())

# Handle single row or column case
if n == 1 or m == 1:
    print("NO")
else:
    # Calculate position (x, y) of C
    x = (c - 1) // m + 1
    y = c - (x - 1) * m
    
    # Collect valid neighbors
    neighbors = []
    for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
        nx = x + dx
        ny = y + dy
        if 1 <= nx <= n and 1 <= ny <= m:
            neighbors.append((nx, ny))
    
    # Calculate colors of neighbors
    colors = []
    for (nx, ny) in neighbors:
        colors.append((nx + ny) % 2)
    
    # Determine s_parity
    total = n * m
    s_parity = (total - 2) % 2
    
    possible = False
    
    if s_parity == 0:
        # Need at least two neighbors with the same color
        color_count = {}
        for color in colors:
            color_count[color] = color_count.get(color, 0) + 1
        for cnt in color_count.values():
            if cnt >= 2:
                possible = True
                break
    else:
        # Need at least two different colors
        unique_colors = set(colors)
        if len(unique_colors) >= 2:
            possible = True
    
    print("YES" if possible else "NO")