#!/usr/bin/env ruby

def split(s)
  x = s[0]
  i = 0
  a = []
  
  s.each do |c|
    if c != x then
      a.push([x, i])
      x = c
      i = 1
    else
      i += 1
    end
  end
  
  a.push([x, i])
  
  return a
end

def remove(a)
  (a.size - 1).times do |i|
    if (a[i][0] == 'S') && (a[i+1][0] == 'T') then
      m = [a[i+0][1], a[i+1][1]].min
      a[i+0][1] -= m
      a[i+1][1] -= m
    end
  end
  
  i = 0
  while i < a.size do
    if a[i][1] == 0 then
      a.slice!(i, 1)
    else
      i += 1
    end
  end
  
  i = 0
  while i < (a.size - 1) do
    if a[i+0][0] == a[i+1][0] then
      a[i+0][1] += a[i+1][1]
      a.slice!(i+1, 1)
    else
      i += 1
    end
  end
  
  return a
end

def count(a)
  s = 0
  a.each do |c, n|
    s += n
  end
  return s
end

def solve(s)
  a = split(s)
  
  while true
    b = remove(a.dup)
    
    if a.size == b.size then
      break
    end
    
    a = b
  end
  
  return count(a)
end

def main(argv)
  s = STDIN.gets.chomp.split('')

  STDOUT.puts solve(s).to_s
end

if self.to_s == 'main' then
  main(ARGV)
end
