#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int z;
  int cal = 2;
  int n, k, a, b;
  cin >> n >> k >> a >> b;
  vector<pair<int, char>> T = {{a, 'G'}, {b, 'B'}};
  if (T[0].first > T[1].first) swap(T[0], T[1]);
  bool flag = true;
  string s = "";
  int ilosc = T[1].first / k;
  if (T[1].first % k != 0) ilosc++;
  ilosc--;
  a = T[0].first;
  if (ilosc != 0 && a / ilosc < 1)
    flag = false;
  else {
    int curr = 1;
    while (s.size() < n) {
      if (curr) {
        int it = min(k, T[curr].first);
        for (int i = 0; i < it; i++) {
          T[curr].first--;
          s.push_back(T[curr].second);
        }
        curr = 0;
      } else if (ilosc != 0) {
        int it = min(min(k, a / ilosc), T[curr].first);
        for (int i = 0; i < it; i++) {
          s.push_back(T[curr].second);
          T[curr].first--;
        }
        while (it < k && a % ilosc != 0 && T[curr].first) {
          s.push_back(T[curr].second);
          T[curr].first--;
          it++;
          a--;
        }
        curr = 1;
      }
      if (T[1].first == 0) {
        if (T[0].first > k) {
          while (true) {
          }
        }
        while (s.size() < n) {
          if (T[0].first) {
            s.push_back(T[0].second);
            T[0].first--;
          }
        }
      }
    }
  }
  if (flag)
    cout << s << endl;
  else
    cout << "NO" << endl;
  cal++;
  return 0;
}
