#include <bits/stdc++.h>
using namespace std;
const long long INF = 1LL << 58;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
template <typename T>
void remove(T &vector, unsigned int index) {
  vector.erase(vector.begin() + index);
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  string X;
  cin >> X;
  string s;
  bool flag = true;
  while (flag) {
    for (int i = 0; i < (int)(X.size()); i++) {
      if (X[i] == 'T') {
        if (i - 1 < 0 or X[i - 1] == 'T') s += X[i];
      } else {
        if (i + 1 >= X.size() or X[i + 1] == 'S') s += X[i];
      }
    }
    if (X == s)
      flag = false;
    else {
      X = s;
      s = {};
    }
  }
  cout << s.size() << endl;
  return 0;
}
