#include<bits/stdc++.h>
#define pi 3.141592653897932384626
#define abs(x) ((x)>0?(x):(-(x)))
#define eps (double)(0.0000001)
#define fs first
#define se second
//freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);
using namespace std;
int main()
{
    int n,a[400005],mod=3;
    int fex[400005],g[400005],m[3]={1,1,2};
    cin>>n;
    char c;
    char x[10];
    fgets(x,100,stdin);
    fex[0]=0;
    g[0]=0;
    for(int i=1;i<n;++i){
        if(i%3==0)
            if((i/3)%3==0){
                fex[i]=fex[i/3]+1;
                g[i]=g[i/3];
            }
            else{
                fex[i]=fex[i/3]+1;
                g[i]=i/3%3;
            }
        else{
            fex[i]=0;
            g[i]=i%3;
        }
    }
    for(int i=2;i<n;++i){
        fex[i]+=fex[i-1];
        g[i]=(g[i]*g[i-1])%3;
    }
    for(int i=0;i<n;++i){
        cin>>c;
        switch(c){
            case 'B':a[i]=0;
                break;
            case 'R':a[i]=1;
                break;
            case 'W':a[i]=2;
                break;
        };
    }
    int s=0;
    for(int i=0;i<n;++i){
        if(fex[n-1]==fex[i]+fex[n-1-i])
            s+=a[i]*m[g[n-1]]*m[g[i]]*m[g[n-1-i]]%mod;
    }
    s%=mod;
    if(!(n%2))s=(mod-s)%mod;
    cout<<(s==0?'B':(s==1?'R':'W'))<<endl;
    return 0;
}

#include <iostream>
#include <algorithm>
#include <unordered_map>
#include <vector>
#include <string>   
#include <cmath>
#include <queue>
#include <deque>

using namespace std;

typedef long long ll;
typedef vector<ll> vll;
typedef tuple<ll, ll, ll> tplll;
typedef pair<ll, ll> pll;

#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)

const ll MOD = 1e9 + 7;

ll modpow(ll a, ll b) {
	if (b == 0) return 1;
	return modpow(a * a % MOD, b / 2) * (b & 1 ? a : 1) % MOD;
}
 
ll modulo(ll a) {
	a %= MOD; a += MOD; a %= MOD;
	return a;
}

void show_v( const vll l) {
    for (auto x: l) {
        cout << x << " ";
    }
    cout << endl;
}

void show_vpll( const vector<pair<ll, ll>> l) {
    for (auto x: l) {
        cout << get<0>(x) << ":" << get<1>(x) << " ";
    }
    cout << endl;
}

bool comp_tp( const tplll &lhs, const tplll &rhs )
{
    if (std::get<0>(lhs) != std::get<0>(rhs)) return std::get<0>(lhs) < std::get<0>(rhs);
    if (std::get<1>(lhs) != std::get<1>(rhs)) return std::get<1>(lhs) < std::get<1>(rhs);
    return std::get<2>(lhs) < std::get<2>(rhs);
}
bool comp_pll( const pll &lhs, const pll &rhs )
{
    if (std::get<0>(lhs) != std::get<0>(rhs)) return std::get<0>(lhs) < std::get<0>(rhs);
    if (std::get<1>(lhs) != std::get<1>(rhs)) return std::get<1>(lhs) < std::get<1>(rhs);
    else return true;
}

vll all_divisors(ll x, bool with_self=true, bool do_sort=false){
    // ex: 100 -> [2,50,4,25,5,20,10,(100 if self=true)]
    vll ret;
    for (ll i = 2; i < (ll)sqrt(x) + 1; i++) {
        if (x % i == 0) {
            ret.push_back(i);
            if (x != i*i) {
                ret.push_back(x/i);
            }
        }
    }
    if (with_self) {ret.push_back(x);}
    if (do_sort) {sort(ret.begin(), ret.end());}
    return ret;
}
unordered_map<ll, ll> prime_factors(ll x) {
    unordered_map<ll, ll> ret;
    for (ll i=2; i < sqrt(x) + 2; i++) {
        if (x % i != 0) { continue; } 
        ll tmp = 0;
        while(x % i == 0) {
            tmp++;
            x = x/i;
        }
        ret[i] = tmp;
    }

    if (x != 1) {ret[x] = 1;}
    return ret;
}

long long extGCD(long long a, long long b, long long &x, long long &y) {
    if (b == 0) {
        x = 1;
        y = 0;
        return a;
    }
    long long d = extGCD(b, a%b, y, x);
    y -= a/b * x;
    return d;
}

ll comb(ll m, ll n) {
    if (m < n) {return 0;}
    if (n == 0) { return 1;}
    if (n == 1) { return m;}

    ll ret = 1;
    rep(i, n) {ret *= m-i;}
    rep(i, n) {ret /= i+1;}

    return ret % 3;
}

ll lucas(ll m, ll n) {
    if (m < n) {return 0;}
    if (n == 0) { return 1;}
    if (n == 1) { return m;}

    ll ret = 1;
    // cout << m << n << endl;
    while (m > 0) {
        auto c = m % 3;
        auto d = n % 3;
        ret *= comb(c, d);
        ret %= 3;
        m /= 3;
        n /= 3;
        // cout << ret << endl;
    }
    
    return ret % 3;
}



int main()
{   
    ll n;
    cin >> n;
    vector<ll> cn(n);
    string s;
    cin >> s;
    rep(i, n) {
        char c = s[i];
        if (c == 'B') cn[i] = 0;
        if (c == 'W') cn[i] = 1;
        if (c == 'R') cn[i] = 2;
    }
    
    // cout << "ll" << endl;
    ll ans = 0;
    // show_v(cn);
    rep(i, n) {
        ans += lucas(n-1, i) * cn[i] + 3;
        // cout << lucas(n-1, i) * cn[i] << endl;
        ans %= 3;
    }

    if (n % 2 == 0) { ans = 3 - (ans% 3);}
    ans %= 3;

    // cout << ans << endl;
    if (ans == 0) cout << 'B' << endl;
    if (ans == 1) cout << 'W' << endl;
    if (ans == 2) cout << 'R' << endl;
    return 0;
}