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: import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, copy, functools
  
  sys.setrecursionlimit(10**7)
  inf = 10**20
  eps = 1.0 / 10**15
  mod = 10**9 + 7
  
  
  def LI():
      return [int(x) for x in sys.stdin.readline().split()]
  
  
  def LI_():
      return [int(x) - 1 for x in sys.stdin.readline().split()]
  
  
  def LF():
      return [float(x) for x in sys.stdin.readline().split()]
  
  
  def LS():
      return sys.stdin.readline().split()
  
  
  def I():
      return int(sys.stdin.readline())
  
  
  def F():
      return float(sys.stdin.readline())
  
  
  def S():
      return input()
  
  
  def main():
      h, w, d = LI()
      r = [["."] * w for _ in range(h)]
      cs = ["R", "Y", "G", "B"]
      for i in range(0, h + d, d):
          for j in range(0, w + d, d):
              c = cs[(i + j) % (d * 2) // d]
              for ii in range(-d, d):
                  for jj in range(-d, d):
                      if (
                          i + ii < 0
                          or i + ii >= h
                          or j + jj < 0
                          or j + jj >= w
                          or abs(ii) + abs(jj) >= d
                          or abs(ii) + abs(d - jj - 1) >= d
                      ):
                          continue
                      r[i + ii][j + jj] = c
      for i in range(1, h + d, d):
          for j in range(0, w + d, d):
              c = cs[(i + j) % (d * 2) // d + 2]
              for ii in range(d):
                  for jj in range(d):
                      if i + ii < 0 or i + ii >= h or j + jj < 0 or j + jj >= w:
                          continue
                      if abs(ii) + abs(jj) >= d or r[i + ii][j + jj] != "." or jj > ii:
                          break
                      r[i + ii][j + jj] = c
                  for jj in range(-1, -d - 1, -1):
                      if i + ii < 0 or i + ii >= h or j + jj < 0 or j + jj >= w:
                          continue
                      if abs(ii) + abs(jj) >= d or r[i + ii][j + jj] != ".":
                          break
                      r[i + ii][j + jj] = c
  
      return "\n".join(["".join(c) for c in r])
  
  
  print(main())
  
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`"}]