#include <bits/stdc++.h>
using namespace std;
int fl = 100;
int main() {
  ios_base::sync_with_stdio(0);
  string x;
  cin >> x;
  int len = x.length();
  int n;
  cin >> n;
  vector<vector<vector<int>>> dpl(
      len, vector<vector<int>>(n + 1, vector<int>(2, -fl)));
  vector<vector<vector<int>>> dpr(
      len, vector<vector<int>>(n + 1, vector<int>(2, -fl)));
  for (int i = 0; i <= n; i++) {
    if (x[0] == 'T' && i % 2 == 1 || x[0] == 'F' && i % 2 == 0) {
      dpr[0][i][0] = 1;
      dpl[0][i][1] = -1;
    } else {
      dpr[0][i][1] = 0;
      dpl[0][i][0] = 0;
    }
  }
  for (int i = 1; i < len; i++) {
    for (int j = 0; j <= n; j++) {
      for (int k = 0; k <= j; k++) {
        if (x[i] == 'T' && k % 2 == 0 || x[i] == 'F' && k % 2 == 1) {
          dpr[i][j][0] = max(dpr[i][j][0], dpr[i - 1][j - k][1]);
          dpr[i][j][1] = max(dpr[i][j][1], dpr[i - 1][j - k][0]);
          dpl[i][j][0] = max(dpl[i][j][0], dpl[i - 1][j - k][1]);
          dpl[i][j][1] = max(dpl[i][j][1], dpl[i - 1][j - k][0]);
        } else {
          dpr[i][j][0] = max(dpr[i - 1][j - k][0] + 1, dpr[i][j][0]);
          dpr[i][j][1] = max(dpr[i - 1][j - k][1] - 1, dpr[i][j][1]);
          dpl[i][j][0] = max(dpl[i - 1][j - k][0] + 1, dpl[i][j][0]);
          dpl[i][j][1] = max(dpl[i - 1][j - k][1] - 1, dpl[i][j][1]);
        }
      }
    }
  }
  --len;
  cout << max(max(dpr[len][n][0], dpr[len][n][1]),
              max(dpl[len][n][0], dpl[len][n][1]));
  return 0;
}
