#include <bits/stdc++.h>
using namespace std;
int n, res;
int s[1000005], f_max[1000005], f_min[1000005], g_min[1000005];
int g[1000005], h_min[1000005], f[1000005];
char c[1000005];
bool sign[1000005][2];
vector<int> a, b;
void init() {
  int x, i;
  a.clear();
  b.clear();
  for (i = 1; i <= n; i++) {
    if (c[i] == 'L' && c[i - 1] == 'R') a.push_back(i);
  }
  f_max[n + 1] = -1000000000;
  f_min[n + 1] = 1000000000;
  g_min[0] = 0;
  h_min[n + 1] = 1000000000;
  for (i = n; i >= 1; i--) {
    f_max[i] = max(f_max[i + 1], s[i]);
    f_min[i] = min(f_min[i + 1], s[i]);
    if (h_min[i + 1] < g[i]) {
      h_min[i] = h_min[i + 1];
      f[i] = f[i + 1];
    } else if (h_min[i + 1] == g[i]) {
      h_min[i] = g[i];
      f[i] = f[i + 1] + 1;
    } else {
      h_min[i] = g[i];
      f[i] = 1;
    }
  }
  for (i = 1; i <= n; i++) g_min[i] = min(g_min[i - 1], s[i]);
  for (i = 0; i < a.size(); i++) {
    x = a[i];
    if (f_max[x] - s[x - 1] <= 0) b.push_back(x);
  }
  a.clear();
  a = b;
}
void check() {
  int i, pos, cnt = 0, now = 0, x = 0;
  for (i = 1; i <= n; i++) {
    if (c[i] == 'L')
      s[i] = s[i - 1] - 1;
    else
      s[i] = s[i - 1] + 1;
    if (c[i] == 'L')
      g[i] = g[i - 1] - 1;
    else {
      if (g[i - 1] < 0)
        g[i] = g[i - 1] + 1;
      else
        g[i] = 0;
    }
  }
  init();
  for (pos = 1; pos <= n; pos++) {
    while (cnt <= n && s[cnt] < pos) cnt++;
    if (cnt == n + 1) break;
    while (now < a.size() && a[now] <= cnt) now++;
    if (now == a.size()) break;
    if (f_min[a[now]] == s[n] &&
        pos - 1 + s[n] - s[a[now] - 1] < g_min[cnt - 1] &&
        pos - 1 + s[n] - s[a[now] - 1] == h_min[cnt] + pos - 1 && f[cnt] == 1)
      res++;
  }
}
int main() {
  int i, x = 0, y, z;
  bool have = false;
  scanf("%s", c + 1);
  c[0] = 'R';
  n = strlen(c + 1);
  sign[0][0] = true;
  for (i = 1; i <= n; i++) {
    if (c[i] == 'L')
      x--;
    else
      x++;
    if (x < 0) {
      y = -x;
      z = 1;
    } else {
      y = x;
      z = 0;
    }
    if (sign[y][z] == true)
      have = false;
    else {
      have = true;
      sign[y][z] = true;
    }
  }
  if (have) {
    printf("1\n");
    return 0;
  }
  check();
  for (i = 1; i <= n; i++) {
    if (c[i] == 'R')
      c[i] = 'L';
    else
      c[i] = 'R';
  }
  check();
  printf("%d\n", res);
  return 0;
}
