#include <bits/stdc++.h>
using namespace std;
int n, k, a, b, oa, ob;
char fir = 'G', sec = 'B';
bool check(string s) {
  if ((int)s.size() != n) {
    return false;
  }
  int cfir = 0, csec = 0;
  for (int i = 0; i < n; ++i) {
    if (s[i] == fir) {
      cfir++;
    }
    if (s[i] == sec) {
      csec++;
    }
  }
  if (cfir != oa || csec != ob) {
    return false;
  }
  char last = '.';
  int cnt = 0;
  for (int i = 0; i < n; ++i) {
    if (s[i] == last) {
      cnt++;
    } else {
      cnt = 1;
      last = s[i];
    }
    if (cnt > k) {
      cout << i << endl;
      return false;
    }
  }
  return true;
}
int main() {
  scanf("%d %d %d %d", &n, &k, &a, &b);
  if (n / (k + 1) > b || n / (k + 1) > a) {
    printf("NO\n");
    return 0;
  }
  oa = a;
  ob = b;
  string s = "";
  char last = '.';
  int cnt = 0;
  while (a || b) {
    if (a > b) {
      if (last == fir && cnt == k) {
        if (b) {
          s += sec;
          b--;
          last = sec;
          cnt = 1;
          continue;
        }
        printf("NO\n");
        return 0;
      }
      s += fir;
      a--;
      if (last == fir) {
        cnt++;
      } else {
        last = fir;
        cnt = 1;
      }
    } else {
      if (last == sec && cnt == k) {
        if (a) {
          s += fir;
          a--;
          last = fir;
          cnt = 1;
          continue;
        }
        printf("NO\n");
        return 0;
      }
      s += sec;
      b--;
      if (last == sec) {
        cnt++;
      } else {
        last = sec;
        cnt = 1;
      }
    }
  }
  if (check(s)) {
    cout << s << endl;
  } else {
    cout << "NO" << endl;
  }
  return 0;
}
