#include "bits/stdc++.h"
#define puba push_back
#define ff first
#define ss second
#define bend(_x) begin(_x), end(_x)
#define szof(_x) ((int) (_x).size())
#define TASK_NAME ""

using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int INF = 1e9 + 7;
const ll INFL = 1e18 + 123;
const double PI = atan2(0, -1);
mt19937 tw(960172);
ll rnd(ll x, ll y) { static uniform_int_distribution<ll> d; return d(tw) % (y - x + 1) + x; }

const int MAXN = 505;
int n, m;
int field[MAXN][MAXN];

int on_field(int x, int y) {
    return 0 <= x && x < n && 0 <= y && y < m;
}

int main() {
    //freopen(TASK_NAME ".in", "r", stdin);
    //freopen(TASK_NAME ".out", "w", stdout);
    cerr << fixed << setprecision(15);
    cout << fixed << setprecision(15);
    
    int d;
    scanf("%d%d%d", &n, &m, &d);

    if (false && d == 2) {
        for (int i = 0; i < n; ++i) {
            vector<int> colors;
            if (i % 4 == 0) {
                colors = {0, 1};
            } else if (i % 4 == 1) {
                colors = {2, 3};
            } else if (i % 4 == 2) {
                colors = {1, 0};
            } else {
                colors = {3, 2};
            }
            for (int j = 0; j < m; j += 2) {
                for (int k = 0; k < 2 && j + k < m; ++k) {
                    field[i][j + k] = colors[j % 4 / 2];
                }
            }
        }
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < m; ++j) {
                cout << "RYGB"[field[i][j]];
            }
            cout << "\n";
        }
        return 0;
    }

    int r = (d - 1) / 2;

    vector<pair<pii, int>> arr;
    for (int q = 0; q < 4; ++q) {
        int x = 0, y = 0;
    
        if (q == 1) {
            x = r + 1, y = r;
            if (d % 2 == 0)  {
                ++y;
            }
        } else if (q == 2) {
            x = -r, y = r + 1;
            if (d % 2 == 0)  {
                ++y;
            }
        } else if (q == 3) {
            x = 1, y = 2 * r + 1;
            if (d % 2 == 0)  {
                y += 2;
            }
        }

        for (int i = -r; i <= r; ++i) {
            for (int j = -r; j <= r + 1; ++j) {
                int tmp = abs(i) + abs(j);
                if (d % 2 == 0 && j > 0) {
                    --tmp;
                }
                if (tmp <= r) {
                    arr.puba({{x + i, y + j}, q});
                }
            }
        }
    }

    memset(field, -1, sizeof field);

    int dx1 = 2 * r + 2, dy1 = 2 * r;
    int dx2 = -2 * r, dy2 = 2 * r + 2;

    if (d % 2 == 0) {
        dy1 += 2;
        dy2 += 2;
    }

    for (int i = 0; ; ++i) {
        int x = dx1 * i, y = dy1 * i;
        bool gflag = false;
        while (true) {
            bool flag = false;
            for (auto p : arr) {
                int nx = x + p.ff.ff, ny = y + p.ff.ss;
                if (on_field(nx, ny)) {
                    field[nx][ny] = p.ss;
                    flag = true;
                    gflag = true;
                }
            }
            if (y >= m && !flag) {
                break;
            }
            x += dx2;
            y += dy2;
        }

        x = dx1 * i - dx2, y = dy1 * i - dy2;
        while (true) {
            bool flag = false;
            for (auto p : arr) {
                int nx = x + p.ff.ff, ny = y + p.ff.ss;
                if (on_field(nx, ny)) {
                    field[nx][ny] = p.ss;
                    flag = true;
                    gflag = true;
                }
            }
            if (y < 0 && !flag) {
                break;
            }
            x -= dx2;
            y -= dy2;
        }
        
        /*
        for (int i2 = 0; i2 < n; ++i2) {
            for (int j2 = 0; j2 < m; ++j2) {
                cerr << field[i2][j2];
            }
            cerr << endl;
        }
        cerr << endl;
        */
        if (!gflag) {
            break;
        }
    }

    string colors = "RYGB";

    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            cout << colors[field[i][j]];
        }
        cout << "\n";
    }

    #ifdef LOCAL
        cerr << "time: " << clock() << endl;
    #endif
    return 0;
}

Measured memory_bytes: 26984