output_description: Print a way to paint the squares satisfying the condition, in the following
  format. If the square (i,\ j) is painted in red, yellow, green or blue, c_{ij}
  should be `R`, `Y`, `G` or `B`, respectively.
  
      
      
      c_{11}c_{12}...c_{1W}
      :
      c_{H1}c_{H2}...c_{HW}
      
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      H W d
attempt: H, W, d = map(int, input().strip().split(" "))
  
  m = [[None for _ in range(W)] for _ in range(H)]
  unopen = [(i, j) for i in range(H) for j in range(W)]
  
  cands = [[["R", "G", "B", "Y"] for _ in range(W)] for _ in range(H)]
  
  prio = {(i, j): 0 for i in range(H) for j in range(W)}
  
  
  def list_up(target):
      i, j = target
      global H
      global W
      global d
      out = []
      for x in range(-d, d + 1):
          if not (0 <= i + x < H):
              continue
          g = d - abs(x)
          g = [g, -g] if g != 0 else [g]
          for y in g:
              if not (0 <= j + y < W):
                  continue
              out.append((x + i, y + j))
      return out
  
  
  default_color_dict = {"R": False, "G": False, "B": False, "Y": False}
  
  target = (0, 0)
  m[target[0]][target[1]] = "R"
  unopen.remove(target)
  cands[0][0] = ["R"]
  prio[target] = -1
  lu = list_up(target)
  for n in list_up(target):
      i, j = n
      if n in unopen and "R" in cands[i][j]:
          cands[i][j].remove("R")
          prio[n] += 1
  
  
  def print_m():
      global m
      print("\n".join(["".join(["n" if l is None else l for l in n]) for n in m]))
  
  
  while len(unopen):
      next_target, p = max(prio.items(), key=lambda x: x[1])
      cdict = dict(default_color_dict)
      c = cands[next_target[0]][next_target[1]][0]
      m[next_target[0]][next_target[1]] = c
      prio[next_target] = -1
      unopen.remove(next_target)
      for t in list_up(next_target):
          if t in unopen and c in cands[t[0]][t[1]]:
              prio[t] += 1
              cands[t[0]][t[1]].remove(c)
  print_m()
  
problem_description: Statement
  
  We have a grid with H rows and W columns of squares. We will represent the
  square at the i-th row from the top and j-th column from the left as (i,\ j).
  Also, we will define the distance between the squares (i_1,\ j_1) and (i_2,\
  j_2) as |i_1 - i_2| + |j_1 - j_2|.
  
  Snuke is painting each square in red, yellow, green or blue. Here, for a given
  positive integer d, he wants to satisfy the following condition:
  
    * No two squares with distance exactly d have the same color.
  
  Find a way to paint the squares satisfying the condition. It can be shown that
  a solution always exists.
samples: [{"input": "2 2 1", "output": "RY\n    GR\n    \n\nThere are four pairs of squares with distance exactly 1. As shown below, no\ntwo such squares have the same color.\n\n  * (1,\\ 1), (1,\\ 2) : `R`, `Y`\n  * (1,\\ 2), (2,\\ 2) : `Y`, `R`\n  * (2,\\ 2), (2,\\ 1) : `R`, `G`\n  * (2,\\ 1), (1,\\ 1) : `G`, `R`\n\n* * *"}, {"input": "2 3 2", "output": "RYB\n    RGB\n    \n\nThere are six pairs of squares with distance exactly 2. As shown below, no two\nsuch squares have the same color.\n\n  * (1,\\ 1) , (1,\\ 3) : `R` , `B`\n  * (1,\\ 3) , (2,\\ 2) : `B` , `G`\n  * (2,\\ 2) , (1,\\ 1) : `G` , `R`\n  * (2,\\ 1) , (2,\\ 3) : `R` , `B`\n  * (2,\\ 3) , (1,\\ 2) : `B` , `Y`\n  * (1,\\ 2) , (2,\\ 1) : `Y` , `R`"}]