import std.stdio, std.array, std.string, std.conv, std.algorithm;
import std.typecons, std.range, std.random, std.math, std.container;
import std.numeric, std.bigint, core.bitop;

void main() {
    auto s = readln.split.map!(to!int);
    auto H = s[0];
    auto W = s[1];
    auto D = s[2];

    auto N = max(H, W) * 3;
    auto B = new int[][](N, N);

    for (int i = 0; i < N; i += D) {
        for (int j = 0; j < N; j += D) {
            int color = 1, used1, used2, used3, used4;
            if (i - 1 >= 0) used1 = B[i-1][j];
            if (j - 1 >= 0) used2 = B[i][j-1];
            if (i - 1 >= 0 && j - 1 >= 0) used3 = B[i-1][j-1];
            if (i - 1 >= 0 && j + D < N) used4 = B[i-1][j+D];
            while (used1 == color || used2 == color || used3 == color || used4 == color)
                color++;
            for (int a = 0; a < D; a++)
                for (int b = 0; b < D; b++)
                    if (i + a < N && j + b < N)
                        B[i+a][j+b] = color;
        }
    }

    
    auto ans = new int[][](H, W);
    auto color = " RYGB";
    
    foreach (i; 0..H) {
        foreach (j; 0..W) {
            int ni = i + j;
            int nj = i - j + W;
            ans[i][j] = B[ni][nj];
        }
    }

    ans.each!(an => an.map!(a => color[a]).writeln);
}
