#include <iostream>
#include <stack>
#include <deque>
#include <queue>
#include <algorithm>
#include <cmath>
#include <vector>
#include <cstdio>
#include <map>
#include <set>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
#define mp make_pair
#define fi first
#define se second
#define sz(a) a.size()
#define pb push_back
#define fo(i,k,n) for(size_t i=k; (int)i<n; ++i)
#define all(v) sort(v.begin(), v.end())
#define pii <pair<int, int> >
#define it ::iterator
#define forit(it, st) for(it = st.begin(); it!=st.end(); it++)
const int inf = 1e9;

int n, cnt, ss;
string x,cur;
bool ok;
stack<char> st;

int main(){

    //    freopen("input.txt", "r", stdin);
    //    freopen("output.txt", "w", stdout);
    
    cin>>x;
    
    int n = (int)sz(x);
//    fo(i,0,n){
//        if(!st.empty() && st.top() == 'S' && x[i] == 'T')
//            st.pop();
//        else
//            st.push(x[i]);
//    }
//    
//    cout<<sz(st);
//
    
    fo(i,0,n){
        if(x[i] == 'S')
            ss++;
        else{
            if(ss)
                ss--;
            else
                cnt++;
        }
    }
    
    cout<<cnt+ss;
    
    return 0;
}

