// 题意就是 要最大只能连续放k个一样的。。
// 我们给他抽象起来。固定a为数量多的 b为数量少的。
// 因为最多可以 类似 xxx y xxx 比如k=3
// 也就是b*k=a-k。。这样才可以。
// 如果还小于。那就不行。。
// 至于输出。。我们就先按照 k个a 一个b这样的最快的消耗掉a
// 然后 剩下ab一样多 就ababab这样放。。。
// 看了下提交区的红名的代码。相比之下 我这种构造方式算比较简洁的 啊哈哈。记录下
#include <bits/stdc++.h>
using namespace std;
#define easy_code ios::sync_with_stdio(0), cin.tie(nullptr)
#define endl '\n'
#define int long long
#define ar array<int, 2>
#define arr array<int, 3>
int T, n, m, k, inf = 1e18;
int mod = 998244353; // 1e9+7;
const int N = 201314;
signed main()
{
easy_code;
#ifdef DEBUG
freopen("../1.in", "r", stdin);
#endif
int a, b;
char x = 'G', y = 'B';
cin >> n >> k >> a >> b;
if (a < b)
swap(a, b), swap(x, y);
if (k == 0 || b * k < a - k)
cout << "NO";
else
{
while (a || b)
{
int cnt = 0;
while (a > b && cnt < k)
cout << x, a--, cnt++;
if (b)
cout << y, b--;
}
}
};