#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <string>
#include <sstream>
#include <complex>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#include <assert.h>
using namespace std;

#define COUT(x) cout << x << endl
#define CIN(x) cin >> x
#define FOR(i, a, b) for (int i = a; i < b; i++)
#define REP(i, n) FOR(i, 0, n)
#define SORT(c) sort(c.begin(), c.end())
#define ERASEUNIQE(v) v.erase(unique(v.begin(), v.end()), v.end())

// conversion
inline int toInt(string s)
{
  int v;
  istringstream sin(s);
  sin >> v;
  return v;
}
template <class T>
inline string toString(T x)
{
  ostringstream sout;
  sout << x;
  return sout.str();
}

template<class T> bool contain(const string& s, const T& v) {
  return s.find(v) != string::npos;
}

// math
template <class T>
inline T sqr(T x) { return x * x; }

// typedef
typedef long long LL;
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> PII;

// container util
#define ALL(c) c.begin(), c.end()
#define RALL(c) c.rbegin(), c.rend()

// constant
const double EPS = 1e-10;
const double PI = acos(-1.0);

// debug
#define dump(x) cerr << #x << " = " << x << endl;
#define debug(x) cerr << #x << " = " << x << " (L" << __LINE__ << ")"   \
  << " " << __FILE__ << endl;

// clear memory
#define CLR(a) memset((a), 0, sizeof(a))

int dx[] = {0, 1, 0, -1};
int dy[] = {1, 0, -1, 0};

template<class T> class matrix {
public:
  vector< vector<T> > elm;
  int height, width;
  matrix():height(0), width(0){};
  matrix(int h, int w):height(h), width(w) {
    elm.resize(h,vector<T>(w, 0));
  }
  matrix<T> operator + (const matrix &m)const{
    matrix<T> ret(this->height,this->width);
    ret.elm = this->elm;
    REP(i,height) REP(j,width) ret.elm[i][j] += m.elm[i][j];
    return ret;
  }
  matrix<T> operator - (const matrix &m)const{
    matrix<T> ret(this->height,this->width);
    ret.elm = this->elm;
    REP(i,height) REP(j,width) ret.elm[i][j] -= m.elm[i][j];
    return ret;
  }
  matrix<T> operator / (const T &number)const{
    matrix<T> ret(this->height,this->width);
    ret.elm = this->elm;
    REP(i,height) REP(j,width) ret.elm[i][j] /= number;
    return ret;
  }
  matrix<T> operator * (const double &number)const{
    matrix<T> ret(this->height,this->width);
    ret.elm = this->elm;
    REP(i,height) REP(j,width) ret.elm[i][j] *= number;
    return ret;
  }
  void output(){
    REP(i,height) {
      REP(j,width) {
        if(j)cout<<" ";
        cout<<elm[i][j];
      }
      cout<<endl;
    }
  }
  matrix<T> tern(){
    matrix<T> ret(width,height);
    REP(i,height) REP(j,width) ret.elm[j][i] = elm[i][j];
    return ret;
  }
  matrix<T> inv(){
    assert(height == width);
    int N = height;

    matrix<T> mat(height,width*2);
    REP(i,N) REP(j,N) mat.elm[i][j] = this->elm[i][j];
    REP(i,N) mat.elm[i][width+i] = 1;

    double div;
    REP(i,N) {
      int pivot = i;
      REP(j,N) {
        if( abs(mat.elm[pivot][i]) < abs(mat.elm[j][i]) )pivot = j;
      }
      swap( mat.elm[i],mat.elm[pivot] );

      div = mat.elm[i][i];
      REP(j,N*2) mat.elm[i][j] /=div;
      REP(ii,N) {
        if(i==ii) continue;
        double k = mat.elm[ii][i];
        REP(j,N*2) {
          mat.elm[ii][j] -= k*mat.elm[i][j];
        }
      }
    }

    matrix<T> ret(N,N);

    REP(i,N) copy(mat.elm[i].begin()+N,mat.elm[i].end(),ret.elm[i].begin());
    REP(i,N) if(mat.elm[i][i]!=1) return matrix<T>(0,0);
    return ret;
  }
};

int main(int argc, char const *argv[])
{
  int n, red = 0, blue = 0;
  string s;
  cin >> n >> s;
  REP(i, n) {
    if(s[i] == 'R') red++;
    else blue++;
  }
  if(red > blue) cout << "Yes" << endl;
  else cout << "No" << endl;
  return 0;
}


Measured memory_bytes: 256