#include <bits/stdc++.h>
using namespace std;
const int N = 100100;
char cr[N];
int arr[N];
int main() {
  int n;
  scanf("%d\n", &n);
  long long ans = 0;
  long long lastG = -1, lastR = -1, lastB = -1;
  long long auxB = -1, auxR = -1;
  long long maxb = 0, maxr = 0;
  long long x;
  char c;
  bool a1, a2;
  long long mm, mn;
  for (int i = 0; i < n; i++) {
    scanf("%lld %c", &x, &c);
    x += (long long)1e9 + 100;
    if (i == 0) mn = x;
    if (i == n - 1) mm = x;
    if (c == 'R') a1 = 1;
    if (c == 'B') a2 = 1;
    if (c == 'P') {
      if (lastG != -1) {
        maxb = max(maxb, x - lastB);
        maxr = max(maxr, x - lastR);
        if (lastR == -1 && lastB != -1)
          ans += (2LL * (x - lastG) - maxb);
        else if (lastR == -1 && lastB == -1)
          ans += x - lastG;
        else if (lastB == -1 && lastR != -1)
          ans += (2LL * (x - lastG) - maxr);
        else
          ans += min(2LL * (x - lastG), 3LL * (x - lastG) - maxb - maxr);
      } else {
        if (lastR != -1) ans += x - auxR;
        if (lastB != -1) ans += x - auxB;
      }
      maxr = maxb = 0;
      lastR = lastB = -1;
      lastG = x;
    } else if (c == 'B') {
      if (lastB == -1)
        maxb = x - lastG;
      else
        maxb = max(maxb, x - lastB);
      lastB = x;
      if (auxB == -1) auxB = x;
    } else {
      if (lastR == -1)
        maxr = x - lastG;
      else
        maxr = max(maxr, x - lastR);
      lastR = x;
      if (auxR == -1) auxR = x;
    }
  }
  if (lastG != -1) {
    if (lastR != -1) ans += lastR - lastG;
    if (lastB != -1) ans += lastB - lastG;
  } else {
    if (auxR) ans += lastR - auxR;
    if (auxB) ans += lastB - auxB;
  }
  if (a1 != a2) {
    ans = mm - mn;
  }
  printf("%lld\n", ans);
  return 0;
}
