output_description: Print `YES` if the objective is achievable; print `NO` otherwise.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      R C N
      x_{1,1} y_{1,1} x_{1,2} y_{1,2}
      :
      x_{N,1} y_{N,1} x_{N,2} y_{N,2}
attempt: r, c, n = map(int, input().split())
  l = []
  for i in range(n):
      x1, y1, x2, y2 = map(int, input().split())
      if (x1 == 0 or x1 == r or y1 == 0 or y1 == c) and (
          x2 == 0 or x2 == r or y2 == 0 or y2 == c
      ):
          if x1 == 0:
              l.append((y1, i))
          elif y1 == c:
              l.append((c + x1, i))
          elif x1 == r:
              l.append((c * 2 + r - y1, i))
          else:
              l.append((r * 2 + c * 2 - x1, i))
          if x2 == 0:
              l.append((y2, i))
          elif y2 == c:
              l.append((c + x2, i))
          elif x2 == r:
              l.append((c * 2 + r - y2, i))
          else:
              l.append((r * 2 + c * 2 - x2, i))
  l.sort()
  s = [l[0][1]]
  for x, i in l[1:]:
      s.append(0)
      s.append(i)
  r = [0] * len(s)
  i, j = 0, 0
  while i < len(s):
      while i - j >= 0 and i + j < len(s) and s[i - j] == s[i + j]:
          j += 1
      r[i] = j
      k = 1
      while i - k >= 0 and k + r[i - k] < j:
          r[i + k] = r[i - k]
          k += 1
      i += k
      j -= k
  for i in range(1, len(s), 2):
      p = r[i]
      if i == p - 1:
          m = (len(s) - p * 2) // 2
          if m == -1 or (m > 0 and r[-m] == m):
              print("YES")
              exit(1)
  print("NO")
  
problem_description: Statement
  
  Snuke is playing a puzzle game. In this game, you are given a rectangular
  board of dimensions R × C, filled with numbers. Each integer i from 1 through
  N is written twice, at the coordinates (x_{i,1},y_{i,1}) and
  (x_{i,2},y_{i,2}).
  
  The objective is to draw a curve connecting the pair of points where the same
  integer is written, for every integer from 1 through N. Here, the curves may
  not go outside the board or cross each other.
  
  Determine whether this is possible.
samples: [{"input": "4 2 3\n    0 1 3 1\n    1 1 4 1\n    2 0 2 2", "output": "YES\n    \n\n![](https://atcoder.jp/img/arc076/hogehogehoge.png)\n\nThe above figure shows a possible solution.\n\n* * *"}, {"input": "2 2 4\n    0 0 2 2\n    2 0 0 1\n    0 2 1 2\n    1 1 2 1", "output": "NO\n    \n\n* * *"}, {"input": "5 5 7\n    0 0 2 4\n    2 3 4 5\n    3 5 5 2\n    5 5 5 4\n    0 3 5 1\n    2 2 4 4\n    0 5 4 1", "output": "YES\n    \n\n* * *"}, {"input": "1 1 2\n    0 0 1 1\n    1 0 0 1", "output": "NO"}]