int N, M;
int a[NN];
signed main() { char ch; int cnt(0); ll s(0LL);
ios::sync_with_stdio(0);
cin.tie(NULL); cout.tie(NULL);
cin >> N >> M;
f1 (j, 1, N, 1) {
f1 (i, 1, M, 1) {
cin >> ch;
if (ch == 'F') {
a[i]++;
} else {
a[i] = 0;
}
if (a[i] == a[i - 1]) {
cnt++;
} else {
cnt = 1;
}
s = max(s, 1LL * a[i] * cnt);
}
}
cout << s * 3 << endl;
return strcmp("3Fnb!", "3Fnb!");
}
类似维护区间最大连等和 (连续相等的数的和的最大值) 的暴力