#include <bits/stdc++.h>
using namespace std;
const int N = 300300;
int lo[3], hi[3];
int p[N], c[N];
char tmp[6];
int main() {
  int n;
  scanf("%d", &n);
  lo[0] = lo[1] = lo[2] = -1;
  hi[0] = hi[1] = hi[2] = -1;
  for (int i = (0); i <= (int(n) - 1); ++i) {
    scanf("%d%s", &p[i], tmp);
    c[i] = tmp[0] == 'G' ? 0 : tmp[0] == 'R' ? 1 : 2;
    if (lo[c[i]] == -1) lo[c[i]] = i;
    hi[c[i]] = i;
  }
  if (lo[0] == -1) {
    int res = 0;
    if (lo[1] != -1) res += p[hi[1]] - p[lo[1]];
    if (lo[2] != -1) res += p[hi[2]] - p[lo[2]];
    printf("%d\n", res);
    return 0;
  }
  int res = 0;
  for (int i = (1); i <= (2); ++i) {
    if (lo[i] != -1 && lo[i] < lo[0]) res += p[lo[0]] - p[lo[i]];
    if (hi[i] != -1 && hi[i] > hi[0]) res += p[hi[i]] - p[hi[0]];
  }
  int la = lo[0];
  for (int i = lo[0] + 1; i <= hi[0]; i++) {
    if (c[i] == 0) {
      int xle = p[la], xri = p[i];
      int l[3] = {0, xle, xle}, mx[3] = {0, 0, 0}, f[3] = {0, 0, 0};
      for (int j = la + 1; j < i; j++) {
        f[c[j]] = 1;
        mx[c[j]] = max(mx[c[j]], p[j] - l[c[j]]);
        l[c[j]] = p[j];
      }
      for (int j = (1); j <= (2); ++j) mx[j] = max(mx[j], p[i] - l[j]);
      if (f[1] && f[2] && 2 * (xri - xle) < 3 * (xri - xle) - mx[1] - mx[2]) {
        res += 2 * (xri - xle);
      } else {
        res += 3 * (xri - xle) - mx[1] - mx[2];
      }
      la = i;
    }
  }
  printf("%d\n", res);
  return 0;
}
