#include <bits/stdc++.h>
using namespace std;
bool Z[2000005], Y[2000005];
char A[1000005];
int B[1000005], s = 1000000, C[1000005], fin, ctos;
int esta = -1, res = 0, va = 0, ult = 0, mas = 0, en = 1, saca = 0, mejor = 0,
    tiene = 0;
void aslo() {
  B[0] = -1;
  for (int i = 1; i <= ctos; i++) {
    B[i] = B[i - 1] + 1;
    if (A[i] == 'L') B[i] = B[i - 1] - 1;
    if (B[i] > mas) {
      mas = B[i];
      en = i;
      saca = B[i];
    }
    if (B[i] < saca) saca = B[i];
  }
  for (int i = ctos; i > 0; i--) {
    --tiene;
    if (A[i] == 'L') tiene += 2;
    if (tiene < 0) tiene = 0;
    C[i] = C[i + 1];
    if (tiene > C[i]) C[i] = tiene;
  }
  fin = mas - B[ctos];
  if (A[ctos + 1] == 'L') {
    for (int i = 1; i <= ctos; i++) {
      ++esta;
      if (A[i] == 'L') esta -= 2;
      if (esta < ult) ult = esta;
      Y[esta + s] = true;
      if (!Y[esta + 1 + s] and A[i + 1] == 'R' and C[i] == fin and
          esta - fin <= ult)
        ++res;
    }
  }
}
int main() {
  A[1] = 'R';
  scanf("%s", A + 2);
  va = 0;
  for (ctos = 2; A[ctos] != '\0' and A[ctos] != '\n'; ctos++) {
    Z[va + s] = true;
    ++va;
    if (A[ctos] == 'L') va -= 2;
  }
  --ctos;
  if (!Z[va + s]) {
    printf("1\n");
    return 0;
  }
  if (A[ctos] == 'L') {
    --ctos;
    aslo();
  } else {
    for (int i = 2; i <= ctos; i++) {
      if (A[i] == 'L')
        A[i] = 'R';
      else
        A[i] = 'L';
    }
    --ctos;
    aslo();
  }
  printf("%d\n", res);
  return 0;
}
