#include using namespace std; using ll = long long; constexpr ll mod = 998244353; template struct Mint { using M=Mint; ll v; M& put(ll x) { v=(x>=1; } return res; } M inv() { return pow(mod-2); } }; using mint = Mint; int main(){ cin.tie(0); cin.sync_with_stdio(0); int n; string s; cin >> n >> s; vector dp(5, -1e9); dp[0] = 0; for(int i = 0; i < n; ++i){ vector nex(5, -1e9); nex[0] = *max_element(dp.begin(), dp.end()); if(s.substr(i, 3) == "CPC" || s[i] == 'F'){ nex[0] = max(nex[0], dp[4] + 1); } string t = "CPCT"; for(int j = 0; j < 4; ++j){ if(s[i] == t[j]){ nex[j + 1] = max(nex[j + 1], dp[j]); } } swap(nex, dp); } cout << *max_element(dp.begin(), dp.end()) << endl; }