#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ll long long
int main(){
  ll n,ans;
  string s;
  cin >> n >> s;
  ans=n;
  for(ll i=0;i<n-2;i++){
    if(s.at(i)=='f' && s.at(i+1)=='o' && s.at(i+2)=='x'){
      s=s.erase(i,3);
      n-=3;
      ans-=3;
      if(i>0){
        i-=2;
      }
      if(i>1){
        i--;
      }
    }
  }
  cout << ans;
}
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;
#define al(a) a.begin(), a.end()
#define ral(a) a.rbegin(), a.rend()
#define sz(a) (int)a.size()

int main() {
  int n;
  cin >> n;
  string s;
  cin >> s;
  string ans;
  for (char c : s) {
    ans += c;
    // substr(最後の3文字前から最後まで)第一引数だけだと指定場所から最後まで
    if (sz(ans) >= 3 && ans.substr(sz(ans) - 3) == "fox") {
      //後ろから3文字消去方法
      ans.erase(ans.begin() + (sz(ans) - 3), ans.end());
    }
  }
  cout << sz(ans) << endl;
}

// stackの得意分野
// const string fox = "fox";
// int main() {
//   int n;
//   cin >> n;
//   string s;
//   cin >> s;
//   stack<char> st;
// //   cout << sz(st) << endl;
//   for (int i = 0; i < n; ++i) {
//     st.push(s[i]);
//     if (sz(st) >= 3 && s[i] == 'x') { // 2以上ではなく　既にpushなので3以上
//       string t;
//       for (int j = 0; j < 3; ++j) {
//         t = st.top() + t;
//         st.pop();
//       }
//       if (fox != t) {
//         for (int j = 0; j < 3; ++j) { st.push(t[j]); }
//       }
//       // stack不慣れ
//       //   char o = st.top();
//       //   st.pop();
//       //   char f = st.top();
//       //   st.pop();
//       //   if (o != 'o' || f != 'f') {
//       //     st.push(f);
//       //     st.push(o);
//       //     st.push(s[i]);
//       //   }
//     }
//   }
//   cout << sz(st) << endl;
// }

// fを数えとけばいい? ダメ　fofoxx　このパターン　
// int main() {
//   int n;
//   cin >> n;
//   string s;
//   cin >> s;
//   int cntf = 0, ans = 0;
//   for (int i = 0; i < n; ++i) {
//     if (s[i] == 'f')
//       cntf++;
//     else if (s[i] == 'o' && cntf) { //文字列は配列外参照+1までは良いはず
//       if (s[i + 1] == 'x') {
//         cntf--;
//         i++;
//       }
//       else {
//         ans += cntf + 1;
//         cntf = 0;
//       }
//     }
//     else {
//       ans += cntf + 1;
//       cntf = 0;
//     }
//   }
//   if (s.back() == 'f') ans += cntf;
//   cout << ans << endl;
//   return 0;
// }