output_description: Print the maximum number of desires that can be satisfied at the same time.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
      x_1 y_1 c_1
      x_2 y_2 c_2
      :
      x_N y_N c_N
attempt: n, k = map(int, input().split())
  # xs = []
  # ys = []
  # cs = []
  
  kk = k * 2
  
  pos = [0] * (kk * kk)
  
  for _ in range(n):
      x, y, c = input().split()
      x = int(x) % kk
      y = int(y) % kk
      if c == "B":
          x = (x + k) % kk
      pos[y * kk + x] += 1
  
  # for i in range(kk):
  #    print(pos[i*kk:i*kk+kk])
  # print('--')
  
  acc = [0] * (kk * kk)
  for y in range(kk):
      s = acc[y * kk] = sum(pos[y * kk : y * kk + k])
      for x in range(1, k + 1):
          acc[y * kk + x] = s = s - pos[y * kk + x - 1] + pos[y * kk + x + k - 1]
      for x in range(k + 1, kk):
          acc[y * kk + x] = s = s - pos[y * kk + x - 1] + pos[y * kk + x - k - 1]
  
  # for i in range(kk):
  #    print(acc[i*kk:i*kk+kk])
  # print('--')
  
  # reuse memory.
  ans = pos
  
  for x in range(kk):
      s = ans[x] = sum(acc[x : kk * k : kk])
      for y in range(1, k + 1):
          ans[y * kk + x] = s = s - acc[y * kk + x - kk] + acc[y * kk + x + k - kk]
      for y in range(k + 1, kk):
          ans[y * kk + x] = s = s - acc[y * kk + x - kk] + acc[y * kk + x - k - kk]
  
  # for i in range(kk):
  #    print(ans[i*kk:i*kk+kk])
  print(max(ans))
  
problem_description: Statement
  
  AtCoDeer is thinking of painting an infinite two-dimensional grid in a
  _checked pattern of side K_. Here, a checked pattern of side K is a pattern
  where each square is painted black or white so that each connected component
  of each color is a K × K square. Below is an example of a checked pattern of
  side 3:
  
  ![cba927b2484fad94fb5ff7473e9aadef.png](https://img.atcoder.jp/arc089/cba927b2484fad94fb5ff7473e9aadef.png)
  
  AtCoDeer has N desires. The i-th desire is represented by x_i, y_i and c_i. If
  c_i is `B`, it means that he wants to paint the square (x_i,y_i) black; if c_i
  is `W`, he wants to paint the square (x_i,y_i) white. At most how many desires
  can he satisfy at the same time?
samples: [{"input": "4 3\n    0 1 W\n    1 2 W\n    5 3 B\n    5 4 B", "output": "4\n    \n\nHe can satisfy all his desires by painting as shown in the example above.\n\n* * *"}, {"input": "2 1000\n    0 0 B\n    0 1 W", "output": "2\n    \n\n* * *"}, {"input": "6 2\n    1 2 B\n    2 1 W\n    2 2 B\n    1 0 B\n    0 6 W\n    4 5 W", "output": "4"}]