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")