#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using pll = pair<ll,ll>;
using pld = pair<ld,ld>;
using vll = vector<ll>;
using vld = vector<ld>;
using vstr = vector<string>;
#define _GLIBCXX_DEBUG
#define rep(j, m) for (ll j = 0; j < (ll)(m); j++)
#define rep2(i, l, n) for (ll i = l; i < (ll)(n); i++)
#define all(v) v.begin(), v.end()
const ld PI = 3.1415926535897932;
const ll MOD = 1000000007;
const ll MOD2 = 998244353;
vll dx = {-1,0,1,0};
vll dy = {0,-1,0,1};
vll Dx = {-1,-1,-1,0,0,1,1,1};
vll Dy = {-1,0,1,-1,1,-1,0,1};
const ll INF = 1000000000000000;

vll F(400001);
vll G(400001);

ll nCr_mod3(ll n,ll r) {
    if (n == r || r == 0) {return 1;}
    else {
        if (F[n] > F[r] + F[n - r]) {
            return 0;
        }
        else {
            if (G[n] == G[r]*G[n - r]%3) {return 1;}
            else {return 2;}
        }
    }
    return 0;
}
int main() {
    rep(i,400001) {
        if (i == 0) {
            F[i] = 0;G[i] = 0;
        }
        else if (i == 1) {
            F[i] = 0;G[i] = 1;
        }
        else {
            ll f = i;
            F[i] = F[i - 1];
            while(f%3 == 0) {
                f /= 3;
                F[i]++;
            }
            G[i] = G[i - 1]*f%3;
        }
    }
    ll N;
    cin >> N;
    string C;
    cin >> C;
    vll V(N);
    rep(i,N) {
        if (C[i] == 'B') {V[i] = 0;}
        if (C[i] == 'W') {V[i] = 1;}
        if (C[i] == 'R') {V[i] = 2;}
    }
    ll ans = 0;
    rep(i,N) {
        ans += V[i]*nCr_mod3(N - 1,i);
        ans %= 3;
    }
    if (N%2 == 0) {
        if (ans == 0) {cout << "B" << endl;}
        else if (ans == 1) {cout << "R" << endl;}
        else {cout << "W" << endl;}
    }
    else {
        if (ans == 0) {cout << "B" << endl;}
        else if (ans == 1) {cout << "W" << endl;}
        else {cout << "R" << endl;}
    }
}
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<ll>vl1;
typedef vector<vl1> vl2;

typedef vector<double> vd1;
typedef vector<vl1> vl2;

struct struka
{ll val; ll ind;};
typedef vector<struka> vs;

bool compa(struka& a, struka& b)
{ if(a.val==b.val) return a.ind<b.ind;
  return a.val<b.val;
}

void radi()
{ ll i, j, k, kn, m, n, p, t, l, r, x, y, z, a, b, c, d, ost;
  ll val, pos, tmp, suma, maxa, mina, naso, num, dole, gore, sred;
  double dval;
  string str1;
  char ch1;

  cin>>n;
  vd1 dp(n+2);
  dp[n]=0;
  for(i=n-1;i>=0;i--)
   { dval= ((n-i)*1.)/n;
     dp[i]=(1.+dp[i+1]*dval)/dval;}
  cout<<fixed<<setprecision(10);
  cout<<dp[0]-1.;

}

int main()
{ ll t, p;
  t=1;
  for(p=1;p<=t;p++) radi();
  return 0;
}
/*

*/
